Планирование производительности приложений
Успех достижения целей производительности зависит от того, насколько хорошо вы разрабатываете стратегию производительности. Планирование — это первый этап разработки любого продукта. В этом разделе описывается несколько очень простых правил для разработки хорошей стратегии производительности.
Думайте с точки зрения сценариев
Сценарии помогут сосредоточиться на критически важных компонентах приложения. Сценарии, как правило, основаны на ваших клиентах и конкурентных продуктах. Всегда изучайте ваших клиентов и узнайте, что действительно делает их заинтересованными в вашем продукте и продуктах ваших конкурентов. Отзывы клиентов помогут вам определить основной сценарий приложения. Например, если вы разрабатываете компонент, который будет использоваться при запуске, скорее всего, компонент будет вызываться только один раз, когда приложение запускается. Время запуска становится ключевым сценарием. Другие примеры ключевых сценариев могут быть требуемой частотой кадров для последовательностей анимации или максимальным рабочим набором, разрешенным для приложения.
Определение целей
Цели помогают определить, выполняется ли приложение быстрее или медленнее. Необходимо определить цели для всех сценариев. Все цели производительности, которые вы определяете, должны основываться на ожиданиях клиентов. В начале цикла разработки приложений может быть трудно задать цели производительности, когда по-прежнему существует множество неразрешенных проблем. Однако лучше задать начальную цель и пересмотреть ее позже, чем не иметь цели вообще.
Общие сведения о платформе
Всегда поддерживать цикл измерения, исследования, уточнения и исправления во время цикла разработки приложений. Начиная с конца цикла разработки необходимо измерять производительность приложения в надежной стабильной среде. Следует избегать изменчивости, вызванной внешними факторами. Например, при тестировании производительности следует отключить антивирусную систему или любое автоматическое обновление, например SMS, чтобы не влиять на результаты теста производительности. После измерения производительности приложения необходимо определить изменения, которые приведут к самым большим улучшениям. После изменения приложения запустите цикл снова.
Создание итеративного процесса настройки производительности
Вы должны знать относительную стоимость каждой функции, которая будет использоваться. Например, использование отражения в Microsoft .NET Framework обычно является интенсивным с точки зрения вычислительных ресурсов, поэтому вы хотите использовать его разумно. Это не значит, что нужно избегать использования рефлексии, только то, что нужно быть осторожным, чтобы сбалансировать требования к производительности вашего приложения с требованиями используемых функций.
Стремитесь к графическому богатству
Ключевой техникой создания масштабируемого подхода к достижению производительности приложений WPF является стремление к графическому богатству и сложности. Всегда начинайте с использования наименее интенсивных ресурсов производительности для достижения целей сценария. После достижения этих целей стремитесь к графическому богатству, используя более ресурсоёмкие функции, всегда держа в уме цели сценария. Помните, WPF является чрезвычайно мощной платформой и предлагает богатые графические функции. Использование интенсивных функций производительности без мышления может негативно повлиять на общую производительность приложения.
Элементы управления WPF по сути расширяемы, позволяя настраивать внешний вид в широком масштабе, не изменяя поведение элемента управления. Используя преимущества стилей, шаблонов данных и шаблонов элементов управления, вы можете создавать и постепенно развивать настраиваемый пользовательский интерфейс, адаптируемый к требованиям к производительности.
См. также
.NET Desktop feedback