Interested Article - Windows Display Driver Model

Windows Display Driver Model ( WDDM , также WVDDM в эпоху Vista) — это архитектура графических драйверов для видеокарты под управлением Microsoft Windows , начиная с Windows Vista . Она является заменой для архитектуры видеодрайверов Windows XP и нацелена на повышение производительности графики и новую функциональность .

WDDM предоставляет функциональность, необходимую для отображения рабочего стола и приложений с помощью диспетчера окон рабочего стола — диспетчера составных окон, работающего поверх Direct3D . Она также поддерживает интерфейсы новой инфраструктуры DXGI (DirectX Graphics Infrastructure), необходимые для основных операций создания и управления устройством. Спецификация WDDM требует видеокарту, поддерживающую по меньшей мере Direct3D 9, и должна реализовывать интерфейсы до Direct3D 9 для совместимости со старыми приложениями Direct3D; по желанию она может реализовывать интерфейсы для Direct3D 10/10.1 и выше.

Возможности, привнесённые моделью WDDM

Драйверы WDDM открывают новые функциональные области, которые не предоставлялись на унифицированной основе более ранними моделями графических драйверов:

Виртуализованная видеопамять

В контексте графики виртуализация означает, что отдельные процессы (в пользовательском пространстве ) не могут видеть память соседних процессов даже путём вставки фальшивых команд в командный поток. Драйверы WDDM позволяют делать виртуализацию видеопамяти и подстановку страниц видеопамяти в системную память. Если окажется, что доступной видеопамяти недостаточно для хранения всех видеоданных и текстур, данные, не используемые в текущий момент, перемещаются в системную память или на диск. Если вытесненные данные становятся нужны, они загружаются обратно. Виртуализация была в некоторой степени возможна в драйверах, рассчитанных на предыдущие модели построения (такие, как модель драйверов Windows XP), но это была целиком зона ответственности драйвера, а не системы.

Диспетчеризация

Исполняемый модуль управляет диспетчеризацией (планированием) конкурирующих между собой графических контекстов. Каждый список команд помещается в очередь для исполнения графическим процессором, и может быть выгружен исполняемым модулем, если появляется более важная задача и если выполнение списка ещё не началось. Такое поведение отличается от потоков центрального процессора, где задача не может быть прервана и поэтому занять больше времени, чем нужно и заставить компьютер медленнее отвечать на запросы. Гибридный алгоритм планирования между родными и лёгкими потоками со взаимодействием потоков даёт бесшовный параллелизм. Важно заметить, что планирование — это не новая идея, но ранее была сферой ответственности разработчиков драйверов. WDDM пытается унифицировать опыт разных разработчиков, управляя выполнением задач графического процессора.

Межпроцессное совместное использование поверхностей Direct3D

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

Расширенная отказоустойчивость

Если драйвер WDDM зависнет или встретит сбой, графический стек перезапустит драйвер. При сбое графической аппаратуры произойдёт перехват этого события и, если необходимо, драйвер будет перезапущен.

Драйверы для Windows XP были вольны реагировать на аппаратные сбои на своё усмотрение, либо уведомлением пользователя, либо попыткой устранить ошибку молча. С драйвером WDDM все сбои аппаратуры вызывают перезапуск драйвера, а пользователь получает всплывающее сообщение; это унифицирует поведение драйверов разных разработчиков.

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

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

Необходима новая модель драйверов

Одним из основных сценариев, которые делает возможным Windows Display Driver Model, является Desktop Window Manager . Поскольку рабочий стол и окна приложений, управляемые DWM, являются приложениями Direct3D, количество открытых окон напрямую влияет на требуемый объём видеопамяти. Поскольку нет ограничения на количество открытых окон, доступной видеопамяти может оказаться недостаточно, и потребуется виртуализация. Поскольку содержимое окон, которые DWM объединяет в конечный рабочий стол, создаётся разными процессами, необходимо межпроцессное совместное использование графических поверхностей. Также, поскольку одновременно с DWM на рабочем столе могут работать другие приложения DirectX, приложения должны иметь возможность совместного доступа к графическому процессору, что требует диспетчеризации.

