Show / Hide Table of Contents

Уровни графической отрисовки

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

Графическое оборудование

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

  • Видеопамять. Объем видеопамяти графического оборудования определяет размер и число буферов, которые можно использовать для компоновки графики.

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

  • Вершинный построитель текстуры. Вершинный построитель текстуры — это функция обработки графики для выполнения математических операций над данными вершин объекта.

  • Поддержка мультитекстурирования. Поддержка мультитекстурирования относится к возможности применить две и более разных текстур во время операции смешения на объекте трехмерной графики. Степень многотекстурной поддержки определяется числом мультитекстурных модулей на графическом оборудовании.

Определения уровней отрисовки

Возможности графического оборудования определяют возможности отрисовки приложения WPF. Система WPF определяет три уровня отрисовки.

  • Уровень отрисовки 0. Аппаратное ускорение графики отсутствует. Все графические возможности реализуются с использованием программного ускорения. Уровень версии DirectX меньше версии 9.0.

  • Уровень отрисовки 1. Некоторые графические функции используют аппаратное ускорение графики. Уровень версии DirectX больше или равен версии 9.0.

  • Уровень отрисовки 2. Большинство графических функций используют аппаратное ускорение графики. Уровень версии DirectX больше или равен версии 9.0.

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

Уровень отрисовки 0

Значение 0 для уровня отрисовки означает, что аппаратное ускорение графики недоступно для приложения на устройстве. На этом уровне нужно исходить из того, что вся графика будет отрисовываться программным обеспечением без аппаратного ускорения. Функциональность этого уровня соответствует версии DirectX меньше 9.0.

Уровень отрисовки 1 и уровень отрисовки 2

Note

Начиная с .NET Framework 4, уровень отрисовки 1 переопределен и включает только графическое оборудование, которое поддерживает DirectX 9.0 и выше. Графическое оборудование, которое поддерживает DirectX 7 или 8, теперь определяется как уровень отрисовки 0.

Отрисовка уровня 1 или 2 означает, что большая часть графических возможностей WPF будет использовать аппаратное ускорение, если необходимые системные ресурсы доступны и не исчерпаны. Это соответствует версии DirectX, которая больше или равна 9.0.

В таблице ниже приводятся различия в требованиях к графическому оборудованию для уровней отрисовки 1 и 2:

Функция Уровень 1 Уровень 2
DirectX version Должно быть больше или равно 9.0. Должно быть больше или равно 9.0.
Видеопамять Должно быть больше или равно 60 МБ. Должно быть больше или равно 120 МБ.
Построитель текстуры Уровень версии должен быть больше или равен версии 2.0. Уровень версии должен быть больше или равен версии 2.0.
Вершинный построитель текстуры Без требований. Уровень версии должен быть больше или равен версии 2.0.
Модули мультитекстурирования Без требований. Число модулей должно быть больше или равно 4.

Следующие функции и возможности обеспечиваются аппаратным ускорением для уровней отрисовки 1 и 2.

Функция Примечания
Двухмерная отрисовка Поддерживается большинство двухмерных отрисовок.
Растеризация 3D Поддерживается большинство трехмерных растеризаций.
Трехмерная анизотропная фильтрация WPF пытается использовать анизотропную фильтрацию при отрисовке трехмерного содержимого. Анизотропная фильтрация используется для повышения качества изображения текстур на удаленных поверхностях, которые находятся под большим углом по отношению к камере.
Трехмерное MIP-сопоставление WPF пытается использовать MIP-сопоставление при отрисовке трехмерного содержимого. MIP-сопоставление повышает качество отрисовки текстуры, если текстура занимает небольшое поле зрения в Viewport3D.
Радиальные градиенты Хотя поддерживается, избегайте использования RadialGradientBrush с крупными объектами.
Вычисления трехмерного освещения WPF выполняет освещение на уровне вершин, это означает, что интенсивность света вычисляется на каждой вершине для каждого материала, применяемого к сетке.
Отрисовка текста В отрисовке шрифта на субпиксельном уровне используются доступные построители текстур на графическом оборудовании.

Следующие функции и возможности обеспечиваются аппаратным ускорением для уровня отрисовки 2.

