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