Однако сказанное справедливо для Майкрософтовской реализации составного рабочего стола под Windows Vista, с другой стороны, составной рабочий стол теоретически не нуждается в новой модели графических драйверов. Успешные реализации составных рабочих столов существовали до Windows Vista на других платформах, таких, как Quartz , Compiz , . Своим подходом Microsoft попытался сделать надёжный WDDM как обобщение опыта по разным графическим процессорам от различных производителей, как стандартизацию их свойств и качеств. Программные свойства, отсутствующие у других моделей драйверов, можно было бы сделать несущественными с помощью дополнений или если бы была доступна менее ограничивающая или просто другая модель драйверов.

Ограничения

Новая модель драйверов требует, чтобы графическая аппаратура поддерживала, по крайней мере, Shader Model 2.0 (fixed function pipeline is now translated to 2.0 shaders ). Однако, по информации Microsoft, на 2009 год только около 1—2 процентов аппаратуры использовало модель драйверов Windows XP , а остальные уже являются WDDM-совместимыми. Модель также требует наличия некоторых других аппаратных возможностей (по этой причине, например, аппаратура, поддерживающая SM 2.0, такая, как Intel GMA 900, не проходит сертификацию на WDDM ).

Одно из ограничений драйвера WDDM версии 1.0 в том, что он не поддерживает одновременно несколько драйверов в многоадаптерном многомониторном окружении. Если у многомониторной системы более одного графического адаптера, оба адаптера должны использовать один и тот же драйвер WDDM. Если используется более одного драйвера, Windows выключит один из них. . У WDDM 1.1 уже нет такого ограничения.

В WDDM 1.0/1.1 отсутствуют некоторые режимы, ранее обслуживавшиеся непосредственно драйвером, такие, как растяжка рабочего стола на несколько мониторов , хотя режим Dual View по-прежнему доступен.

WDDM 1.1

Windows 7 поддерживает важные дополнения к WDDM, известные как WDDM 1.1; подробности этой новой версии были раскрыты на 2008. Новые возможности включают :

  • 1.1, что характеризует возвращение аппаратного ускорения двумерного графического интерфейса пользователя для использования системой GDI и Direct2D / DirectWrite (но не GDI+)
    • , StretchBlt, TransparentBlt
    • , ColorFill
    • Поддержка шрифтов ClearType
  • Интерфейс драйвера устройства Direct3D 11 ()
  • DXVA-HD DDI
  • DDI
  • Необязательное шифрование
  • Необязательное декодирование зашифрованного графического содержимого
  • Поддержка нескольких драйверов в многоадаптерном многомониторном окружении

Аппаратное ускорение операций GDI и Direct2D/DirectWrite помогает уменьшить расход памяти в Windows 7, поскольку системе компоновки DWM больше не нужно держать копию системной памяти для всех графических поверхностей, используемых GDI/GDI+, как это было в Windows Vista.

Драйверы WDDM 1.1 обратно совместимы со спецификацией WDDM 1.0; как драйверы 1.0, так и 1.1 можно использовать в Windows Vista с Platform Update или без него.

WDDM 1.2

Windows 8 включает WDDM 1.2 и DXGI 1.2. Новые функции были представлены на конференции 2011 и включают улучшения производительности и так же поддержку для стереоскопического 3D рендеринга, а также видео воспроизведения.

Другие главные изменения включают вытесняющую многозадачность для GPU вместе с лучшей степенью параллельных вычислений (DMА буфера, примитивов, треугольников, пикселей, или на уровне инструкций), уменьшено потребление памяти, улучшено разделение ресурсов, и более быстрое обнаружение и восстановление. 16-бит цветовой формат поверхностей (565, 5551, 4444) являются обязательными в Windows 8, и Direct3D 11. Поддержка YUV 4:4:4/4:2:2/4:2:0/4:1:1 видео формата с 8, 10, и 16-бит точностью, а также 4 и 8-бит формат палитры.

WDDM 1.2 поддерживаются только WDDM-драйверами, такими как Microsoft Basic Display Driver и -основанный Microsoft Basic Render Driver который заменяет видео драйвер уровня ядра.

