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


функция обратного вызова PFND3DDDI_SETMARKERMODE (d3dumddi.h)

Уведомляет драйвер отображения пользовательского режима о том, что он должен поддерживать тип события трассировки событий Windows (ETW). При необходимости реализована в драйверах Windows Display Driver Model (WDDM) 1.3 и более поздних версий, работающих на оборудовании Microsoft Direct3D уровня 9. (См. требования в разделе Улучшения производительности отрисовки Direct3D.) Для более сложного оборудования драйверы должны реализовывать функцию SetMarkerMode .

Синтаксис

PFND3DDDI_SETMARKERMODE Pfnd3dddiSetmarkermode;

HRESULT Pfnd3dddiSetmarkermode(
  HANDLE hDevice,
  D3DDDI_MARKERTYPE Type,
  UINT Flags
)
{...}

Параметры

hDevice

Дескриптор устройства отображения (графический контекст).

Type

Значение из перечисления D3DDDI_MARKERTYPE , указывающее тип события маркера, который должен поддерживать драйвер.

Flags

Значение UINT , указывающее, должен ли драйвер предоставлять пользовательские сведения в буферах команд. Если задано значение D3DDDI_SETMARKERMODE_CUSTOMDRIVEREVENTS, драйвер должен добавлять заметки и инструментировать буферы команд с пользовательскими сведениями о событиях. В противном случае драйвер не должен примечать к буферам команд.

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

Возвращаемое значение

Возвращает S_OK или соответствующий результат ошибки, если функция не завершается успешно.

Комментарии

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

  1. Используйте упрощенное инструментирование, которое не обеспечивает строгого корреляции с границами команд графики.
  2. Драйвер должен иметь возможность выборки метки времени GPU в конце графического конвейера.
  3. Не используйте команды выборки, которые накладывают нагрузку на графический конвейер с высокой производительностью, например команды ожидания простоя. Чтобы иметь возможность инструментировать события маркеров профиля, драйверу не нужно очищать конвейер или кэши.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1,WDDM 1.3 и более поздних версий
Минимальная версия сервера Windows Server 2012 R2
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3d10umddi.h)

См. также раздел

D3DDDI_MARKERTYPE

SetMarkerMode