Ведение журнала драйвера в пользовательском режиме
Чтобы получить более эффективную разбивку видеопамять, драйвер Модели драйвера дисплея Windows (WDDM) должен предоставлять связь между ресурсами Microsoft Direct3D и выделением видеопамя. Это возможно, начиная с Windows 8 с введением дополнительных интерфейсов ведения журнала драйвера пользовательского режима (UMD). Благодаря добавлению этих сведений в трассировку событий Windows (ETW) можно увидеть выделение видеопамять с точки зрения API.
Минимальная версия WDDM: 1.2
Минимальная версия Windows: 8
Реализация драйвера — полная графика и только отрисовка: обязательно
Требования и тесты WHCK: Device.Graphics,UMDLogging
Для разработчиков ведение журнала UMD может прояснить затраты на память, которые в настоящее время очень трудно увидеть, например внутренняя фрагментация или влияние быстрого удаления поверхностей. Это позволяет корпорации Майкрософт лучше работать с клиентами и партнерами, которые предоставляют трассировки для анализа проблем с производительностью. В частности, эта функция может помочь преодолеть общую точку блокировки при исследовании проблем с производительностью, связанных с памятью: приложение использует слишком большой рабочий набор, но вы не можете определить, какие ресурсы ИЛИ вызовы API вызывают проблему.
Драйвер должен предоставлять связь между ресурсами Direct3D и выделением видеопамять путем реализации интерфейсов UMD ETW. Помимо событий ведения журнала драйвер должен иметь возможность сообщать обо всех существующих сопоставлениях между ресурсами и выделениями в любой момент времени.
DDI ведения журнала выделения драйверов UMD
Интерфейс драйвера для ведения журнала выделения драйвера пользовательского режима (DDI) предоставляет события в средстве трассировки на уровне ядра Windows (ETW), которые показывают, какие ресурсы API связаны с выделением ядра в подсистеме ядра Microsoft DirectX (Dxgkrnl.sys).
DDI можно использовать для обнаружения фрагментации внутренней памяти или влияния быстрой отбрасываемой поверхности, предоставления корпорации Майкрософт более подробных сведений о трассировке, помогающих выявлять проблемы с производительностью, а также определять, когда ресурсы приложения или вызовы API вызывают слишком большой рабочий набор памяти.
Используйте следующие функции, перечисление и структуру из заголовка Umdprovider.h для регистрации событий в драйвере отображения пользовательского режима:
- Функция UMDEtwLogMapAllocation
- Функция UMDEtwLogUnmapAllocation
- Функция UMDEtwRegister
- Функция UMDEtwUnregister
- Перечисление UMDETW_ALLOCATION_SEMANTIC
- структура UMDETW_ALLOCATION_USAGE
См. также заголовок Umdetw.h.
Требования к сертификации оборудования
Сведения о требованиях, которым должны соответствовать аппаратные устройства при реализации этой функции, см. в соответствующей документации по WHCK на странице Device.Graphics . UMDLogging.
Обзор функций, добавленных с помощью Windows 8, см. в разделе Функции WDDM 1.2.