Модель драйвера дисплея Windows

редактировать

Модель драйвера дисплея Windows (WDDM ) - это графический драйвер архитектура для видеокарт драйверов под управлением Microsoft Windows версий, начиная с Windows Vista.

Это замена предыдущей Windows 2000 и Windows XP драйвер дисплея модели XDDM / XPDM и предназначен для обеспечения более производительной графики и новых графических функций и стабильности. Драйверы дисплея в Windows Vista и Windows 7 может выбрать, придерживаться ли WDDM или XDDM. Однако с удалением XDDM из Windows 8 WDDM стал единственным вариантом.

WDDM предоставляет функции, необходимые для визуализации рабочего стола и приложений с помощью Desktop Window Manager, композитный оконный менеджер, работающий поверх Direct3D. Он также поддерживает новые интерфейсы DXGI, необходимые для базового управления и создания устройств. Спецификация WDDM требует, по крайней мере, видеокарты с поддержкой Direct3D 9, а драйвер дисплея должен реализовывать интерфейсы драйверов устройств для среды выполнения Direct3D 9Ex, чтобы запускать устаревшие приложения Direct3D; он может дополнительно реализовать интерфейсы времени выполнения для Direct3D 10 и выше.

Содержание
  • 1 Функции, доступные в WDDM
    • 1.1 Виртуализированная видеопамять
    • 1.2 Планирование
    • 1.3 Совместное использование поверхностей Direct3D между процессами
    • 1.4 Повышенная отказоустойчивость
  • 2 Ограничения
    • 2.1 Потребность в новой модели драйвера дисплея
  • 3 История
    • 3.1 WDDM 1.0
    • 3.2 WDDM 1.1
    • 3.3 WDDM 1.2
    • 3.4 WDDM 1.3
    • 3.5 WDDM 2.0
    • 3.6 WDDM 2.1
    • 3.7 WDDM 2.2
    • 3.8 WDDM 2.3
    • 3.9 WDDM 2.4
    • 3.10 WDDM 2.5
    • 3.11 WDDM 2.6
    • 3.12 WDDM 2.7
    • 3.13 WDDM 2.9
  • 4 См. Также
  • 5 Ссылки
Функции, доступные в драйверах WDDM

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

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

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

Планирование

Среда выполнения обрабатывает планирование параллельных графических контекстов. Каждый список команд помещается в очередь для выполнения GPU, и он может быть вытеснен средой выполнения, если прибывает более важная задача и если она еще не началась. Это отличается от собственных потоков на ЦП, где одна задача не может быть прервана и, следовательно, может занять больше времени, чем необходимо, и сделать компьютер менее отзывчивым. Алгоритм гибридного планирования между собственными и легкими потоками с взаимодействием между потоками достигнет бесшовного параллелизма. Важно отметить, что планирование - это не новая концепция, но ранее за это отвечали отдельные разработчики драйверов. WDDM пытается унифицировать взаимодействие различных поставщиков, контролируя выполнение задач графического процессора.

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

A Графическая поверхность Direct3D - это область памяти, которая содержит информацию о текстурированных сетках, используемых для рендеринга 2D или 3D-сцена. WDDM позволяет совместно использовать поверхности Direct3D для процессов. Таким образом, приложение может включать сетку, созданную другим приложением, в сцену, которую оно визуализирует. Совместное использование текстур между процессами до WDDM было затруднительным, поскольку для этого потребовалось бы копировать данные из видеопамяти в системную память, а затем обратно в видеопамять для нового устройства.

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

Windows Vista предупреждает пользователя об успешном восстановлении WDDM

Если драйвер WDDM зависает или обнаруживает сбой, графический стек перезапустит драйвер. Отказ графического оборудования будет перехвачен, и при необходимости драйвер будет сброшен.

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

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

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

Ограничения

Новая модель драйвера требует, чтобы графическое оборудование имело шейдерную модель По крайней мере, 2.0 поддерживает, поскольку конвейер фиксированных функций теперь переведен на 2.0 шейдеры. Однако, по данным Microsoft на 2009 год, только около 1-2 процентов оборудования под управлением Windows Vista использовали XDDM, а остальное уже поддерживало WDDM. Также требуются некоторые другие аппаратные функции; следовательно, некоторое оборудование с поддержкой SM 2.0, такое как Intel GMA 900, не проходит сертификацию WDDM.

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

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

Потребность в новой модели драйвера дисплея