На 2006 Microsoft говорил о своих планах сделать значительное изменение WDDM для улучшения многозадачности применительно к графическим процессорам . Согласно информации Microsoft, WDDM 1.0 позволяет выполнять лишь элементарное планирование задач с просчётом «batch queue» . WDDM 2.0 и WDDM 2.1' , которые планировались после выхода Vista но относительно которых Microsoft не огласил дату выхода в свет ( Windows 8 поддерживает лишь WDDM 1.2), могли бы предложить вытесняющую многозадачность на уровне мелких структурных единиц и потребовали бы нового поколения графических процессоров.

Поддерживается в Windows 10 .

WDDM 1.3

Windows 8.1 включает WDDM 1.3 и DXGI 1.3. Новые улучшения включают возможность уменьшения потребления памяти DXGI адаптера, многоплановые наложения, перекрытия цепочки переключений и масштабируемые цепочки переключений, выбор экранного буфера субрегиона для цепочки переключений и меньшей задержки цепочки переключений отображения. Функции драйвера могут включать поддержку беспроводных дисплеев ( Miracast ), формат YUV диапазона, кросс-адаптерные ресуры и GPU движок перечислений возможностей. Улучшения в производительности графического ядра системы.

WDDM 2.0

Windows 10 включает WDDM 2.0, он был спроектирован таким образом, чтобы значительного уменьшить нагрузку на драйвер уровня ядра для GPU с поддержкой виртуальной адресации памяти, для улучшения многозадачности в пользовательском режиме драйвера и как результат снижения нагрузки на центральный процессор. Windows 10 так же включает DXGI 1.4.

Direct3D 12 API, анонсированный на , требует WDDM 2.0. Новый API позволяет автоматически управлять ресурсами, выполнять конвейеризацию запросов и позволяет получить разработчикам более низкоуровневое управление над памятью адаптера и стадиями рендеринга.

WDDM 2.1

Windows 10 Anniversary Update (версия 1607) включает WDDM 2.1, обеспечивает поддержку Shader Model 6.0 (обязательную для уровня функций DirectX12 12_0 и 12_1), а также DXGI 1.5 с — 10-бит High Dynamic Range Rendering , формат широкого диапазона цветов принятый ITU-T Rec. 2100 / — и переменную частоту обновления.

WDDM 2.2

Windows 10 Creators Update (версия 1703) включает WDDM 2.2, который адаптирован для виртуальной, дополненной и смешанной реальности с стереоскопическим рендерингом для платформы Windows Mixed Reality , и DXGI 1.6.

WDDM 2.3

Windows 10 Fall Creators Update (версия 1709) включает WDDM 2.3.

  • Аппаратная очередь
  • Поддержка блока управления памятью (MMU) для операций ввода-вывода
  • Поддержка чёрного списка
  • Поверхности цепочек буферов
  • Просмотр GUID устройства
  • Опрос версий (bios/архитектурной информации)
  • Опрос производительности (значение частоты (текущая/макс/разгон), напряжение (текущая/макс/разгон), частота памяти, скорость памяти, пропускная способность PCIE, обороты кулера, потребление энергии, температура (макс/внимание), переопределение состояния питания)

WDDM 2.4

Windows 10 April 2018 Update (версия 1803) включает WDDM 2.4.

  • Дополнительные d3d типы распределения памяти
  • SDR Регулировка уровня белого
  • Паравиртуализация адаптера
  • Произвольная защита ядра
  • Настраиваемые тайминги рендеринга дисплея
  • Поддержка съемных адаптеров
  • Поддержка конфигурации дисплея
  • Поддержка источника-владельца
  • Перенаправление дисплея
  • Поддержка трансформации цветового пространства
  • Защищенная сессия устройства
  • Процесс удаления устройства (проверяет, может ли процесс, использующий адаптер, восстанавливаться после удаления графического устройства)

С момента появления Windows 10 April 2018 Update и благодаря изменениям в WDDM, стало возможным использовать функцию аналогичную двойной графики в ноутбуках. Например, что позволяет запускать программы\игры на более мощной видеокарте, а выводить изображение через встроенную графику напрямую по внутренней (PCI-E) или внешней шине, без необходимости подключать монитор к мощной видеокарте. Так же может выступать в качестве решения проблемы, если на видеокарте нет VGA видеовыхода, а в материнской плате он присутствует.

