El modelo de controlador de pantalla de Windows ( WDDM ) [1] es la arquitectura del controlador gráfico para los controladores de tarjetas de video que ejecutan versiones de Microsoft Windows que comienzan con Windows Vista . [2]
Es un reemplazo del controlador de pantalla anterior de Windows 2000 y Windows XP modelo XDDM / XPDM [3] y tiene como objetivo permitir un mejor rendimiento de gráficos y nuevas funciones y estabilidad de gráficos. [2] Los controladores de pantalla en Windows Vista y Windows 7 pueden elegir 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 requerida para renderizar el escritorio y las aplicaciones usando Desktop Window Manager , un administrador de ventanas de composición que se ejecuta sobre Direct3D . También es compatible con las nuevas interfaces DXGI necesarias para la gestión y creación de dispositivos básicos. 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 del dispositivo para el tiempo de ejecución de Direct3D 9Ex a fin de ejecutar aplicaciones heredadas de Direct3D; opcionalmente, puede implementar interfaces de tiempo de ejecución para Direct3D 10 y superior.
Funciones habilitadas por WDDM
Los controladores WDDM permiten nuevas áreas de funcionalidad que no proporcionaban de manera uniforme los modelos anteriores de controladores de pantalla. Éstas incluyen:
Memoria de video 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 video disponible resulte insuficiente para almacenar todos los datos y texturas de video, los datos no utilizados actualmente se mueven 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 concurrentes. [7] Cada lista de comandos se pone en una cola para que la ejecute 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 demorar 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 los subprocesos lograría un paralelismo perfecto. Es importante tener en cuenta 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 la GPU.
Uso compartido de procesos cruzados de superficies Direct3D
Una superficie de gráficos Direct3D es el área de memoria que contiene información sobre las mallas texturizadas que se utilizan para renderizar 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 cuelga o encuentra una falla, la pila de gráficos reiniciará el controlador. [2] [9] Se interceptará una falla de hardware de gráficos y, si es necesario, se restablecerá el controlador.
Los controladores en Windows XP tenían la libertad de lidiar con las fallas de hardware como mejor les pareciera, ya sea informándolo al usuario o intentando recuperarse silenciosamente. Con un controlador WDDM, todas las fallas de hardware hacen que el controlador se reinicie y el usuario será notificado mediante una ventana emergente; esto unifica el comportamiento entre los proveedores.
Los controladores anteriores se implementaron completamente en modo kernel, mientras que WDDM se implementa parcialmente en modo de usuario. Si el área del modo de usuario falla con un error irrecuperable, como mucho, hará que la aplicación se cierre inesperadamente en lugar de producir un error de pantalla azul como lo haría en 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 tenga al menos soporte para Shader Model 2.0, ya que la canalización de funciones fijas ahora se traduce a shaders 2.0 . Sin embargo, según Microsoft a partir de 2009, solo alrededor del 1-2 por ciento del hardware que ejecuta Windows Vista usaba 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 Intel GMA 900, no cumplen con 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 varios monitores tiene más de un adaptador de gráficos que alimenta los monitores, ambos adaptadores deben utilizar 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 (extendiendo el escritorio a través de dos monitores) [14] [15], aunque Dual View todavía está disponible. [12] [16]
Necesidad de un nuevo modelo de controlador de pantalla
Uno de los escenarios principales que permite el modelo de controlador de pantalla de Windows es el Administrador de ventanas de escritorio . Dado que las ventanas de escritorio y 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 el número de ventanas abiertas, la memoria de video disponible puede resultar insuficiente, lo que requiere virtualización. Como el contenido de la ventana que DWM compone en el escritorio final es generado por 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 bajo Windows Vista, por otro lado, un escritorio compuesto no necesita teóricamente un nuevo modelo de controlador de pantalla para funcionar como se esperaba. Las implementaciones exitosas de escritorios compuestos se realizaron 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 en 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 resultar irrelevantes debido a las extensiones o si existiera un modelo de controlador menos restrictivo o simplemente diferente.
Historia
WDDM 1.0
Windows Vista introdujo 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 . La suspensión híbrida , que combina la funcionalidad del modo de hibernación y 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 de hardware para su uso por GDI [17] (pero no GDI +) y Direct2D / DirectWrite
- BitBlt , StretchBlt, TransparentBlt
- AlphaBlend , ColorFill
- Compatibilidad con fuentes ClearType
- Interfaz de controlador de dispositivo Direct3D 11 (DDI)
- DXVA-HD DDI [18]
- Superposición de vídeo de hardware DDI [19]
- Cifrado AES 128 opcional
- Decodificación opcional de contenido de video encriptado
- Admite varios controladores en una configuración de múltiples adaptadores y monitores [10] [20]
La aceleración de hardware de las operaciones de GDI y Direct2D / DirectWrite ayuda a reducir la huella 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]
DXGI 1.1, Direct3D 11, Direct2D y DirectWrite se pusieron a disposición con Windows Vista Platform Update ; sin embargo, GDI / GDI + en Vista sigue dependiendo de la representación por software [24] y Desktop Window Manager sigue utilizando Direct3D 9Ex. [25]
Los controladores WDDM 1.1 son compatibles con versiones anteriores de la especificación WDDM 1.0; Los controladores 1.0 y 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 vieron 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 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, mejor uso compartido de recursos y detección y recuperación de tiempo de espera más rápido. Formatos de superficie de color de 16 bits (565, 5551, 4444) son obligatorios en Windows 8, y Direct3D 11 de vídeo compatible con YUV 4: 4: 4/4: 2: 2/4: 2: 0/4: 1: 1 formatos de vídeo 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 procesamiento, como el controlador de pantalla básico de Microsoft [31] y el controlador de procesamiento básico de Microsoft basado en WARP que reemplazó al controlador VGA en modo kernel .
WDDM 1.0 / 1.1 solo permite la programación rudimentaria de tareas utilizando granularidad de "cola por lotes"; Las mejoras a la multitarea, así como el cambio de contexto rápido y la compatibilidad con la memoria virtual , se esperaban inicialmente en las versiones provisionalmente denominadas 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 de varios planos, cadenas de intercambio superpuestas y escalado de la cadena de intercambio, seleccionar la subregión de backbuffer para la cadena de intercambio y la presentación de la cadena de intercambio de latencia más baja. 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 de modo kernel para GPU que admiten direccionamiento de memoria virtual, [37] para permitir el paralelismo de subprocesos múltiples en el controlador de modo de usuario y reducir la utilización de la CPU. [38] [39] [40] [41] Windows 10 también incluye DXGI 1.4. [42]
La API de Direct3D 12, anunciada en Build 2014 , requiere WDDM 2.0. La nueva API eliminará las tareas automáticas de administración de recursos y de administración de canalizaciones y permitirá a los desarrolladores tomar un control total de bajo nivel de la memoria del adaptador y los estados de representación.
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 aún admite el direccionamiento directo de la memoria de video para el hardware de gráficos que lo requiera, pero eso se considera un caso heredado. Se espera que los IHV desarrollen nuevo hardware que admita el direccionamiento virtual. Se han realizado cambios importantes en el DDI para habilitar este nuevo modelo de memoria.
WDDM 2.1
La actualización de aniversario de Windows 10 (versión 1607) incluye WDDM 2.1, que admite Shader Model 6.0 (obligatorio para los niveles de función 12_0 y 12_1), [44] y DXGI 1.5 que admite HDR10 , un formato de amplio rango dinámico de 10 bits [45 ] definido por la Rec. UIT-T . 2100 / Rec.2020 - y frecuencias de actualización variables. [46]
WDDM 2.2
Windows 10 Creators Update (versión 1703) incluye WDDM 2.2, que está diseñado para realidad virtual , aumentada y mixta con renderizado estereoscópico para la plataforma Windows Mixed Reality y DXGI 1.6. [47]
WDDM 2.3
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 de controladores de pantalla de Windows en Windows 10, versión 1709: [48]
- Shader Model 6.1 , que agrega compatibilidad con la creación de instancias de vistas y la semántica baricéntrica. [49]
- Los DDI de transformación de espacio de color de pantalla proporcionan un control adicional sobre las transformaciones del espacio de color aplicadas en la canalización de visualización posterior a la composición.
- La función de consultas de marca de tiempo de la cola de copia D3D12 permitirá que las aplicaciones emitan consultas de marca de tiempo en listas / colas de comandos de COPIA. Estas marcas de tiempo se especifican para funcionar de manera idéntica a las marcas de tiempo en 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 el desarrollo de controladores de pantalla en Windows 10 versión 1803 incluyen las siguientes características [50] .:
- Shader Model 6.2 , que agrega soporte para escalares de 16 bits y la capacidad de seleccionar los comportamientos con valores desnormales. [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 brinden capacidades de renderizado a entornos virtualizados de Hyper-V.
- Brillo , una nueva interfaz para admitir múltiples pantallas que se pueden configurar en niveles de brillo calibrados basados en nit.
- 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 que las aplicaciones amorticen el costo de asignación y reduzcan el uso máximo de memoria durante el cambio de resolución.
- Nivel de recursos en mosaico y atómicos LDA , un nuevo nivel de uso compartido de nodos cruzados para agregar soporte para instrucciones de sombreado atómico que funcionan en nodos de adaptadores vinculados (LDA), lo que permite implementar múltiples técnicas de representación de GPU como la representación de cuadros divididos (SFR).
- Soporte de tramado de GPU , lo que permite que el sistema operativo solicite explícitamente el tramado en escenarios donde se necesita una profundidad de bits efectiva más alta que la que está disponible físicamente en el enlace del monitor, por ejemplo, para HDR10 sobre HDMI 2.0.
- Anulación de la mejora del 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 aplicación 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 , nueva 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 sea consultado desde una pantalla controlada por un adaptador de gráficos.
- Datos de rendimiento de la 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 memoria, consumo de energía y voltajes.
- SupportContextlessPresent , un límite de conductor para ayudar a los IHV a incorporar un nuevo conductor.
- Mejoras en la compatibilidad con GPU externas / extraíbles en el sistema operativo , lo que proporciona un mejor soporte para GPU desmontables .
- Display Diagnostics , con cambios en la interfaz del controlador del 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 que no son gráficos participen en la administración de energía de un dispositivo gráfico.
- Mejoras de textura compartida , aumentando los tipos de texturas que se pueden compartir entre procesos y dispositivos Direct3D, agregando soporte a monocromo con copia de memoria mínima.
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 de controladores de pantalla en Windows 10, versión 1809 incluyen las siguientes características: [53]
- Shader Model 6.3 , que agrega soporte para DirectX12 Raytracing (DXR). [54]
- Raytracing , para admitir el trazado de rayos acelerado por hardware en Direct3D 12.
- Requisitos de controladores universales , los controladores deberán asegurarse de que sus controladores de modo de usuario DirectX 11 y DirectX12 y los controladores de modo kernel, así como otras DLL cargadas por estos componentes, se adhieran a la API universal.
- Nivel 3 de recursos en mosaico solo para SRV , un nuevo bit de capacidad para recursos en mosaico, que expone texturas de volumen disperso sin requerir acceso desordenado y soporte de operaciones de destino de procesamiento.
- Render Pass , presenta el concepto de render pass en Direct3D 12, agrega nuevas API para ejecutar en controladores existentes y permite que los controladores de modo de usuario elijan la ruta de renderización óptima sin una gran penalización de CPU.
- Los meta-comandos , añadiendo soporte para la vista previa DirectML, un alto rendimiento, DirectX 12 biblioteca acelerado por hardware para el aprendizaje de la máquina. Con Windows 10 versión 1903 y los metacomandos más recientes y 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 que el contenido SDR se reproduzca a 200-240 nits típicos. También permite informar si el hardware / controlador admite salida HDR a través del formato de píxel FP16 o solo el formato de píxel ARGB10.
- Nivel de blanco de SDR , para que los controladores de gráficos conozcan el valor de nivel de blanco de SDR que está aplicando el compositor del sistema operativo para todo el contenido de SDR, para una pantalla que se ejecuta en modo HDR.
- Sincronización de pantalla , lo que permite que el sistema operativo verifique las capacidades de sincronización de pantalla si el controlador expone la pantalla y antes de habilitar la pantalla.
- Las cargas de trabajo rastreadas también se agregaron como una función experimental para controlar mejor el equilibrio entre una ejecución más rápida del procesador y un menor consumo de energía, pero se eliminó de la versión 2004 de Windows 10 y se desaprobó de las 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 el desarrollo de controladores de pantalla en Windows 10 versión 1903 incluyen las siguientes características: [56]
- Shader Model 6.4 , que agrega compatibilidad con elementos intrínsecos de productos punto 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éndolos como una proyección de recursos a un formato que el hardware / controladores admite 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 de rendimiento / potencia de renderizado a velocidades variables en 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 subprocesamiento deseado y que el tiempo de ejecución lo controle / supervise. Las API permiten que las aplicaciones ajusten qué cantidad de procesamiento en segundo plano es apropiado 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 un parche de seguridad del controlador para el controlador en modo kernel.
WDDM 2.7
La actualización de Windows 10 de mayo de 2020 [58] (versión 2004) incluye WDDM 2.7. Las actualizaciones para el desarrollo de controladores de pantalla en Windows 10 versión 2004 incluyen las siguientes características: [59]
- Shader Model 6.5 , que agrega soporte a las nuevas capacidades de tubería, así como elementos intrínsecos adicionales de Wave. [60]
- Programación de GPU acelerada por hardware : enmascarada como una opción adicional en la configuración del sistema, cuando está habilitada, descarga las 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 hardware ad-hoc y soporte de controladores. [61]
- Sampler Feedback , que permite un ajuste más fino 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 presenta trazado de rayos en línea, despacho de rayos indirectos, aumento del objeto de estado sin la necesidad de crear uno nuevo y formatos de vértice adicionales para estructuras de aceleración. [64]
- Etapas de sombreadores de malla y amplificación , una nueva tubería de geometría opcional que reemplaza la tubería tradicional (etapas Ensamblador de entrada-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 de Direct3D 12 , que permite reproducir contenido protegido en una aplicación de Direct3D 12. [68]
WDDM 2.8
Windows 10 Insider Preview Manganese incluía WDDM 2.8, pero nunca se demostró públicamente que ningún controlador lo admitiera y se omitió para las versiones de desarrollo "Iron" y "Cobalt".
WDDM 2.9
WDDM 2.9 en Windows 10 Insider Preview "Iron" brindará soporte para aceleración de hardware GPU al Subsistema de Windows para Linux 2 (WSL 2) [69] y soporte para nivel de característica 12_2 [70] y HLSL Shader Model 6.6. [71]
WDDM 3.0
WDDM 3.0 apareció en Windows 10 Insider Preview "Cobalt" build 21301 [72] y Windows 11 Insider Preview. [73] WDDM 3.0 mejora la arquitectura de gráficos en el subsistema de Windows para Linux [74] y agrega:
- Controlador de modo de usuario compilado para Linux en el paquete WSL.
- Controlador de host montado en Linux
- Frecuencia de actualización dinámica [75]
Ver también
- Detección y recuperación de tiempo de espera
Referencias
- ^ "Guía de diseño del modelo de controlador de pantalla de Windows (WDDM)" . MSDN . Microsoft . Consultado el 19 de febrero de 2015 .
- ^ a b c d e "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 desarrollar 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 compilan en Windows 8 y versiones posteriores
- ^ "Informe de memoria de gráficos 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 el DWM" . Blog de Greg Schechter . Microsoft . Archivado desde el original el 20 de abril de 2010 . Consultado el 9 de diciembre de 2013 .
- ^ "Intercambio de recursos entre procesos" . MSDN . Microsoft . 10 de diciembre de 2009 . Consultado el 9 de diciembre de 2013 .
- ^ "Detección de tiempos 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 .
- ^ a b c d "Guía de gráficos para Windows 7" . Microsoft. 12 de junio de 2009.
- ^ Excusa de Intel para no tener controlador WDDM GMA900: no "Programador de HW" sin controlador , Beyond3D, 26 de octubre de 2006.
- ^ a b "Soporte 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 que ya no están disponibles en Windows Vista?
- ^ Escritorio extendido 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)" . Soporte . 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 video presentes" . MSDN . Microsoft . Consultado el 14 de julio de 2010 .
- ^ Schechter, Greg (3 de mayo de 2006). "Redirigir 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 .
- ^ Chitre, Ameet (25 de agosto de 2009). Sinofsky, Steven (ed.). "Ingeniería de 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 video" . 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 de desarrollador de Windows: nuevo para dispositivos de visualización" . MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
- ^ a b "Mejoras en el modelo de controlador de pantalla de Windows en Windows Developer Preview" . MSDN . Microsoft . 28 de septiembre de 2012 . Consultado el 9 de diciembre de 2013 .
- ^ "Mejoras DXGI 1.2" . MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
- ^ "DXGI_Graphics_Preemption_Granularity Enumeration" . 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 .
- ^ https://msdn.microsoft.com/en-us/library/windows/hardware/dn653353(v=vs.85).aspx
- ^ Al-Kady, Nabeel. "Display Driver Logistics and Testing" . 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). "Sistema de gráficos de Windows para ser revisado" . Revista APC . Consultado el 20 de febrero de 2015 .
- ^ "Novedades para 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 DXGI 1.3" . MSDN . Microsoft . 16 de noviembre de 2013 . Consultado el 9 de diciembre de 2013 .
- ^ "Novedades para los controladores de pantalla de Windows 10 Insider Preview (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 - Página principal 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 . Purch.
- ^ MSDN - Mejoras de DXGI 1.4
- ^ tedhudek. "Novedades en el desarrollo de controladores" . docs.microsoft.com . Consultado el 8 de octubre de 2018 .
- ^ https://msdn.microsoft.com/en-us/library/mt733232(v=vs.85).aspx
- ^ https://msdn.microsoft.com/en-us/library/mt742103(v=vs.85).aspx
- ^ https://msdn.microsoft.com/en-us/library/mt742104(v=vs.85).aspx
- ^ https://channel9.msdn.com/Events/WinHEC/WinHEC-December-2016/PC-Gaming
- ^ "Adiciones de desarrollo de controladores para Windows 10, versión 1709 - Pantalla" . docs.microsoft.com . Consultado el 14 de abril de 2020 .
- ^ "Shader Model 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 .
- ^ "Shader Model 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" . docs.microsoft.com . Consultado el 28 de marzo de 2020 .
- ^ "Controladores de Windows - Novedades de Windows 10, versión 1809 - Pantalla" . docs.microsoft.com . Consultado el 28 de abril de 2020 .
- ^ "Shader Model 6.3" . github.com/microsoft/DirectXShaderCompiler . Consultado el 11 de marzo de 2019 .
- ^ "Introducción a DirectML" . github.com/microsoft/DirectML .
- ^ "Funciones agregadas en versiones anteriores de WDDM 2.X - WDDM 2.6" . docs.microsoft.com . Consultado el 24 de marzo de 2020 .
- ^ "Shader Model 6.4" . github.com/microsoft/DirectXShaderCompiler . Consultado el 11 de abril de 2019 .
- ^ "Vista previa del desarrollador de las nuevas funciones de DirectX 12" . devblogs.microsoft.com . Consultado el 28 de octubre de 2019 .
- ^ "Novedades para los controladores de gráficos y pantalla de Windows 10" . docs.microsoft.com . Consultado el 12 de mayo de 2020 .
- ^ "HLSL Shader Model 6.5" . microsoft.github.io . Consultado el 15 de octubre de 2019 .
- ^ "Programación de GPU acelerada por hardware" . devblogs.microsoft.com . Consultado el 30 de junio de 2020 .
- ^ "Próximamente en DirectX 12— Sampler Feedback: algunos datos útiles que alguna vez estuvieron ocultos, desbloqueados" . devblogs.microsoft.com . Consultado el 4 de noviembre de 2019 .
- ^ "DirectX-Specs - Sampler Feedback - Feature Support" . microsoft.github.io . Consultado el 4 de noviembre de 2019 .
- ^ "DirectX Raytracing (DXR) Tier 1.1" . devblogs.microsoft.com . Consultado el 6 de noviembre de 2019 .
- ^ "Llegando a DirectX 12— Sombreadores de malla y sombreadores de amplificación: reinventar la tubería de geometría" . devblogs.microsoft.com . Consultado el 8 de noviembre de 2019 .
- ^ "Llegando a DirectX 12: más control sobre la asignación de memoria" . devblogs.microsoft.com . Consultado el 11 de noviembre de 2019 .
- ^ "Próximamente para DirectX 12: API de interoperabilidad de recursos D3D9On12 y D3D11On12" . devblogs.microsoft.com . 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 . Consultado el 19 de mayo de 2020 .
- ^ https://devblogs.microsoft.com/directx/new-in-directx-feature-level-12_2/
- ^ https://devblogs.microsoft.com/directx/hlsl-shader-model-6-6/
- ^ https://forums.guru3d.com/threads/wddm-3-0-465-42.436486/
- ^ https://blogs.windows.com/windows-insider/2021/06/28/announcing-the-first-insider-preview-for-windows-11/
- ^ "Arquitectura Gráfica WSL" . xdc2020.x.org . Consultado el 16 de septiembre de 2020 .
- ^ https://devblogs.microsoft.com/directx/dynamic-refresh-rate/