Подтвердить что ты не робот

Любая причина не проверять "кэширование библиотеки приложений" и "ускорение GPU" в приложениях Silverlight?

При настройке свойств для приложения silverlight я вижу непроверенные поля:

  • Уменьшить размер XAP с помощью кэширования библиотеки приложений
  • Использование ускорения GPU

Меньший размер загрузки и более высокая скорость , что заставляет меня задаться вопросом, почему они не включены по умолчанию.

Каковы недостатки этих вариантов?

4b9b3361

Ответ 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, по крайней мере, где-то в своем приложении, и, надеюсь, там, где это будет иметь реальное значение, Также можно ошибиться и сделать что-то хуже.

Ответ 2

Я полагаю, что обе эти функции были представлены в Silverlight 3. Одной из причин, по которым они должны быть, является поддержка обратной совместимости.

Бывают случаи, когда включение GPU Acceleration может фактически ухудшить производительность или вызвать другие проблемы. Если вы сделаете процесс отказа, вы, скорее всего, заметите последствия (хорошие или плохие), в отличие от настройки, включенной по умолчанию, и задаетесь вопросом, почему у вашего приложения проблемы с производительностью.