Важно: Такую поддержку гарантировано обеспечивают процессоры Intel не ниже поколения Haswell и видеокарты nVidia поколения Kepler (600 серия). Для оптимальной производительности cross-adapter clone mode (по описанию в документации nVidia) настоятельно рекомендуется последняя актуальная версия Windows 10, а так же свежие драйверы как на видеоядро, так и на дискретную видеокарту.

Ранее такую возможность предоставлял аппаратно-программный комплекс как LucidLogix, но материнские платы с ее наличием встречались реже и были значительно дороже. Так же все выше указанное может способствовать повышению производительности игр и тяжелых 3D приложений как CAD, и прочих. Плюс использование этого функционала способно снизить энергопотребление и нагрев системы в целом.

Предварительные версии

SDK для Oculus Rift включает DXGI 2 предварительно для Windows 10.

WDDM 2.5

Windows 10 October 2018 Update (версия 1809) включает в себя поддержку WDDM 2.5.

  • Поддержка Shader Model 6.3
  • Трассировка лучей
  • Требования к универсальной модели драйверов
  • SRV-Only Tiled Resource Tier 3
  • Проход визуализации
  • Мета-команды
  • HDR Компенсация яркости
  • Поддержка HDR Pixel Format
  • SDR Уровень белого

WDDM 2.6

Windows 10 May 2019 Update (версия 1903/1909) добавляет поддержку WDDM 2.6.

  • Поддержка Shader Model 6.4
  • Супер мокрые чернила
  • Переменный шейдинг
  • Сбор информации для диагностики
  • Фоновая обработка
  • Горячая замена драйвера

WDDM 2.7

Windows 10 May 2020 Update (версия 2004) привносит поддержку WDDM 2.7.

В данный момент доступно в Windows 10 с использованием драйверов Nvidia версии 451.48 , Intel 27.20.100.8280 и AMD 27.20.1017.1011, начиная с версии 10.0.19041.

  • Планирование графического процессора с аппаратным ускорением: Позволяет видеокарте непосредственно управлять своей видеопамятью, что в свою очередь значительно улучшает плавность игрового процесса и\или скорость отклика тяжелых 3D приложений из-за подъема FPS по минимальному и среднему значению, и тем самым это позволяет снижать задержки в работе. Работает независимо от используемого API для игр и приложений таких как DirectX/Vulkan/OpenGL. Поддерживается видеокартами nVidia GeForce начиная с поколения Pascal \ 10 серии, а поддержка у AMD Radeon возможна только с поколения / RX 5000 серии или новее в обоих случаях (Это связано с тем, что функция имеет аппаратную зависимость от наличия Shader Model 6.3 в железе, что можно проверить через Aida64 , но не через GPU-Z из-за неправильного отображения информации). Intel временно отключила поддержку в финальных драйверах, но возможно использование тестового драйвера 29.20.100.8674 для активации этой функции с видеоядрами от HD 600 модели. Так же данная функция исправляет ошибку со снижением частоты кадров в DWM при работе с разными мониторами, которая проявляется при перетаскивании окон с одного рабочего стола на другой. Возможно еще так, то что данная технология связана с описанием из этого . Стоит отметить, что многие сайты по ошибке предлагают принудительно включить эту опцию через реестр c ключем HwSchMode , но этот способ не будет работать из-за отсутствия поддержки драйвером или железом и это можно легко проверить тестами производительности. Сама опция включается пользователем по желанию через параметры Windows 10 в настройках графики по ссылке Ms-settings: display-advancedgraphics или пути: Параметры->Система->Дисплей->Настройка Графики->Планирование графического процессора с аппаратным ускорением. И стоит учитывать, что если кнопка не отображается, то драйвер или видеокарта\видеоядро не имеет поддержки этой функций. (Но можно проверить поддержку драйвером через GPU-Z в разделе WDDM ) Плюс, активация этой функции применяется ко всем графическим устройствам в системе, если они поддерживают HAGS (Сокращение от Hardware - accelerated GPU scheduling в английской версии Windows 10 May 2020 Update) и не может быть задана индивидуально для каждого ГП.
  • Поддержка Shader Model 6.5
  • API DirectX 12 Ultimate
  • DirectX 12 Sampler Feedback
  • DirectX Raytracing (DXR) Tier 1.1
  • Direct3D 12 Mesh Shaders and Amplification Shaders
  • Direct3D 12 improved memory allocation control
  • Direct3D 12 and Direct3D 9 resource interop
  • Direct3D 12 Video Protected Resource support