Функция Примечания
Трехмерное сглаживание Трехмерное сглаживание поддерживается только в операционных системах, поддерживающих Windows Display Driver Model (WDDM), например Windows Vista и Windows 7.

Следующие функции и возможности не обеспечиваются аппаратным ускорением.

Функция Примечания
Содержимое вывода Все содержимое вывода отображается с помощью программного конвейера WPF.
Растровое содержимое, использующее RenderTargetBitmap Любое содержимое отображается с помощью Render метод RenderTargetBitmap.
Мозаичное содержимое, использующее TileBrush Любое Мозаичное содержимое, в котором TileMode свойство TileBrush присваивается Tile.
Поверхности, которые превышают максимальный размер текстуры графического оборудования Для большинства графических устройств большие поверхности имеют размер 2048 x 2048 или 4096 x 4096 пикселей.
Любая операция, требования к видеопамяти которой превышают объем памяти графического оборудования Можно отслеживать использование видеопамяти приложения, используя средство Perforator, включенное в WPF Performance Suite в комплекте SDK Windows.
Многослойные окна Многослойные окна позволяют приложениям WPF отображать содержимое на экране в непрямоугольных окнах. В операционных системах, поддерживающих Windows Display Driver Model (WDDM), например Windows Vista и Windows 7, многослойные окна реализованы с аппаратным ускорением. В других системах, таких как Windows XP, многоуровневые окна отрисовываются программным обеспечением без аппаратного ускорения.

Вы можете включить многослойные окна в WPF , задав следующие Window свойства:

- WindowStyle = None
- AllowsTransparency = true
- Background = Transparent

Другие ресурсы

Следующие ресурсы могут помочь проанализировать характеристики производительности вашего приложения WPF.

Настройки реестра графической отрисовки

WPF предоставляет четыре параметра реестра для управления WPF отрисовки:

Параметр Описание
Отключить аппаратное ускорение Указывает, следует ли включить аппаратное ускорение.
Максимальное значение мультисэмплинга Определяет степень мультисэмплинга для сглаживания содержимого Трехмерный.
Требуемая дата видеодрайвера Указывает, отключает ли система аппаратное ускорение для драйверов, выпущенных до ноября 2004 г.
Использовать средство программной прорисовки Указывает, следует ли WPF использовать средство программной прорисовки.

Эти параметры доступны любой внешней служебной программе настройки, которая знает, как ссылаться на параметры реестра WPF. Эти параметры также можно создать или изменить через прямой доступ к значениям с использованием редактора реестра Windows. Более подробную информацию см. в разделе Настройки реестра графической отрисовки.

Средства профилирования производительности WPF

WPF предоставляет набор средств профилирования производительности, позволяющие анализировать поведение времени выполнения приложения и определить, какие оптимизации производительности, которые можно применить. В следующей таблице перечислены средства профилирования производительности, включенные в средство Windows SDK, WPF Performance Suite.

Средство Описание
Perforator Используется для анализа поведения отрисовки.
Visual Profiler Служит для профилирования использования служб WPF, например обработки макета и событий, по элементам в визуальном дереве.

WPF Performance Suite обеспечивает многофункциональное графическое представление данных производительности. Дополнительные сведения о средствах производительности WPF см. в разделе WPF Performance Suite.

средство диагностики DirectX

Диагностическое средство DirectX, Dxdiag.exe, поможет в диагностике и устранении проблем, связанных с DirectX. Папка установки по умолчанию для средства диагностики DirectX.

~\Windows\System32

При запуске средства диагностики DirectX главное окно содержит набор вкладок, которые позволяют отображать и диагностировать связанные с DirectX сведения. Например, на вкладке Система представлена системная информация о вашем компьютере и указана версия DirectX, установленная на вашем ПК.

Снимок экрана: Инструмент диагностики DirectX
Главное окно инструмента диагностики DirectX

См. также

  • RenderCapability
  • RenderOptions
  • Улучшение производительности приложений WPF
  • WPF Performance Suite
  • Настройки реестра графической отрисовки
  • Советы и рекомендации по анимации
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX