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


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

Обновлен: Ноябрь 2007

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

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

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

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

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

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

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

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

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

Точечный построитель текстуры, вершинный построитель текстуры и возможности мультитекстурирования используются для определения конкретных DirectX версий, которые в свою очередь, используются для определения различных уровней отрисовки в WPF.

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

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

  • Уровень отрисовки 0 Без аппаратного ускорения графики. Версия DirectX ниже 7.0.

  • Уровень отрисовки 1 Частичное аппаратное ускорение графики. Версия DirectX выше или равна 7.0, но ниже версии 9.0.

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

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

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

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

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

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

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

Функция

Примечания

Двухмерная отрисовка

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

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

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

3D анизотропная фильтрация

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

3D мипмеппинг

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

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

Функция

Примечания

Эффекты для точечных рисунков

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

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

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

Растеризация содержимого использует объект RenderTargetBitmap.

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

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

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

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

Большинство видео карт не поддерживают поверхности размером больше чем 2048x2048 или 4096x4096 точек.

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

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

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

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

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

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

Любое использование RadialGradientBrush.

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

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

Текстовая отрисовка

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

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

Любое использование трехмерное сглаживание.

Следующие возможности графического оборудования определяют уровень отрисовки 1:

Функция

Примечания

Версия DirectX

Должна быть выше или равна 7.0, но ниже 9.0.

Видео память

Должна быть больше или равна 30MB.

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

Число единиц должно быть больше или равно 2.

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

Производитель

Модель

ATI

Модели Radeon: 256, 7000, 7500, 8500, 9000, 9100, 9200 и 9250

Intel

Модели Intel Extreme Graphics: 845G, 845GE, 845GL и 845GV

Модели Intel Extreme Graphics II: 852GME, 855GM, 855GME, 865G и 865GV

NVidia

GeForce 256

Модели GeForce2: GTS, MX, MX100, MX200, MX400, Pro, TI и Ultra

Модели GeForce3: Ti200 и Ti500

Модели GeForce4: MX420, MX440, MX460, MX4000, Ti4200, Ti4400, Ti4600 и Ti4800

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

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

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

Функция

Примечания

Возможности уровня 1

Включает все возможности уровня 1.

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

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

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

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

Отрисовка текста

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

3D сглаживание

3D сглаживание поддерживается только в Windows Vista.

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

Функция

Примечания

Эффекты для точечных рисунков

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Функция

Примечания

Версия DirectX

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

Видео память

Должна быть больше или равна 120MB.

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

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

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

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

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

Число единиц должно быть больше или равно 4.

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

Производитель

Модель

ATI

Модели Radeon: 9550, 9600, 9800 и X-серии

Intel

Модели Intel GMA900: 915G

Модели Intel GMA950: 945G

NVidia

Geforce FX-серии, 6xxx-серии и 7xxx-серии

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

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

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

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

Параметр

Описание

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

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

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

Определяет степень мультисэмплинга для сглаживания трехмерный содержимого.

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

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

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

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

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

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

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

Средство

Описание

Трассировка события

Используется для анализа событий и создания файлов журнала событий.

Perforator

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

Trace Viewer

Запись, отображение и просмотр файла журнала событий трассировки для Windows (ETW) в формате пользовательского интерфейса WPF.

Visual Profiler

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

Средство просмотра рабочего набора

Используется для анализа рабочего набора характеристик приложения.

Средство Visual Profiler обеспечивает богатое графические представление данных производительности. На этом снимке экрана раздел Использование ЦП Visual Profiler позволяет выбрать точное распределение использования объектом служб WPF, таких как отрисовка и разметка.

Вывод на экран данных Visual Profiler
Отображение данных Visual Profiler

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

DirectX Diagnostic Tool

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

~\Windows\System32

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

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

См. также

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

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

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

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

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

Ссылки

RenderCapability

RenderOptions