Es un reemplazo del modelo de controlador de pantalla XDDM/XPDM [3] anterior de Windows 2000 y Windows XP y tiene como objetivo permitir gráficos de mejor rendimiento y nueva funcionalidad y estabilidad de gráficos. [2] Los controladores de pantalla en Windows Vista y Windows 7 pueden optar por adherirse a WDDM o XDDM. [4] Sin embargo , con la eliminación de XDDM de Windows 8 , WDDM se convirtió en la única opción. [5]
WDDM proporciona la funcionalidad necesaria para representar el escritorio y las aplicaciones utilizando Desktop Window Manager , un administrador de ventanas de composición que se ejecuta sobre Direct3D . También admite nuevas interfaces DXGI necesarias para la creación y gestión básica de dispositivos. La especificación WDDM requiere al menos una tarjeta de video compatible con Direct3D 9 y el controlador de pantalla debe implementar las interfaces del controlador de dispositivo para el tiempo de ejecución de Direct3D 9Ex para poder ejecutar aplicaciones Direct3D heredadas; Opcionalmente, puede implementar interfaces de tiempo de ejecución para Direct3D 10 y superior.
Funciones habilitadas por WDDM
Los controladores WDDM habilitan áreas de funcionalidad que los modelos de controladores de pantalla anteriores no proporcionaban de manera uniforme. Éstas incluyen:
Memoria de vídeo virtualizada
En el contexto de los gráficos, la virtualización significa que los procesos individuales (en modo de usuario ) no pueden ver la memoria de los procesos adyacentes, incluso mediante la inserción de comandos falsificados en el flujo de comandos. Los controladores WDDM permiten virtualizar la memoria de video [6] y paginar los datos de video de la memoria de video a la RAM del sistema. En caso de que la memoria de vídeo disponible resulte insuficiente para almacenar todos los datos y texturas del vídeo, los datos actualmente no utilizados se trasladan a la RAM del sistema o al disco. Cuando se necesitan los datos intercambiados, se recuperan. La virtualización podría ser compatible con modelos de controladores anteriores (como el modelo de controlador XP) hasta cierto punto, pero era responsabilidad del controlador, en lugar de manejarse en el nivel de tiempo de ejecución.
Planificación
El tiempo de ejecución maneja la programación de contextos gráficos simultáneos. [7] Cada lista de comandos se coloca en una cola para su ejecución por la GPU , y el tiempo de ejecución puede adelantarla si llega una tarea más crítica y si no ha comenzado la ejecución. Esto difiere de los subprocesos nativos en la CPU donde una tarea no se puede interrumpir y, por lo tanto, puede tardar más de lo necesario y hacer que la computadora parezca menos receptiva. Un algoritmo de programación híbrido entre subprocesos nativos y ligeros con cooperación entre subprocesos lograría un paralelismo perfecto. Es importante señalar que la programación no es un concepto nuevo, pero anteriormente era responsabilidad de los desarrolladores de controladores individuales. WDDM intenta unificar la experiencia entre diferentes proveedores controlando la ejecución de las tareas de GPU.
Uso compartido entre procesos de superficies Direct3D
Una superficie de gráficos Direct3D es el área de memoria que contiene información sobre las mallas texturizadas utilizadas para representar una escena 2D o 3D. WDDM permite compartir superficies Direct3D entre procesos . [8] Por lo tanto, una aplicación puede incorporar una malla creada por otra aplicación en la escena que está renderizando. Compartir texturas entre procesos antes de WDDM era difícil, ya que habría requerido copiar los datos de la memoria de video a la memoria del sistema y luego volver a la memoria de video para el nuevo dispositivo.
Tolerancia a fallos mejorada
Si un controlador WDDM se bloquea o encuentra una falla, la pila de gráficos reiniciará el controlador. [2] [9] Se interceptará una falla del hardware de gráficos y, si es necesario, se restablecerá el controlador.
Los controladores de Windows XP tenían libertad para solucionar los fallos de hardware como mejor les pareciera, ya sea informándolo al usuario o intentando recuperarlos silenciosamente. En algunos casos, cuando el controlador de pantalla se puede detener de forma segura, Windows XP puede alertar sobre el fallo del controlador de pantalla y, al mismo tiempo, desactivar el controlador de vídeo, reduciendo así la resolución de la pantalla a 640x480 con sólo 16 colores. Con un controlador WDDM, lo más probable es que la resolución de la pantalla no se vea afectada; todas las fallas de hardware hacen que se reinicie el controlador y se notificará al usuario mediante una ventana emergente; esto unifica el comportamiento entre proveedores.
Los controladores anteriores se implementaban completamente en modo kernel, mientras que WDDM se implementaba parcialmente en modo usuario. Si el área del modo de usuario falla con un error irrecuperable, como máximo, hará que la aplicación se cierre inesperadamente en lugar de producir un error de pantalla azul como lo haría en los modelos de controladores anteriores.
WDDM también permite restablecer el hardware de gráficos y que los usuarios actualicen los controladores sin necesidad de reiniciar. [2]
Limitaciones
El nuevo modelo de controlador requiere que el hardware de gráficos sea compatible con Shader Model 2.0 al menos, ya que la canalización de funciones fijas ahora se traduce a sombreadores 2.0 . Sin embargo, según Microsoft en 2009, sólo entre el 1 y el 2 por ciento del hardware que ejecutaba Windows Vista utilizaba XDDM, [10] y el resto ya era compatible con WDDM. También requiere algunas otras características de hardware; en consecuencia, algunos hardware compatibles con SM 2.0, como el Intel GMA 900, no superan la certificación WDDM. [11]
Una de las limitaciones del modelo de controlador WDDM versión 1.0 es que no admite varios controladores en una configuración de múltiples adaptadores y múltiples monitores. Si un sistema de monitores múltiples tiene más de un adaptador de gráficos que alimenta los monitores, ambos adaptadores deben usar el mismo controlador WDDM. Si se utiliza más de un controlador, Windows desactivará uno de ellos. [12] WDDM 1.1 no tiene esta limitación. [13]
WDDM 1.0/1.1 no permite algunos modos que anteriormente manejaba el controlador, como el modo de expansión (estirar el escritorio a través de dos monitores) [14] [15] aunque la vista dual todavía está disponible. [12] [16]
Necesidad de un nuevo modelo de controlador de pantalla
Uno de los principales escenarios que permite el modelo de controlador de pantalla de Windows es el Administrador de ventanas de escritorio . Dado que el escritorio y las ventanas de aplicaciones administradas por DWM son aplicaciones Direct3D, la cantidad de ventanas abiertas afecta directamente la cantidad de memoria de video requerida. Debido a que no hay límite en la cantidad de ventanas abiertas, la memoria de video disponible puede resultar insuficiente y requerir virtualización. Como el contenido de la ventana que DWM compone en el escritorio final se genera mediante diferentes procesos, es necesario compartir la superficie entre procesos. Además, debido a que puede haber otras aplicaciones DirectX ejecutándose junto con DWM en el escritorio administrado por DWM, deben poder acceder a la GPU de manera compartida, lo que requiere programación.
Aunque esto es cierto para la implementación de Microsoft de un escritorio compuesto en Windows Vista, por otro lado, un escritorio compuesto no necesita teóricamente requerir un nuevo modelo de controlador de pantalla para funcionar como se espera. Se realizaron implementaciones exitosas de escritorios compuestos antes de Windows Vista en otras plataformas como Quartz , Compiz , WindowFX . El enfoque que intentó Microsoft fue intentar asegurarse de que WDDM fuera una experiencia unificada entre diferentes GPU de múltiples proveedores al estandarizar sus características y rendimiento. Las funciones de software que faltan en otros modelos de controladores podrían volverse irrelevantes mediante extensiones o si existiera un modelo de controlador menos restrictivo o simplemente diferente.
Historia
WDDM 1.0
Windows Vista presentó WDDM 1.0 como una nueva arquitectura de controlador de pantalla diseñada para ofrecer un mejor rendimiento, ser más confiable y admitir nuevas tecnologías, incluido HDCP . Hybrid Sleep , que combina la funcionalidad de hibernación y modo de suspensión para mejorar la estabilidad en caso de un corte de energía, también requiere WDDM. [2] [ ¿por qué? ]
WDDM 1.1
Windows 7 admite adiciones importantes a WDDM conocidas como WDDM 1.1; Los detalles de esta nueva versión se dieron a conocer en WinHEC 2008. Las nuevas características incluyen: [10]
DXGI 1.1, que presenta el retorno de la aceleración 2D por hardware para uso de GDI [17] (pero no GDI+) y Direct2D / DirectWrite
Decodificación opcional de contenido de vídeo cifrado
Admite múltiples controladores en una configuración de múltiples adaptadores y múltiples monitores [10] [20]
La aceleración de hardware de las operaciones GDI y Direct2D/DirectWrite ayuda a reducir el uso de memoria en Windows 7, porque el motor de composición DWM ya no necesita mantener una copia de la memoria del sistema de todas las superficies utilizadas por GDI/GDI+, como en Windows Vista. [21] [22] [23]
Los controladores WDDM 1.1 son compatibles con versiones anteriores de la especificación WDDM 1.0; Tanto los controladores 1.0 como 1.1 se pueden utilizar en Windows Vista con o sin la Actualización de plataforma. [10]
WDDM 1.2
Windows 8 incluye WDDM 1.2 [26] [27] y DXGI 1.2. [27] [28] Las nuevas funciones se presentaron por primera vez en la conferencia Build 2011 e incluyen mejoras de rendimiento, así como soporte para renderizado 3D estereoscópico y reproducción de video.
Otras características importantes incluyen la multitarea preventiva de la GPU con una granularidad más fina (búfer DMA, primitivo, triángulo, píxel o nivel de instrucción), [29] huella de memoria reducida, intercambio de recursos mejorado y detección y recuperación de tiempo de espera más rápidas. Los formatos de superficie de color de 16 bits (565, 5551, 4444) son obligatorios en Windows 8 y Direct3D 11 Video admite formatos de vídeo YUV 4 :4:4/4:2:2/4:2:0/4:1:1 con precisión de 8, 10 y 16 bits, así como formatos paletizados de 4 y 8 bits. [30]
WDDM 1.2 admite controladores WDDM de solo visualización y solo renderizado, como el controlador de pantalla básico de Microsoft [31] y el controlador de renderizado básico de Microsoft basado en WARP que reemplazó al controlador VGA en modo kernel .
WDDM 1.0/1.1 sólo permite una programación de tareas rudimentaria utilizando granularidad de "cola por lotes"; Inicialmente se esperaban mejoras en la multitarea, así como un rápido cambio de contexto y soporte para memoria virtual , en las versiones denominadas provisionalmente WDDM 2.0 y WDDM 2.1, que se anunciaron en WinHEC 2006. [32] [33] [34]
WDDM 1.3
Windows 8.1 incluye WDDM 1.3 [35] y DXGI 1.3. [36] Las nuevas incorporaciones incluyen la capacidad de recortar el uso de memoria del adaptador DXGI, superposiciones multiplano, cadenas de intercambio superpuestas y escalado de la cadena de intercambio, selección de subregión de backbuffer para la cadena de intercambio y presentación de la cadena de intercambio de menor latencia. Las funciones adicionales del controlador incluyen pantallas inalámbricas ( Miracast ), rangos de formato YUV , recursos de adaptadores cruzados y capacidades de enumeración del motor GPU. Mejoras en el rendimiento del kernel de gráficos.[1]
WDDM 2.0
Windows 10 incluye WDDM 2.0, que está diseñado para reducir drásticamente la carga de trabajo en el controlador en modo kernel para GPU que admiten direccionamiento de memoria virtual, [37] para permitir el paralelismo de subprocesos múltiples en el controlador en modo usuario y dar como resultado una menor utilización de la CPU. [38] [39] [40] [41] Windows 10 también incluye DXGI 1.4. [42]
La API Direct3D 12, anunciada en Build 2014 , requiere WDDM 2.0. La nueva API eliminará las tareas automáticas de gestión de recursos y de canalización y permitirá a los desarrolladores tomar un control total de bajo nivel de la memoria del adaptador y los estados de renderizado.
El modelo de controlador de pantalla de Windows 8.1 y Windows Phone ha convergido en un modelo unificado para Windows 10. [43]
Se implementa un nuevo modelo de memoria que le da a cada GPU un espacio de direcciones virtuales por proceso. WDDMv2 todavía admite el direccionamiento directo de la memoria de video para el hardware de gráficos que lo requiere, pero eso se considera un caso heredado. Se espera que los IHV desarrollen nuevo hardware que admita direccionamiento virtual. Se han realizado cambios significativos en el DDI para habilitar este nuevo modelo de memoria.
La actualización de Windows 10 Fall Creators (versión 1709) incluye WDDM 2.3. La siguiente es una lista de nuevas características para el desarrollo del controlador de pantalla de Windows en Windows 10, versión 1709: [48]
Shader Model 6.1 , que agrega soporte para instancias de vista y semántica baricéntrica. [49]
Los DDI Display ColorSpace Transform brindan control adicional sobre las transformaciones del espacio de color aplicadas en el proceso de visualización posterior a la composición.
La función D3D12 Copy Queue Timestamp Queries permitirá que las aplicaciones emitan consultas de marca de tiempo en listas/colas de comandos COPY. Estas marcas de tiempo están especificadas para funcionar de manera idéntica a las marcas de tiempo de otros motores.
Integración de video mejorada en Direct3D12 Runtime a través de: decodificación de video acelerada por hardware, protección de contenido y procesamiento de video.
WDDM 2.4
La actualización de Windows 10 de abril de 2018 (versión 1803) incluye WDDM 2.4. Las actualizaciones para mostrar el desarrollo de controladores en Windows 10 versión 1803 incluyen las siguientes características [50] .:
Shader Model 6.2 , agregando soporte para escalares de 16 bits y la capacidad de seleccionar comportamientos con valores anormales. [51]
Extensión de clase UMDF de visualización indirecta , el controlador puede pasar el SRM a la GPU de renderizado y tener un mecanismo para consultar la versión de SRM que se está utilizando.
Soporte de aislamiento de GPU basado en hardware de IOMMU , que aumenta la seguridad al restringir el acceso de la GPU a la memoria del sistema.
Soporte de paravirtualización de GPU , que permite que los controladores de pantalla proporcionen capacidades de renderizado a entornos virtualizados de Hyper-V.
Brillo , una nueva interfaz que admite múltiples pantallas que se pueden configurar en niveles de brillo calibrados basados en nits.
Cifrado de flujo de bits D3D11 , que expone CENC, CENS, CBC1 y CBCS con vectores de inicialización de 8 o 16 bytes.
Histograma de decodificación de video D3D11 y D3D12 , lo que permite aprovechar el hardware de función fija para el histograma para mejorar la calidad del mapeo de tonos para escenarios HDR/EDR.
La decodificación de video D3D12 ahora es compatible con Decode Tier II, lo que permite a las aplicaciones amortizar el costo de asignación y reducir el uso máximo de memoria durante el cambio de resolución.
Nivel de recursos en mosaico y átomos LDA , un nuevo nivel de intercambio entre nodos para agregar soporte para instrucciones de sombreador atómico que funcionan en nodos de adaptador vinculado (LDA), lo que permite implementar múltiples técnicas de renderizado de GPU, como el renderizado de cuadros divididos (SFR).
Compatibilidad con dithering de GPU , lo que permite que el sistema operativo solicite explícitamente dithering en escenarios en los que se necesita una profundidad de bits efectiva mayor que la que está físicamente disponible en el enlace del monitor, por ejemplo, para HDR10 sobre HDMI 2.0.
Anulación de mejora de color de posprocesamiento , lo que permite que el sistema operativo solicite que el controlador deshabilite temporalmente cualquier posprocesamiento que mejore o altere los colores de la pantalla, para escenarios de aplicaciones específicos para imponer un comportamiento de color colorimétricamente preciso en la pantalla y coexistir de forma segura con OEM o IHV. -Mejoras de color de pantalla patentadas.
Direct3D12 y Video , nuevas API y DDI para brindar acceso a decodificación de video acelerada por hardware, protección de contenido y procesamiento de video.
DisplayID , un nuevo DDI, diseñado para permitir que el descriptor DisplayID de VESA se consulte desde una pantalla controlada por un adaptador de gráficos.
Datos de rendimiento de GPU , una extensión para exponer información sobre el hardware de la GPU, como temperatura, velocidad del ventilador, velocidades de reloj para motores y memoria, ancho de banda de la memoria, consumo de energía y voltajes.
SupportContextlessPresent , un límite de conductor para ayudar a los IHV a incorporar nuevos conductores.
Mejoras en la compatibilidad con GPU externas/extraíbles en el sistema operativo , lo que proporciona una mejor compatibilidad con GPU desmontables .
Display Diagnostics , con cambios en la interfaz del controlador de dispositivo en modo Kernel para permitir que el controlador de un controlador de pantalla informe eventos de diagnóstico al sistema operativo.
Componentes de energía de gráficos compartidos , que permiten que los controladores no gráficos participen en la administración de energía de un dispositivo gráfico.
Mejoras en texturas compartidas , aumentando los tipos de texturas que se pueden compartir entre procesos y dispositivos Direct3D, agregando soporte a monocromo con copia mínima de memoria.
WDDM 2.5
Actualización de Windows 10 de octubre de 2018 (versión 1809) Incluye WDDM 2.5. [52] Las actualizaciones para el desarrollo del controlador de pantalla en Windows 10, versión 1809, incluyen las siguientes características: [53]
Shader Model 6.3 , agregando soporte para DirectX12 Raytracing (DXR). [54]
Raytracing , para admitir el trazado de rayos acelerado por hardware en Direct3D 12.
Requisitos del controlador universal , los controladores deberán asegurarse de que sus controladores en modo de usuario DirectX 11 y DirectX12 y sus controladores en modo kernel, así como otras DLL cargadas por estos componentes, cumplan con la API universal.
Nivel 3 de recursos en mosaico solo SRV , un nuevo bit de capacidad para recursos en mosaico, que expone texturas de volumen disperso sin requerir acceso desordenado ni soporte para operaciones de destino de renderizado.
Render Pass , que introduce el concepto de paso de renderizado en Direct3D 12, agrega nuevas API que se ejecutarán en controladores existentes y permite que los controladores en modo de usuario elijan la ruta de renderizado óptima sin una gran penalización de la CPU.
Metacomandos , que agregan soporte de vista previa para DirectML , una biblioteca DirectX 12 de alto rendimiento acelerada por hardware para aprendizaje automático. Con Windows 10 versión 1903 y metacomandos más recientes, DirectML son una parte estable de Windows. [55]
Compensación de brillo HDR , un nuevo aumento de brillo SDR que eleva el blanco de referencia del contenido SDR al valor deseado por el usuario, lo que permite reproducir el contenido SDR a un nivel típico de 200-240 nits. También permite informar si el hardware/controlador admite salida HDR a través del formato de píxeles FP16 o solo el formato de píxeles ARGB10.
Nivel de blanco SDR , para que los controladores de gráficos sepan el valor del nivel de blanco SDR que aplica el compositor del sistema operativo para todo el contenido SDR, para una pantalla que se ejecuta en modo HDR.
Sincronización de pantalla , que permite al sistema operativo verificar las capacidades de sincronización de pantalla si el controlador la expone y antes de habilitarla.
Las cargas de trabajo rastreadas también se agregaron como una característica experimental para controlar mejor la compensación entre una ejecución más rápida del procesador y un menor consumo de energía, pero se eliminaron de Windows 10 versión 2004 y quedaron obsoletas en versiones anteriores del sistema operativo como parte de una solución de seguridad.
WDDM 2.6
La actualización de Windows 10 de mayo de 2019 (versión 1903) incluye WDDM 2.6. Las actualizaciones para mostrar el desarrollo de controladores en Windows 10 versión 1903 incluyen las siguientes características: [56]
Shader Model 6.4 , que agrega compatibilidad con productos puntuales empaquetados de baja precisión y subobjetos de biblioteca para simplificar el trazado de rayos. [57]
Super Wet Ink , que permite la creación de texturas en formatos y modos que los IHV no admiten de forma nativa, resolviéndolas como una proyección de recursos a un formato que el hardware/controladores admiten de forma nativa, lo que permite optimizaciones de controladores internos.
Sombreado de velocidad variable , también conocido como sombreado de píxeles grueso , un mecanismo que permite la asignación del rendimiento/potencia de renderizado a diferentes velocidades entre las imágenes renderizadas. Viene con dos niveles (nivel 1 y nivel 2).
Recopile información de diagnóstico , lo que permite que el sistema operativo recopile datos privados de los controladores para las funciones de representación y visualización. Esta nueva característica es un requisito en WDDM 2.6.
Procesamiento en segundo plano , que permite que los controladores en modo de usuario expresen el comportamiento de subprocesos deseado y el tiempo de ejecución para controlarlo/monitorearlo. Las API permiten que las aplicaciones ajusten la cantidad de procesamiento en segundo plano que es adecuada para sus cargas de trabajo y cuándo realizar ese trabajo.
Actualización en caliente del controlador , que reduce el tiempo de inactividad del servidor y permite aplicar parches en caliente de seguridad al controlador en modo kernel.
Microsoft Compute Driver Model (MCDM) , para procesadores de IA como NPU .
WDDM 2.7
La actualización de Windows 10 de mayo de 2020 [58] (Versión 2004) incluye WDDM 2.7. Las actualizaciones para mostrar el desarrollo de controladores en Windows 10 versión 2004 incluyen las siguientes características: [59]
Shader Model 6.5 , que agrega soporte a las nuevas capacidades de canalización, así como elementos intrínsecos de Wave adicionales. [60]
Programación de GPU acelerada por hardware : enmascarada como una opción adicional en la configuración del sistema, cuando está habilitada, descarga tareas de alta frecuencia a un procesador de programación dedicado basado en GPU, lo que reduce la sobrecarga de programación de la CPU. Requiere compatibilidad con controladores y hardware ad hoc. [61]
Sampler Feedback , que permite un ajuste más preciso del uso de recursos en una escena. [62] Viene con dos niveles (nivel 0.9 y nivel 1.0). [63]
DirectX Raytracing (DXR) Tier 1.1 , que introduce trazado de rayos en línea, envío de rayos indirectos, aumento del estado del objeto sin necesidad de crear uno nuevo y formatos de vértices adicionales para estructuras de aceleración. [64]
Etapas de sombreadores de malla y amplificación , una nueva canalización de geometría opcional que reemplaza la canalización tradicional (etapas de entrada ensamblador-vértice-casco-tesselador-dominio-geometría y salida de flujo). [sesenta y cinco]
Control de asignación de memoria mejorado , con mejor control de residencia y la posibilidad de no poner a cero explícitamente los montones recién creados. [66]
Interoperabilidad de recursos de Direct3D 9 , que permite proyectar un recurso de Direct3D 9 en una aplicación de Direct3D 12. [67]
Compatibilidad con recursos protegidos de vídeo Direct3D 12 , que permite reproducir contenido protegido en una aplicación Direct3D 12. [68]
WDDM 2.8
Windows 10 Insider Preview Manganese incluía WDDM 2.8, pero nunca se demostró públicamente ningún controlador que lo admitiera y se omitió en las versiones de desarrollo "Iron" y "Cobalt".
WDDM 2.9
WDDM 2.9 en Windows 10 Insider Preview "Iron" brindará soporte para la aceleración de hardware GPU al subsistema de Windows para Linux 2 (WSL 2) [69] y soporte para el nivel de característica 12_2 [70] y HLSL Shader Model 6.6. [71]
WDDM 3.0
La versión minorista final de Windows 11 RTM (versión 21H2) incluye WDDM 3.0, [72] [73] que mejora la arquitectura de gráficos en el subsistema de Windows para Linux [74] agregando: [75]
Controlador de modo usuario compilado para Linux en el paquete WSL.
Controlador de host montado en Linux
Frecuencia de actualización dinámica [76]
Codificación de vídeo Direct3D 12 [77]
Cola de cambio de hardware [78]
WDDM 3.1
La actualización de Windows 11 2022 (versión 22H2) incluye WDDM 3.1. [79] [80]
Modelo de sombreador 6.7 [81]
Reasignación de IOMMU DMA [82]
Compartiendo la tienda de respaldo con KMD [83]
WDDM 3.2
La actualización de Windows 11 2024 (versión 24H2) incluye WDDM 3.2. [84]
Modelo de sombreador 6.8 [85]
Seguimiento de bits sucios
Migración en vivo en dispositivos GPU-P
Objetos de valla de GPU nativos
Envío de trabajo en modo de usuario
Codificación de vídeo D3D12 AV1
Gráficos de trabajo [86]
Referencias
^ "Guía de diseño del modelo de controlador de pantalla de Windows (WDDM)". MSDN . Microsoft . Consultado el 19 de febrero de 2015 .
^ abcde "Modelo de controlador de pantalla de Windows Vista". MSDN . Microsoft . Julio de 2006. Archivado desde el original el 6 de mayo de 2010 . Consultado el 9 de diciembre de 2013 .
^ "XPDM frente a WDDM". MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 16 de diciembre de 2013 .
^ "Guía de diseño del modelo de controlador de pantalla de Windows 2000 (XDDM)". Centro de desarrollo de Windows: hardware . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
^ "Hoja de ruta para el desarrollo de controladores para el modelo de controlador de pantalla de Windows 2000 (XDDM)". Centro de desarrollo de Windows: hardware . Microsoft . 16 de noviembre de 2013 . Consultado el 16 de diciembre de 2013 . Los controladores XDDM y VGA no se compilarán en Windows 8 y versiones posteriores
^ "Informes de memoria gráfica a través de WDDM". MSDN . Microsoft . 9 de enero de 2007 . Consultado el 9 de diciembre de 2013 .
^ Schechter, Greg (2 de abril de 2006). "El papel del modelo de controlador de pantalla de Windows en DWM". Blog de Greg Schechter . Microsoft . Archivado desde el original el 20 de abril de 2010 . Consultado el 9 de diciembre de 2013 .
^ "Compartir recursos entre procesos". MSDN . Microsoft . 10 de diciembre de 2009 . Consultado el 9 de diciembre de 2013 .
^ "Detección de tiempo de espera y recuperación de GPU a través de WDDM". Detección y recuperación de tiempo de espera: Microsoft. Archivado desde el original el 6 de septiembre de 2011 . Consultado el 4 de septiembre de 2011 .
^ abcd "Guía gráfica para Windows 7". Microsoft. 12 de junio de 2009.
^ Excusa de Intel por no tener controlador WDDM GMA900: no hay "HW Scheduler" ni controlador, Beyond3D, 26 de octubre de 2006.
^ ab "Compatibilidad con MultiMonitor y Windows Vista" . Consultado el 20 de octubre de 2007 .
^ Blythe, David. "Trabajar con la arquitectura de gráficos de Windows 7". WinHEC 2008 . Microsoft . Archivado desde el original el 20 de octubre de 2013 . Consultado el 9 de diciembre de 2013 .
^ ¿Hay funciones del Panel de control que estaban disponibles en Windows XP y que ya no están disponibles en Windows Vista?
^ Escritorio ampliado o modo de expansión no disponible en Catalyst Control Center en Windows Vista Archivado el 17 de noviembre de 2009 en Wayback Machine .
^ "Descripción de DualView en Windows XP (Revisión 1.5)". Apoyo . Microsoft . 15 de enero de 2006 . Consultado el 9 de diciembre de 2013 .
^ "Aceleración de hardware GDI". MSDN . Microsoft . Consultado el 14 de junio de 2009 .
^ "DXVA-HD DDI". MSDN . Microsoft . Consultado el 13 de junio de 2009 .
^ "Superposición DDI". MSDN . Microsoft . Consultado el 13 de junio de 2009 .
^ "Múltiples monitores y redes de presentación de vídeo". MSDN . Microsoft . Consultado el 14 de julio de 2010 .
^ Schechter, Greg (3 de mayo de 2006). "Redireccionamiento de aplicaciones GDI, DirectX y WPF". Blog de Greg Schechter . Microsoft . Archivado desde el original el 5 de marzo de 2010 . Consultado el 9 de diciembre de 2013 .
^ Chitré, Ameet (25 de agosto de 2009). Sinofsky, Steven (ed.). "Ingeniería del rendimiento de gráficos de Windows 7". Ingeniería de Windows 7 . Microsoft . Consultado el 9 de diciembre de 2013 .
^ Mulcahy, Tom (11 de febrero de 2009). "Windows y memoria de vídeo". Zemblanidad . Microsoft . Consultado el 9 de diciembre de 2013 .
^ Olsen, Thomas (29 de octubre de 2008). "Presentación de la API de Microsoft Direct2D". Blog de Tom . Microsoft . Consultado el 9 de diciembre de 2013 .
^ Mark Lawrence (25 de noviembre de 2009). "Internet Explorer anuncia el uso de DirectWrite y Direct2D (comentario del funcionario de Microsoft)". Archivado desde el original el 8 de abril de 2014.
^ "Vista previa para desarrolladores de Windows: nueva para dispositivos de visualización". MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
^ ab "Mejoras en el modelo del controlador de pantalla de Windows en la Vista previa para desarrolladores de Windows". MSDN . Microsoft . 28 de septiembre de 2012 . Consultado el 9 de diciembre de 2013 .
^ "Mejoras en DXGI 1.2". MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
^ "Enumeración DXGI_Graphics_Preemption_Granularity". MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
^ "Enumeración DXGI_FORMAT". MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
^ "Controlador de pantalla básico de Microsoft: controladores de Windows".
^ Al-Kady, Nabeel. "Pruebas y logística de controladores de pantalla". WinHEC 2006 . Microsoft . Consultado el 9 de diciembre de 2013 .
^ Pronovost, Steve. "Modelo de controlador de pantalla de Windows (WDDM) v2 y posteriores". WinHEC 2006 . Microsoft . Consultado el 9 de diciembre de 2013 .
^ Dan Warne (1 de junio de 2006). "Se revisará el sistema de gráficos de Windows". Revista APC . Consultado el 20 de febrero de 2015 .
^ "Novedades de los controladores de pantalla de vista previa de Windows 8.1 (WDDM 1.3)". MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
^ "Mejoras en DXGI 1.3". MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
^ "Novedades de los controladores de pantalla Insider Preview de Windows 10 (WDDM 2.0)". Microsoft . Consultado el 3 de junio de 2015 .
^ McMullen, Max (2 de abril de 2014). Vista previa de la API de Direct3D 12. MSDN . Consultado el 3 de junio de 2015 .
^ Moreton, Henry (20 de marzo de 2014). "DirectX 12: un gran paso para los juegos | Blog de NVIDIA". Blogs.nvidia.com . Consultado el 26 de marzo de 2014 .
^ "DirectX 12 - Blog para desarrolladores de DirectX - Inicio del sitio - Blogs de MSDN". Blogs.msdn.com. 2014-03-20 . Consultado el 26 de marzo de 2014 .
^ Smith, Ryan (6 de febrero de 2015). "Vista previa del rendimiento de DirectX 12: AMD, NVIDIA y Star Swarm". AnandTech . Compra.
^ MSDN - Mejoras en DXGI 1.4
^ tedhudek. "Novedades en el desarrollo de controladores". docs.microsoft.com . Consultado el 8 de octubre de 2018 .
^ "HLSL Shader Model 6.0: aplicaciones Win32".
^ "Alto rango dinámico y amplia gama de colores (Windows)". msdn.microsoft.com . Archivado desde el original el 13 de septiembre de 2016.
^ "Pantallas de frecuencia de actualización variable: aplicaciones Win32".
^ "Channel9 se ha unido a Microsoft Learn".
^ "Adiciones de desarrollo de controladores para Windows 10, versión 1709 - Pantalla". docs.microsoft.com . Consultado el 14 de abril de 2020 .
^ "Modelo de sombreador 6.1". github.com/microsoft/DirectXShaderCompiler . Consultado el 1 de diciembre de 2017 .
^ "Novedades de Windows 10, versión 1803: Pantalla". docs.microsoft.com . Consultado el 28 de abril de 2020 .
^ "Modelo de sombreador 6.2". github.com/microsoft/DirectXShaderCompiler . Consultado el 1 de diciembre de 2017 .
^ "Funciones agregadas en versiones anteriores de WDDM 2.X: WDDM 2.5". Documentos de Microsoft . Consultado el 28 de marzo de 2020 .
^ "Controladores de Windows - Novedades de Windows 10, versión 1809 - Pantalla". Documentos de Microsoft . Consultado el 28 de abril de 2020 .
^ "Modelo de sombreador 6.3". github.com/microsoft/DirectXShaderCompiler . Consultado el 11 de marzo de 2019 .
^ "Introducción a DirectML". github.com/microsoft/DirectML . 26 de noviembre de 2021.
^ "Funciones agregadas en versiones anteriores de WDDM 2.X: WDDM 2.6". docs.microsoft.com . Consultado el 24 de marzo de 2020 .
^ "Modelo de sombreador 6.4". github.com/microsoft/DirectXShaderCompiler . Consultado el 11 de abril de 2019 .
^ "Vista previa para desarrolladores de las nuevas funciones de DirectX 12". devblogs.microsoft.com . 28 de octubre de 2019 . Consultado el 28 de octubre de 2019 .
^ "Novedades de los controladores de gráficos y pantalla de Windows 10". docs.microsoft.com . Consultado el 12 de mayo de 2020 .
^ "Modelo de sombreador HLSL 6.5". microsoft.github.io . Consultado el 15 de octubre de 2019 .
^ "Programación de GPU acelerada por hardware". devblogs.microsoft.com . 30 de junio de 2020 . Consultado el 30 de junio de 2020 .
^ "Próximamente a DirectX 12: comentarios de muestra: algunos datos útiles que alguna vez estuvieron ocultos, desbloqueados". devblogs.microsoft.com . 4 de noviembre de 2019 . Consultado el 4 de noviembre de 2019 .
^ "DirectX-Specs - Comentarios de muestra - Soporte de funciones". microsoft.github.io . Consultado el 4 de noviembre de 2019 .
^ "DirectX Raytracing (DXR) Nivel 1.1". devblogs.microsoft.com . 6 de noviembre de 2019 . Consultado el 6 de noviembre de 2019 .
^ "Próximamente a DirectX 12: sombreadores de malla y sombreadores de amplificación: reinventar el canal de geometría". devblogs.microsoft.com . 8 de noviembre de 2019 . Consultado el 8 de noviembre de 2019 .
^ "Próximamente a DirectX 12: más control sobre la asignación de memoria". devblogs.microsoft.com . 11 de noviembre de 2019 . Consultado el 11 de noviembre de 2019 .
^ "Próximamente a DirectX 12: API de interoperabilidad de recursos D3D9On12 y D3D11On12". devblogs.microsoft.com . 13 de noviembre de 2019 . Consultado el 13 de noviembre de 2019 .
^ "Soporte de recursos protegidos de vídeo D3D12". microsoft.github.io . Consultado el 29 de mayo de 2019 .
^ "DirectX ❤Linux". devblogs.microsoft.com . 19 de mayo de 2020 . Consultado el 19 de mayo de 2020 .
^ "Nuevo en DirectX: nivel de función 12_2". 27 de agosto de 2020.
^ "Anuncio del modelo HLSL Shader 6.6". 20 de abril de 2021.
^ "Cómo obtener Windows 11". 4 de octubre de 2021.