Поделиться через


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

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

В этом разделе содержатся следующие подразделы.

  • Графическое оборудование
  • Определения уровня визуализации
  • Другие ресурсы
  • Связанные разделы

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

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

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

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

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

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

Определения уровня визуализации

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

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

  • Уровень визуализации 1. Часть графических возможностей реализуется с использованием аппаратного ускорения графики. Версия DirectX не ниже 9.0.

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

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

Уровень визуализации 0

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

Уровни визуализации 1 и 2

ПримечаниеПримечание

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

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

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

Функция

Уровень 1

Уровень 2

Версия DirectX

Должна быть не ниже 9.0.

Должна быть не ниже 9.0.

Видео память

Должна быть не менее 60 МБ.

Должна быть не менее 120 МБ.

Построитель текстуры

Версия должна быть не ниже 2.0.

Версия должна быть не ниже 2.0.

Вершинный построитель текстуры

Требования отсутствуют.

Версия должна быть не ниже 2.0.

Модули мультитекстурирования

Требования отсутствуют.

Число единиц должно быть не менее 4.

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

Функция

Примечания

Двухмерная визуализация

Поддерживается большая часть двухмерной визуализации.

Трехмерная растеризация

Поддерживается большинство трехмерных растеризаций.

Трехмерная анизотропная фильтрация

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

Трехмерный мипмэппинг

WPF пытается использовать мипмэппинг при визуализации трехмерного содержимого. Мипмэппинг улучшает качество отображаемой текстуры, когда текстура занимает меньшее поле зрения в Viewport3D.

Радиальный градиент

Пока поддерживается, избегайте использования RadialGradientBrush для больших объектов.

Вычисления 3D освещения

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

Визуализация текста

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

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

Функция

Примечания

Трехмерное сглаживание

Трехмерное сглаживание поддерживается только в операционных системах, поддерживающих модель WDDM, например в Windows Vista и Windows 7.

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

Функция

Примечания

Вывод содержимого

Все содержимое вывода отображается с помощью программного конвейера WPF.

Растеризованное содержимое, использующее RenderTargetBitmap

Любое содержимое отображается с помощью метода Render класса RenderTargetBitmap.

Мозаичное содержимое, использующее TileBrush

Любое мозаичное содержимое, в котором свойству TileMode для TileBrush присвоено Tile.

Поверхности, которые превышают максимальный размер текстуры графического оборудования

Для большинства графических устройств, большие поверхности имеют размер 2048x2048 или 4096x4096 точек.

Любая операция, требования к видео памяти которой превышают память графического оборудования.

Можно отслеживать использование видео памяти приложения, используя средство Perforator, которое входит в состав WPF Performance Suite из пакета Windows SDK.

Многослойные окна

Многослойные окна позволяют приложениям WPF отображать содержимое на экран в непрямоугольном окне. Многослойные окна используют аппаратное ускорение только в операционных системах, поддерживающих модель WDDM, например в Windows Vista и Windows 7. В других системах, таких как Windows XP, многослойные окна отображаются с помощью программного обеспечения без аппаратного ускорения.

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

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

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

Настройки реестра графической визуализации

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

Параметр

Описание

Опция отключения аппаратного ускорения

Определяет необходимость включения аппаратного ускорения.

Максимальное значение мультисэмплинга

Определяет степень мультисэмплинга для сглаживания 3-D содержимого.

Требуемый параметр даты видеодрайвера

Указывает, отключает ли система аппаратное ускорение для драйверов, выпущенных до ноября 2004 г.

Опция растеризации используемой ссылки

Определяет, следует ли WPF использовать растеризацию ссылок.

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

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

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

Средство

Описание

Perforator

Используется для анализа поведения визуализации.

Visual Profiler

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

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

DirectX Diagnostic Tool

DirectX Diagnostic Tool, Dxdiag.exe является средством диагностики DirectX. Папка установки по умолчанию для DirectX Diagnostic Tool:

~\Windows\System32

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

Главное окно DirectX Diagnostic Tool

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

См. также

Ссылки

RenderCapability

RenderOptions

Основные понятия

Улучшение производительности приложений WPF

WPF Performance Suite

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

Советы и рекомендации по анимации

Журнал изменений

Дата

Журнал

Причина

Октябрь 2010 г.

Обновлена информация для .NET Framework 4 и уровня визуализации 2.

Обратная связь от клиента.

сентябрь 2010 г.

Добавлена информация о средствах профилирования производительности WPF.

Улучшение информации.