Уменьшите размер XAP с помощью кэширования библиотеки приложений
Преимущества
Это уменьшает размер XAP, позволяя тем библиотекам, для которых настроен файл dllname .extmap.xml
, помещаться в отдельные zip-файлы. Эти zip-файлы будут запрошены при начальной загрузке XAP.
Преимущество заключается в двух сценариях. Во-первых, если вы обновляете свой код и перестраиваете XAP большую часть времени, единственное, что меняется, это XAP, zip-файлы остаются без изменений. Следовательно, когда клиент повторно посещает ваше приложение и ему необходимо загрузить последнюю версию, вполне может быть, что только XAP-файл извлекается, а zip-файлы одинаково доставляются из кэша браузера (вероятно, после ответа «304 Not Modified» с сервера ).
В другом сценарии на вашем сайте есть несколько SL-приложений. Они будут использовать одни и те же почтовые индексы, и поэтому общая загрузка для нескольких приложений значительно уменьшится.
Недостатки
Для одноразового приложения первое посещение клиента будет по меньшей мере столь же дорогим, если не более дорогим, чем все библиотеки, хранящиеся в XAP. В некоторых случаях (большое количество уникальных посетителей сайта с одним приложением) может быть более желательно сохранить один XAP, особенно если сам XAP не меняется так часто.
Если существует несколько XAP, совместно использующих один и тот же набор библиотечных архивов, существует опасность «DLL Hell». Потенциально кто-то может обновить XAP, который использует более новые версии библиотек, с которыми другие XAPS не были протестированы, и непреднамеренно нарушить все остальные XAPS. Есть хорошие методы, которые могут устранить эту проблему, но это требует немного больше усилий, чем нажатие на флажок.
Заключение
В свете, в частности, второго недостатка, я думаю, что был разумный выбор не включать эту функцию по умолчанию.
Использование ускорения графического процессора
Я не буду вдаваться в достоинства / недостатки этого. Просто ответьте, почему он выключен по умолчанию.
Вы не получаете никакого преимущества, просто включив его, вам нужно включить, какие элементы в XAML будут использовать его через свойство CacheMode
. Кроме того, в зависимости от того, что вы делаете, это может не принести вам никаких преимуществ.
Простое его включение потребует дополнительных ресурсов, таких как видеопамять, этого не произойдет, если вы специально не используете CacheMode
по крайней мере где-то в своем приложении и, надеюсь, там, где это будет иметь реальное значение , Также возможно ошибиться и усугубить ситуацию.