Производительность
Пользователи ожидают, что их приложения будут оставаться адаптивными, чувствовать себя естественными, а не слив батареи. Технически производительность является нефункциональным требованием, но обработка производительности как функции поможет вам обеспечить ожидания пользователей. Указание целей и измерение являются ключевыми факторами. Определение критически важных сценариев производительности; определите, что означает хорошая производительность. Затем измеряйте рано и часто на протяжении всего жизненного цикла проекта, чтобы быть уверенным, что вы достигнете ваших целей. В этом разделе показано, как упорядочить рабочий процесс производительности, исправить сбои анимации и проблемы частоты кадров, а также настроить время запуска, время навигации по страницам и использование памяти.
Для улучшения производительности просто перенесите свое приложение в Windows 10, если вы еще этого не сделали. Некоторые возможности оптимизации XAML (например, {x:Bind}) доступны только в приложениях Windows 10. См. статью Перенос приложений в Windows 10 и материалы мероприятия //build/ "Переход на универсальную платформу Windows".
Раздел | Описание |
---|---|
Планирование производительности | Пользователи ожидают, что их приложения будут оставаться адаптивными, чувствовать себя естественными, а не слив батареи. Технически производительность является нефункциональным требованием, но обработка производительности как функции поможет вам обеспечить ожидания пользователей. Указание целей и измерение являются ключевыми факторами. Определение критически важных сценариев производительности; определите, что означает хорошая производительность. Затем измеряйте рано и часто на протяжении всего жизненного цикла проекта, чтобы быть уверенным, что вы достигнете своих целей. |
Оптимизация фоновой активности | Создайте приложения UWP, работающие с системой, чтобы использовать фоновые задачи в эффективном режиме батареи. |
Оптимизация пользовательского интерфейса ListView и GridView | Повышение производительности GridView и времени запуска с помощью виртуализации пользовательского интерфейса, уменьшения элементов и постепенного обновления элементов. |
Виртуализация данных ListView и GridView | Повышение производительности GridView и времени запуска с помощью виртуализации данных. |
Улучшение производительности сборки мусора | приложения универсальная платформа Windows (UWP), написанные на C# и Visual Basic, получают автоматическое управление памятью от сборщика мусора .NET. В этом разделе приведены рекомендации по поведению и производительности сборщика мусора .NET в приложениях UWP. |
Сохранение отклика потока пользовательского интерфейса | Пользователи ожидают, что приложение будет реагировать во время выполнения вычислений независимо от типа компьютера. Это означает разные вещи для разных приложений. Для некоторых это приводит к обеспечению более реалистичной физики, загрузке данных с диска или в Интернете быстрее, быстрому представлению сложных сцен и переходу между страницами, поиску направлений в оснастке или быстрой обработке данных. Независимо от типа вычислений, пользователи хотят, чтобы приложение действовало на входных данных и устраняло экземпляры, в которых оно не отвечает, пока оно "думает". |
Оптимизация разметки XAML | Анализ разметки XAML для создания объектов в памяти занимает много времени для сложного пользовательского интерфейса. Ниже приведены некоторые действия, которые можно сделать, чтобы улучшить анализ разметки XAML и время загрузки и эффективность памяти для приложения. |
Оптимизация макета XAML | Макет может быть дорогой частью приложения XAML как в использовании ЦП, так и в нагрузке на память. Ниже приведены некоторые простые шаги, которые можно предпринять для повышения производительности макета приложения XAML. |
Советы по повышению производительности с помощью MVVM и языка программирования | В этом разделе рассматриваются некоторые рекомендации по повышению производительности, связанные с выбором шаблонов проектирования программного обеспечения и языка программирования. |
Рекомендации по повышению производительности запуска приложения | Создавайте приложения UWP с оптимальным временем запуска, повышая способ запуска и активации. |
Оптимизация анимаций, мультимедиа и изображений | Создавайте приложения универсальная платформа Windows (UWP) с плавной анимацией, высокой частотой кадров и высокопроизводительными захватами и воспроизведением мультимедиа. |
Оптимизация времени приостановки и возобновления работы | Создайте приложения UWP, которые упрощают использование системы времени существования процесса для эффективного возобновления после приостановки или прекращения работы. |
Оптимизация доступа к файлам | Создавайте приложения UWP, которые эффективно обращаются к файловой системе, избегая проблем с производительностью из-за задержки диска и циклов ЦП и памяти. |
Компоненты среды выполнения Windows и оптимизация взаимодействия | Создавайте приложения UWP, использующие компоненты UWP и взаимодействие между собственными и управляемыми типами, избегая проблем с производительностью взаимодействия. |
Инструменты для профилирования и повышения производительности | Корпорация Майкрософт предоставляет несколько средств для повышения производительности приложения UWP. |