Одним из основных сценариев, которые поддерживает модель драйвера дисплея Windows, является Диспетчер окон рабочего стола. Поскольку рабочий стол и окна приложений, управляемые DWM, являются приложениями Direct3D, количество открытых окон напрямую влияет на объем необходимой видеопамяти. Поскольку количество открытых окон не ограничено, доступная видеопамять может оказаться недостаточной, что потребует виртуализации. Поскольку содержимое окна, которое DWM объединяет в окончательный рабочий стол, генерируется различными процессами, необходимо совместное использование поверхностей между процессами. Кроме того, поскольку могут быть другие приложения DirectX, работающие вместе с DWM на рабочем столе, управляемом DWM, они должны иметь доступ к графическому процессору совместно, что требует планирования.

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

История

WDDM 1.0

Windows Vista представила WDDM 1.0 как новую архитектуру драйвера дисплея, разработанную для повышения производительности, надежности и поддержки новых технологий, включая HDCP. Hybrid Sleep, который сочетает в себе функции гибернации и спящего режима для повышения стабильности в случае сбоя питания, также требует WDDM.

WDDM 1.1

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

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

DXGI 1.1, Direct3D 11, Direct2D и DirectWrite стали доступны с Windows Vista Platform Update ; однако GDI / GDI + в Vista продолжает полагаться на программный рендеринг, и Desktop Window Manager продолжает использовать Direct3D 9Ex.

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

WDDM 1.2

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

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

WDDM 1.2 поддерживает драйверы WDDM только для отображения и только для рендеринга, такие как Microsoft Базовый драйвер дисплея и базовый драйвер рендеринга Microsoft на основе WARP, который заменил драйвер режима ядра VGA.

WDDM 1.0 / 1.1 допускает только элементарное планирование задач с использованием гранулярности «пакетной очереди»; Улучшения многозадачности, а также быстрое переключение контекста и поддержка виртуальной памяти первоначально ожидались в версиях с предварительным названием WDDM 2.0 и WDDM 2.1, о которых было объявлено на WinHEC 2006.

WDDM 1.3

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

WDDM 2.0

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

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

Модель драйвера дисплея из Windows 8.1 и Windows Phone объединилась в единую модель для Windows 10.

Реализована новая модель памяти, которая дает каждому графическому процессору виртуальное адресное пространство для каждого процесса. Прямая адресация видеопамяти по-прежнему поддерживается WDDMv2 для графического оборудования, которое требует этого, но это считается устаревшим случаем. Ожидается, что IHV разработают новое оборудование, поддерживающее виртуальную адресацию. Существенные изменения были внесены в DDI, чтобы включить эту новую модель памяти.

WDDM 2.1

Windows 10 Anniversary Update (версия 1607) включает WDDM 2.1, который поддерживает Shader Model 6.0 (обязательно для уровней функций 12_0 и 12_1) и DXGI 1.5 который поддерживает HDR10 - 10-битный формат с расширенным динамическим диапазоном и широкой гаммой, определенный в Рекомендации МСЭ-Т Рек. 2100 / Rec.2020 - и переменная частота обновления.

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. Ниже приведен список новых функций для разработки драйвера дисплея Windows в Windows 10 версии 1709:

  • Shader Model 6.1, добавление поддержки экземпляров представления и барицентрической семантики.
  • Display ColorSpace Transform DDI предоставляют дополнительные контроль над преобразованиями цветового пространства, применяемыми в конвейере отображения после компоновки.
  • Функция D3D12 Copy Queue Timestamp Queries позволяет приложениям выдавать запросы временных меток в списках / очередях команд COPY. Эти временные метки указаны для работы идентично меткам времени на других механизмах.
  • Улучшенная интеграция видео с Direct3D12 Runtime посредством: аппаратного ускорения декодирования видео, защиты контента и обработки видео

WDDM 2.4

