Posted on 10. September 2010

Счетчики в Silverlight

В предыдущей публикации, я рассказал, что Silverlight приложения работают в двух потока на платформе Windows Phone 7. Но хорошо бы еще и знать как эти потоки используются во время работы приложения. Такая возможность есть. Необходимо включить отображения счетчика кадров:

Application.Current.Host.Settings.EnableFrameRateCounter = true;

Но включив только этот параметр, вы ничего не увидите на дисплее эмулятора. Необходимо еще отключить отображение системного трея, так как по умолчанию он включен. Для этого необходимо установить параметр страницы SystemTray.IsVisible в false. Это можно сделать в XAML коде:

shell:SystemTray.IsVisible="False"

или С#:

this.SetValue(Microsoft.Phone.Shell.SystemTray.IsVisibleProperty, false);

После запуска приложения на эмуляторе появится ряд значений:

image

  1. Счетчик кадров потока компоновщика. Показывает как часто любая из поддерживаемых анимация обновляет интерфейс. В идеале данное значение должно быть как можно ближе к 60.
  2. Счетчик кадров потока интерфейса. Показывает как работает интерфейсный поток. Чем больше значение этого счетчика, тем быстрее будет приложение. Разработчики платформы рекомендуют, что бы значение не опускалось ниже 20 для обеспечения приемлемой скорости взаимодействия с пользователем.
  3. Используемая память для текстур. Показывает объем используемой видео памяти для текстур. Это не общий счетчик использование памяти.
  4. Количество поверхностей. Данный счетчик показывает количество поверхностей, которые обрабатывается с использование GPU.
  5. Количество неявных поверхностей.Существуют промежуточные поверхности, которые создаются в результате кеширования других поверхностей. Промежуточные поверхности создаются между элементами управления и учавствуют в порядке отображения(Z-order).
  6. Счетчик заливки. Отображает количество пикселей, которые были закрашены в кадре в понятии экранов. Данный счетчик присутствует на рельном устройстве.



Posted on 8. August 2010

Руководство по созданию производительных Silverlight приложений для WP7

Компания Microsoft опубликовала документацию по созданию высокопроизводительных приложения для платформы Windows Phone 7.

В сравнении с персональными компьютерами и ноутбуками, Windows Phone 7 устройства более ограничены в производительности CPU и GPU. Для успешной работы Silverlight приложений на Windows Phone 7 были сделаны значительные изменения в графическом ядре Silverlight  технологии и других ее компонентах.

Данный документ содержит трюки, подсказки и примеры, которые вы можете использовать при разработке производительных Silverlight приложений для Windows Phone 7.

Вместе с руководством идет несколько примеров:

  1. FillRateTest;
  2. PerspectiveFillRate;
  3. PerFrameCallBack;
  4. HidingObjects;
  5. LoadingLargeImages;
  6. SplittingAppAcrossDlls.

Руководство находитсяв предварительной версии и возможно оно поменятеся с выходом финальной версии платформы Windows Phone 7.

Скачать Creating High Performance Silverlight Applications for Windows Phone