Возможные причины медленного запуска Silverlight - PullRequest
2 голосов
/ 16 февраля 2012

У меня есть приложение Silverlight, которое загружается из IIS очень медленно.Когда я отлаживаю, загрузка занимает около 5 секунд, а с сервера - более минуты.Размер xap составляет всего 8 МБ, что мне не кажется особенно большим, и хотя я слышал, как другие говорили об уменьшении объема мультимедиа в xap, мое приложение содержит только три иконки с низким разрешением, которых должно быть немноговлияние.Я проверил это с подключений к Интернету от ~ 10 Мбит / с до ~ 24 Мбит / с, и, кажется, нет большой разницы.Из-за частых изменений я отключил кэширование приложений, чтобы обновления проходили, но разрешить кэширование все равно не поможет 1-2-минутная загрузка для начинающих пользователей (не совсем хорошее первое впечатление).

Нет необходимостискажем, это оставило мне несколько вопросов:

  • Похоже ли это на проблему с аппаратным обеспечением / IIS или что-то, что я контролирую со стороны приложений.
  • Является ли файл xap размером 8 МБ больше, чем обычный xap?
  • Что может вызвать разницу между временем загрузки отладки и развернутым временем загрузки?
  • Я не могу себе представить, что это так, но можно ли ожидать 1-минутного запуска?

Ответы [ 4 ]

2 голосов
/ 16 февраля 2012

Вы следуете лучшим практикам ?

1 голос
/ 16 февраля 2012
  1. Это не похоже на проблему с оборудованием / IIS.Обслуживание 8 МБ - это просто.
  2. Является ли файл xap 8 МБ больше, чем обычный xap?Это звучит довольно сильно для меня.Переименуйте файл xap с расширением zip и посмотрите, что внутри.
  3. Что может вызвать разницу между временем загрузки отладки и временем развертывания?Это практически все сетевые звонки.Запустите скрипач и наблюдайте за ними.Fiddler также может моделировать различные скорости модема.
1 голос
/ 16 февраля 2012

Размер файла 8 МБ довольно большой для файла xap. Я читал, что некоторые люди могут уменьшить размер xaps до 250 тыс. Даже для приложений, интенсивно использующих графику ... но вам нужно многое сделать, чтобы уменьшить размер, например, как-то динамически загружать изображения или видео из-за пределов xap. Я не знаю, как это сделать, но это не твоя проблема.

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

Я обнаружил, что если я просто удалил неиспользуемые ссылки, он уменьшил размеры xap с 8 МБ до 3 с половиной (что все еще тяжело, но не так плохо, как 8). Я также просмотрел dll-ссылки, которые использовал только в нескольких местах или, может быть, в одном месте, и попытался выяснить, могу ли я просто реализовать эту функцию иначе, чем использовать другую ссылку на проект. Я говорю вам, ссылки заставляют xaps быстро набирать вес!

У вас может не быть лишних ненужных ссылок в вашем проекте ... но это хорошее место, чтобы посмотреть, чтобы убедиться.

1 голос
/ 16 февраля 2012

8 МБ довольно большой.Я думаю, это потому, что у вас есть много шрифтов или видео или изображений, которые упакованы внутри этого файла.Они - первое, что вам нужно минимизировать, если вам нужно, чтобы оно работало.Есть много других причин, по которым приложение может быть маленьким, но эти элементы могут быть использованы, чтобы заставить кого-то плакать!

...