Windows 10 Обновление от апреля 2018 г. (версия 1803) включает WDDM 2.4. Обновления для разработки драйвера дисплея в Windows 10 версии 1803 включают следующие функции:

  • Shader Model 6.2, добавление поддержки 16-битных скаляров и возможность выбора поведения с денормальными значениями.
  • Indirect Display UMDF class extension, драйвер может передавать SRM в графический процессор визуализации и иметь механизм для запроса используемой версии SRM.
  • Поддержка аппаратной изоляции графического процессора IOMMU, повышающая безопасность за счет ограничения доступа графического процессора к системе
  • Поддержка паравиртуализации графического процессора, позволяющая драйверам дисплея предоставлять возможности рендеринга в виртуализированных средах Hyper-V.
  • Яркость, новый интерфейс для поддержки нескольких дисплеев, которые можно настроить для калибровки на основе нитей уровней яркости.
  • Шифрование потока битов D3D11, раскрытие CENC, CENS, CBC1 и CBCS с 8- или 16-байтовыми векторами инициализации.
  • Гистограмма декодирования видео D3D11 и D3D12, позволяющая использовать оборудование с фиксированными функциями для гистограмма для улучшения тонального отображения как lity для сценариев HDR / EDR.
  • Декодирование видео D3D12 теперь поддерживает уровень декодирования II, позволяя приложениям амортизировать затраты на выделение ресурсов и снижать пиковое использование памяти при изменении разрешения.
  • Уровень мозаичных ресурсов и атомарность LDA, новый уровень совместного использования между узлами, чтобы добавить поддержку инструкций атомарного шейдера, работающих через узлы связанных адаптеров (LDA), что позволяет реализовать несколько методов рендеринга графического процессора, таких как рендеринг с разделением кадров (SFR). система для явного запроса дизеринга в сценариях, где требуется более высокая эффективная битовая глубина, чем физически доступна в соединении с монитором, например, для HDR10 через HDMI 2.0.
  • Переопределение улучшения цвета после обработки, позволяя операционной системе выполнять потребовать от драйвера временно отключить любую постобработку, которая улучшает или изменяет цвета дисплея, для определенных сценариев приложений, чтобы обеспечить колориметрически точное цветовое поведение на дисплее, и безопасно сосуществовать с OEM или Запатентованные IHV улучшения цвета дисплея.
  • Direct3D12 и видео, новый API и DDI для обеспечения доступа к аппаратному ускорению декодирования видео, защиты контента и обработки видео.
  • DisplayID, новый DDI, разработанный для позволяют запрашивать дескриптор VESA DisplayID с дисплея, управляемого графическим адаптером.
  • Данные производительности графического процессора, расширение для предоставления информации об аппаратном обеспечении графического процессора, такой как температура, скорость вращения вентилятора, тактовая частота для двигателей и памяти, пропускная способность памяти, потребляемая мощность и напряжения.
  • SupportContextlessPresent, ограничение на драйвер, чтобы помочь IHV встроить новый драйвер.
  • Улучшения поддержки внешнего / съемного графического процессора в ОС, обеспечивающие лучшую поддержку съемных графических процессоров.
  • Диагностика дисплея, с изменениями интерфейса драйвера устройства в режиме ядра, позволяющими драйверу контроллера дисплея сообщать о диагностических событиях в операционную систему.
  • Общие компоненты питания графики, позволяющие драйверы без графической подсистемы участвовать в силе • управление графическим устройством.
  • Улучшения общих текстур, увеличение количества типов текстур, которые могут использоваться процессами и устройствами Direct3D, добавление поддержки монохромного изображения с минимальным копированием памяти.

WDDM 2.5

Обновление Windows 10 за октябрь 2018 г. (версия 1809) включает WDDM 2.5. Обновления для разработки драйвера дисплея в Windows 10 версии 1809 включают следующие функции:

  • Shader Model 6.3, добавление поддержки DirectX12 Raytracing (DXR).
  • Raytracing для поддержки аппаратного ускорения трассировка лучей в Direct3D 12.
  • Требования универсального драйвера, драйверы должны гарантировать, что их драйверы пользовательского режима DirectX 11 и DirectX12 и драйверы режима ядра, а также другие библиотеки DLL, загружаемые этими компонентами, соответствуют универсальному API.
  • Уровень 3 мозаичных ресурсов только для SRV, новый бит возможности для мозаичных ресурсов, раскрывающий текстуры разреженных объемов без необходимости поддержки операций неупорядоченного доступа и целевого объекта рендеринга.
  • Проход рендеринга, представляющий концепцию прохождения рендеринга в Direct3D 12, добавление новых API-интерфейсов для запуска на существующих драйверах и позволяющих драйверам пользовательского режима выбирать оптимальный путь рендеринга без значительных потерь ЦП.
  • Мета-команды, добавление поддержки предварительного просмотра для DirectML, высокопроизводительного оборудования -Ускоренная библиотека DirectX 12 для машинного выпуска рнинг. В Windows 10 версии 1903 и более новых мета-команды и DirectML являются стабильной частью Windows.
  • Компенсация яркости HDR, новое повышение яркости SDR, повышающее эталонный белый цвет содержимого SDR до желаемого пользователем значения, что позволяет Содержание SDR должно воспроизводиться с типичными 200–240 нит. Он также позволяет сообщать, поддерживает ли оборудование / драйвер вывод HDR в формате пикселей FP16 или только в формате пикселей ARGB10.
  • Уровень белого SDR, чтобы графические драйверы знали значение уровня белого SDR, применяемое ОС композитор для всего содержимого SDR для дисплея, работающего в режиме HDR.
  • Синхронизация дисплея, позволяющая операционной системе проверять возможности синхронизации дисплея, если дисплей предоставляется драйвером, и до включения дисплея.
  • Отслеживаемые рабочие нагрузки также была добавлена ​​в качестве экспериментальной функции для лучшего контроля компромисса между более быстрым выполнением процессора и более низким энергопотреблением, но была удалена из Windows 10 версии 2004 и устарела из более ранних версий ОС как часть исправление безопасности.