WDDM 3.0

Первая финальная версия Windows 11 RTM (версия 21H2) включает поддержку WDDM 3.0 , который улучшает графическую архитектуру в подсистеме Windows для Linux , добавляя следующий функционал :

  • Драйвер пользовательского режима, скомпилированный для Linux в пакете WSL
  • Хост-драйвер, смонтированный в Linux
  • Динамическая частота обновления
  • Кодирование видео Direct3D 12

WDDM 3.1

Windows 11 версии 22H2 включает поддержку WDDM 3.1.

  • Поддержка Shader Model 6.7
  • Переназначение IOMMU DMA
  • Совместное использование хранилища резервных копий с KMD

WDDM 3.2

Тестовые сборки Windows 11 Insider Preview 25xxx (версия 23H2) включают WDDM 3.2.

Примечания

  1. (неопр.) . Дата обращения: 21 июня 2020. 11 февраля 2019 года.
  2. (неопр.) . Дата обращения: 25 июня 2010. 13 мая 2013 года.
  3. (неопр.) . Дата обращения: 25 июня 2010. 20 апреля 2010 года.
  4. (неопр.) . Дата обращения: 21 июня 2020. 28 октября 2017 года.
  5. (неопр.) . Microsoft (12 июня 2009). 30 апреля 2012 года.
  6. от 5 марта 2012 на Wayback Machine , Beyond3D, October 26, 2006.
  7. (неопр.) . Дата обращения: 20 октября 2007. 30 апреля 2012 года.
  8. 20 октября 2013 года.
  9. (неопр.) Дата обращения: 25 июня 2010. 15 июля 2012 года.
  10. (неопр.) . Дата обращения: 25 июня 2010. 17 ноября 2009 года.
  11. (неопр.) . Дата обращения: 25 июня 2010. 22 февраля 2011 года.
  12. (неопр.) . Дата обращения: 25 июня 2010. 30 апреля 2012 года.
  13. (неопр.) . MSDN. Дата обращения: 14 июня 2009. 30 апреля 2012 года.
  14. (неопр.) . MSDN. Дата обращения: 13 июня 2009. 30 апреля 2012 года.
  15. (неопр.) . MSDN. Дата обращения: 13 июня 2009. 30 апреля 2012 года.
  16. (неопр.) . Дата обращения: 25 июня 2010. 5 марта 2010 года.
  17. (неопр.) . Дата обращения: 25 июня 2010. 23 апреля 2010 года.
  18. (неопр.) . MSDN . Microsoft (16 ноября 2013). Дата обращения: 9 декабря 2013. 24 февраля 2012 года.
  19. (неопр.) . MSDN . Microsoft (28 сентября 2012). Дата обращения: 9 декабря 2013. 24 февраля 2012 года.
  20. (неопр.) . MSDN . Microsoft (16 ноября 2013). Дата обращения: 9 декабря 2013. 24 февраля 2012 года.
  21. (неопр.) . MSDN . Microsoft (16 ноября 2013). Дата обращения: 9 декабря 2013. 24 февраля 2012 года.
  22. (неопр.) . MSDN . Microsoft (16 ноября 2013). Дата обращения: 9 декабря 2013. 24 февраля 2012 года.
  23. (неопр.) . Дата обращения: 19 июня 2018. 19 октября 2016 года.
  24. (неопр.) . Дата обращения: 25 июня 2010. 6 июня 2020 года.
  25. (неопр.) . Дата обращения: 25 июня 2010. 7 мая 2022 года.
  26. Dan Warne. (неопр.) . APC Magazine (June 1, 2006). Дата обращения: 2 июня 2006. Архивировано из 15 июня 2006 года.
  27. (неопр.) . MSDN . Microsoft (16 ноября 2013). Дата обращения: 9 декабря 2013. 4 марта 2016 года.
  28. (неопр.) . MSDN . Microsoft (16 ноября 2013). Дата обращения: 9 декабря 2013. 20 июня 2018 года.
  29. nabazan-microsoft. (англ.) . docs.microsoft.com. Дата обращения: 15 января 2018. 9 декабря 2017 года.
  30. (неопр.) . Microsoft . Дата обращения: 3 июня 2015. 1 июля 2015 года.
  31. McMullen, Max. . MSDN . (неопр.) . Дата обращения: 21 июня 2020. Архивировано 12 ноября 2021 года.
  32. Moreton, Henry (неопр.) . Blogs.nvidia.com (20 марта 2014). Дата обращения: 26 марта 2014. 11 сентября 2015 года.
  33. (неопр.) . Blogs.msdn.com (20 марта 2014). Дата обращения: 26 марта 2014. 26 марта 2014 года.
  34. Smith, Ryan (неопр.) . AnandTech . Purch (6 февраля 2015). Дата обращения: 19 июня 2018. 8 февраля 2015 года.
  35. (неопр.) . Дата обращения: 19 июня 2018. 19 июня 2018 года.
  36. (неопр.) . Дата обращения: 19 июня 2018. 19 июня 2018 года.
  37. (неопр.) . Дата обращения: 19 июня 2018. 19 июня 2018 года.
  38. (неопр.) . Дата обращения: 19 июня 2018. 19 июня 2018 года.
  39. (неопр.) . Дата обращения: 19 июня 2018. 7 ноября 2021 года.
  40. (рус.) . 3DNews - Daily Digital Digest . Дата обращения: 25 июня 2020. 24 июня 2020 года.
  41. (англ.) . docs.microsoft.com. Дата обращения: 12 января 2020. 12 января 2020 года.
  42. (рус.) . MSReview. Дата обращения: 12 января 2020. 12 января 2020 года.
  43. (англ.) . LaptopVideo2Go Forums . Дата обращения: 23 августа 2020. 22 сентября 2020 года.
  44. (рус.) . 3DNews - Daily Digital Digest . Дата обращения: 16 июня 2020. 16 июня 2020 года.
  45. (неопр.) . devblogs.microsoft.com . Дата обращения: 4 ноября 2019. 23 октября 2020 года.
  46. (неопр.) . devblogs.microsoft.com . Дата обращения: 6 ноября 2019. 9 ноября 2019 года.
  47. (неопр.) . devblogs.microsoft.com . Дата обращения: 8 ноября 2019. 10 ноября 2019 года.
  48. (неопр.) . devblogs.microsoft.com . Дата обращения: 11 ноября 2019. 19 ноября 2019 года.
  49. (неопр.) . devblogs.microsoft.com . Дата обращения: 13 ноября 2019. 19 ноября 2019 года.
  50. (неопр.) . microsoft.github.io . Дата обращения: 29 мая 2019. 28 февраля 2020 года.
  51. Windows Experience Blog. (амер. англ.) . Windows Experience Blog (4 октября 2021). Дата обращения: 1 ноября 2022. 8 апреля 2022 года.
  52. (неопр.) . Indico . Дата обращения: 1 ноября 2022. 1 ноября 2022 года.
  53. lorihollasch. (амер. англ.) . learn.microsoft.com . Дата обращения: 1 ноября 2022. 1 ноября 2022 года.
  54. Ana Marta Carvalho. (амер. англ.) . DirectX Developer Blog (28 июня 2021). Дата обращения: 1 ноября 2022. 1 ноября 2022 года.
  55. lorihollasch. (амер. англ.) . learn.microsoft.com . Дата обращения: 1 ноября 2022. 1 ноября 2022 года.
  56. (амер. англ.) . DirectX-Specs . Дата обращения: 1 ноября 2022. 1 ноября 2022 года.
  57. lorihollasch. (амер. англ.) . learn.microsoft.com . Дата обращения: 1 ноября 2022. 1 ноября 2022 года.
  58. lorihollasch. (амер. англ.) . learn.microsoft.com . Дата обращения: 1 ноября 2022. 22 сентября 2022 года.

Ссылки

  • 6 мая 2010 года.

Same as Windows Display Driver Model