Как улучшить время загрузки для отображения данных приложения Silverlight - PullRequest
0 голосов
/ 10 марта 2011

Привет начальной загрузки данных для приложения Silverlight, может занять 6-20 секунд. Мы используем веб-сервис, данные поступают из одной базы данных и загружают транзакции за 2 года. Мы не используем сводные таблицы. Есть идеи по улучшению загрузки? мы не делаем вставку / обновление / удаление, просто отображаем.

Ответы [ 4 ]

0 голосов
/ 10 марта 2011

Конечно, очевидным ответом будет склонение ваших данных к маленьким кусочкам.Для клиентской технологии, такой как Silverlight, мы не можем гарантировать, что каждый пользователь получит лучшие ресурсы, такие как пропускная способность сети, процессор и т. Д. Поэтому мы можем ограничить использование полосы пропускания и эффективно настроить передачу данных, что делает реализацию на стороне сервера более эффективной.важнее, чем SL-клиент.Поэтому я хочу решить все проблемы, связанные с расширяемостью и производительностью, при разработке WebService.Другими общими советами по повышению производительности могут быть:

  • Использовать разбиение на страницы по всему сервису - ваш сервис будет извлекать соответствующий набор информации на основе действий пользователя.
  • При необходимости используйте фоновый поток,Выгрузка данных из Сервиса или любой синтаксический анализ или десериализация могут быть выгружены в поток.
  • Воспринимаемая производительность - Используйте некоторые привлекательные анимации и отображения прогресса загрузки, пока фоновый поток выполняет извлечение данных.Пользователь, несомненно, получит удовольствие, если в опыте есть какой-то ритм, хотя это займет некоторое время.
0 голосов
/ 10 марта 2011

Для Silverlight применяются те же правила, что и для веб-страниц.Вы хотите выложить свои данные.Я бы предложил использовать какую-то структуру подкачки, чтобы не загружать все данные сразу.

0 голосов
/ 10 марта 2011

Одна вещь, на которую стоит обратить внимание, - это загрузка данных в блоках, чтобы вы могли отображать что-то, пока вы уходите, и загружать остальные.

Если вы используете DomainDataSource (в качестве примера), вы можете установить размер загрузкии размер страницы, чтобы сначала получить первые две или три «страницы» данных, а затем, когда пользователь прокручивает данные, загружают остальные.

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

Однако вы можете использовать ObservableCollection, которая позволит вам обновлять и отображать асинхронно.

0 голосов
/ 10 марта 2011

Вам нужно 2 года транзакций прямо при загрузке приложения?Возможно, загрузите только то, что вам нужно, чтобы вызвать пользовательский интерфейс, а затем сделайте «более тяжелый» вызов, чтобы загрузить 2 года транзакций в фоновом режиме.Какой формат данных вашего веб-сервиса?Часто полезная нагрузка json будет намного меньше, чем xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...