WDDM 2.6

Обновление Windows 10 за май 2019 г. (версия 1903) включает WDDM 2.6. Обновления для разработки драйвера дисплея в Windows 10 версии 1903 включают следующие функции:

  • Shader Model 6.4, добавление поддержки встроенных функций скалярного произведения с низкой точностью и для подобъектов библиотеки для упрощения трассировки лучей.
  • Super Wet Ink, позволяющий создавать текстуры в форматах и ​​режимах, которые изначально не поддерживаются IHV, преобразовывая их как проекцию ресурсов в формат, который изначально поддерживает оборудование / драйверы, что позволяет оптимизировать внутренние драйверы.
  • Затенение с переменной скоростью., также известный как грубое затенение пикселей, механизм, позволяющий распределять производительность / мощность визуализации с различными скоростями для визуализированных изображений. Он имеет два уровня (уровень 1 и уровень 2).
  • Сбор диагностической информации, позволяющий операционной системе собирать личные данные от драйверов для функций визуализации и отображения. Эта новая функция является требованием WDDM 2.6.
  • Фоновая обработка, позволяя драйверам пользовательского режима выражать желаемое поведение потоковой передачи, а среде выполнения - управлять / отслеживать его. API-интерфейсы позволяют приложениям регулировать объем фоновой обработки, подходящий для их рабочих нагрузок, и когда выполнять эту работу.
  • «Горячее обновление драйвера», сокращающее время простоя сервера и позволяющее оперативное исправление безопасности драйвера для драйвера режима ядра.

WDDM 2.7

Обновление Windows 10 от мая 2020 г. (версия 2004) включает WDDM 2.7. Обновления для разработки драйвера дисплея в Windows 10 версии 2004 включают следующие функции:

  • Shader Model 6.5, добавление поддержки новых возможностей конвейера, а также дополнительных встроенных функций Wave.
  • Планирование GPU с аппаратным ускорением : маскируется как дополнительная опция в системных настройках, когда она включена, выгружает высокочастотные задачи на выделенный процессор планирования на базе графического процессора, уменьшая накладные расходы на планирование ЦП. Требуется специальное оборудование и поддержка драйверов.
  • Обратная связь сэмплера, позволяющая более точно настроить использование ресурсов в сцене. Он поставляется с двумя уровнями (уровень 0.9 и уровень 1.0).
  • DirectX Raytracing (DXR) Tier 1.1, включая встроенную трассировку лучей, диспетчеризацию косвенных лучей, увеличение объекта состояния без необходимости создания нового, и дополнительные форматы вершин для структур ускорения.
  • Этапы шейдеров сетки и усиления, новый дополнительный конвейер геометрии, заменяющий традиционный конвейер (этапы ассемблера ввода-вершин-корпуса-тесселатора-домена-геометрия и потокового вывода)..
  • Улучшенный контроль выделения памяти с улучшенным контролем резидентности и возможностью не обнулять вновь создаваемые кучи.
  • Взаимодействие ресурсов Direct3D 9, позволяющее проецировать ресурс Direct3D 9 в приложение Direct3D 12.
  • Поддержка защищенного видеоресурса Direct3D 12, позволяющая воспроизводить защищенный контент в приложении Direct3D 12.

WDDM 2.9

Обновление Windows 10 21H1 будет включать WDDM 2.9, обеспечивая поддержку аппаратного ускорения графического процессора для Подсистема Windows для Linux 2 (WSL 2) и поддержка уровня функций 12_2.

См. Также
Ссылки
Последняя правка сделана 2021-06-21 10:43:58
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте