Оптимизация производительности: Использование преимуществ оборудования
Внутренняя архитектура WPF имеет два конвейера отрисовки, оборудования и программного обеспечения. В этом разделе сведения об этих конвейера отрисовки для принятия решений об оптимизации производительности приложений.
Аппаратный конвейер отрисовки
Одним из наиболее важных факторов при определении WPF производительности является его границу просмотра — больше пикселей, у вас есть для подготовки к просмотру, тем выше производительность. Тем не менее, можно разгрузить отрисовки, чем графический процессор (GPU), получит больший выигрыш в производительности. WPF Аппаратный конвейер отрисовки приложения использует все преимущества Microsoft DirectX функции на оборудовании, которое поддерживает как минимум Microsoft DirectX версии 7.0. Дополнительные оптимизации, которые могут быть получены, оборудование, поддерживающее Microsoft DirectX версии 7.0 и PixelShader 2.0 + компонентов.
Программный конвейер отрисовки
WPF Программного конвейера визуализации полностью ограничен ресурсами ЦП. WPF Использование инструкций SSE и SSE2 задает в ЦП для реализации растеризации оптимизированного, полнофункциональной программного обеспечения. К программному обеспечению, осуществляется плавный переход каждый раз, когда невозможно функциональных возможностей приложения, используя Аппаратный конвейер отрисовки.
Основные проблемы производительности возникают в режиме программного обеспечения связаны со скоростью заполнения, которая определяется как число пикселей, на которые выполняется подготовка к просмотру. Если вы беспокоитесь о производительности в режиме программной отрисовки, попробуйте минимизировать количество раз, когда пиксель перерисовывается. Например если у вас есть приложение с синим фоном, над которым отображается частично прозрачное изображение его, будет отображаться все пиксели в приложение дважды. Таким образом потребуется дважды, если для визуализации приложения с помощью образа, чем при использовании только синим фоном.
Уровни графической отрисовки
Возможно, очень сложно предсказать, приложение будет запущено в конфигурации оборудования. Тем не менее может потребоваться рассмотрите вариант проектирования, которая позволяет приложению легко переключение функций при работе на другом оборудовании, благодаря чему он может использовать все преимущества каждой различные аппаратные конфигурации.
Чтобы добиться этого, WPF предоставляет функциональные возможности для определения графических возможностей системы во время выполнения. Возможности работы с графикой, определяется категоризация видеоадаптер как один из трех уровней визуализации. WPF предоставляет API , позволяет приложению запрашивать уровней отрисовки. Приложение может предпринять различные фрагменты кода во время выполнения в зависимости от уровня визуализации, который поддерживается оборудованием.
Ниже перечислены возможности графического оборудования, которые сильнее всего влияют на уровни отрисовки.
Видеопамять. Объем видеопамяти графического оборудования определяет размер и число буферов, которые можно использовать для компоновки графики.
Построитель текстуры. Построитель текстуры — это функция обработки графики, вычисляющая эффекты на уровне пикселей. В зависимости от разрешения отображаемой графики может быть несколько миллионов пикселей, которые необходимо обработать для каждого отображаемого кадра.
Вершинный построитель текстуры. Вершинный построитель текстуры — это функция обработки графики для выполнения математических операций над данными вершин объекта.
Поддержка мультитекстурирования. Поддержка мультитекстурирования относится к возможности применить две и более разных текстур во время операции смешения на объекте трехмерной графики. Степень многотекстурной поддержки определяется числом мультитекстурных модулей на графическом оборудовании.
Построитель текстуры, шейдер вершин и мультитекстурирования используются для определения конкретных DirectX уровни версий, которые, в свою очередь, используются для определения различных уровней отрисовки в WPF.
Возможности графического оборудования определяют возможности отрисовки приложения WPF. Система WPF определяет три уровня отрисовки.
Уровень отрисовки 0. Аппаратное ускорение графики отсутствует. DirectX Версия меньше, чем версии 7.0.
Уровень отрисовки 1 Частичное аппаратное ускорение графики. DirectX Уровень версии больше или равна 7.0, и меньше версии 9.0.
Уровень отрисовки 2. Большинство графических функций используют аппаратное ускорение графики. Уровень версии DirectX больше или равен версии 9.0.
Дополнительные сведения о WPF уровнях отрисовки см. в разделе уровни графической отрисовки.