Características agregadas en versiones anteriores de WDDM 2.X
En esta página se describen las características de los controladores de visualización y gráficos que se agregaron en versiones anteriores de WDDM 2.X para Windows 10. Para ver las características agregadas para la versión de WDDM 2.X más reciente, consulta Novedades de los controladores de visualización y gráficos de Windows 10.
WDDM 2.6
Entrada de lápiz super mojada
La entrada de lápiz super mojada es una característica que gira en torno a la representación del búfer frontal. Los controladores IHV pueden admitir la creación de texturas "visibles" de formatos o modos que no son compatibles con el hardware. Pueden hacerlo asignando la textura solicitada por la aplicación, junto con una textura de "sombra" con un formato o diseño que se puede mostrar y, a continuación, copiar entre los dos en el momento actual. Esta "sombra" puede no ser necesariamente una textura de la manera normal que pensamos en ella, pero puede ser simplemente datos de compresión. Además, puede que no sea necesario existir, pero puede ser una optimización en su lugar.
El tiempo de ejecución evolucionará para comprender estos aspectos de las superficies que se pueden mostrar:
Si una sombra debe existir o no para mostrarse en un vidPnSource o plano determinado.
Si es más óptimo para que exista una sombra.
Cuándo transferir contenido de la superficie de la aplicación a la superficie de sombras. El tiempo de ejecución será explícito sobre esta operación, en lugar de que sea implícito en Present.
Cómo solicitar la configuración de un modo o voltear dinámicamente entre las superficies originales y de sombra.
El examen puede comenzar poco después de una VBlank, examina verticalmente de arriba a abajo de la imagen y se completa poco antes de la siguiente VBlank. Esto no siempre es el caso, dependiendo del tiempo del reloj de píxeles y del diseño de los datos en la textura; especialmente si realmente hay compresión disponible.
Se agregaron nuevas DDIs para separar y comprender las transformaciones que se producen antes del examen, con el fin de habilitar (siempre que sea posible) la representación del búfer frontal. Consulte D3DWDDM2_6DDI_SCANOUT_FLAGS y PFND3DWDDM2_6DDI_PREPARE_SCANOUT_TRANSFORMATION.
Sombreado de velocidad variable
Sombreado de frecuencia variable o sombreado de píxeles gruesos es un mecanismo para habilitar la asignación de rendimiento o potencia de representación a distintas velocidades en las imágenes representadas.
En el modelo anterior, con el fin de usar MSAA (suavizado de varias muestras) para reducir el alias geométrico:
- La cantidad por la que se debe reducir el alias geométrico debe conocerse por adelantado cuando se asigna el destino.
- La cantidad por la que se reduce el alias geométrico no se puede cambiar una vez asignado el destino.
En WDDM 2.6, el nuevo modelo extiende MSAA hacia la dirección opuesta de píxeles general, agregando un nuevo concepto de sombreado grueso. Aquí es donde el sombreado se puede realizar con una frecuencia más gruesa que un píxel. Un grupo de píxeles se puede sombrear como una sola unidad y el resultado se transmite a todas las muestras del grupo.
Una API de sombreado general permite a las aplicaciones especificar el número de píxeles que pertenecen a un grupo sombreado. El tamaño de píxel general puede variar después de asignar el destino de representación. Por lo tanto, diferentes partes de la pantalla o diferentes pases de dibujo pueden tener diferentes velocidades de sombreado de curso.
Hay disponible una implementación de varios niveles con dos límites consultables por el usuario. Para los niveles 1 y 2, el sombreado general está disponible para los recursos de MSAA y muestreados únicos. En el caso de los recursos de MSAA, el sombreado se puede realizar por píxel general o por muestra como de costumbre. Sin embargo, en los niveles 1 y 2, para los recursos de MSAA, no se puede usar el muestreo general para sombrear con una frecuencia entre cada píxel y por muestra.
Nivel 1:
La tasa de sombreado solo se puede especificar por sorteo; nada más granular que eso
La tasa de sombreado se aplica uniformemente a lo que se dibuja independientemente de dónde se encuentra dentro del destino de representación.
Nivel 2:
La velocidad de sombreado se puede especificar por sorteo, como en el nivel 1. También se puede especificar mediante una combinación de cada dibujo y de:
- Semántica desde el vértice por provocación, y
- Una imagen de espacio de pantalla
Las tasas de sombreado de los tres orígenes se combinan mediante un conjunto de combinadores
El tamaño del icono de imagen de espacio de pantalla es de 16x16 o menor. Se garantiza que la tasa de sombreado solicitada por la aplicación se entregue exactamente (para precisión de los filtros de reconstrucción temporal y otros)
se admite SV_ShadingRate entrada de PS. La tasa de vértices por cada causa, también conocida aquí como una velocidad por primitiva, solo es válida cuando se usa una ventanilla y SV_ViewportIndex no se escribe en.
La tasa de vértices por causa, también denominada tasa por primitiva, se puede usar con más de una ventanilla si el límite SupportsPerVertexShadingRateWithMultipleViewports está marcado como true. Además, en ese caso, se puede usar cuando se escribe SV_ViewportIndex.
Consulte PFND3D12DDI_RS_SET_SHADING_RATE_0062 y D3D12DDI_SHADING_RATE_0062.
Recopilación de información de diagnóstico
Recopilar información de diagnóstico permite al sistema operativo recopilar datos privados de controladores para adaptadores de gráficos que constan de funciones de representación y visualización. Esta nueva característica es un requisito en WDDM 2.6.
El nuevo DDI debe permitir que el sistema operativo recopile información en cualquier momento en que se cargue un controlador. Actualmente, el sistema operativo usa la función DxgkDdiCollectDebugInfo implementada por el miniport para consultar los datos privados del controlador para casos relacionados con TDR (detección de tiempo de espera y recuperación). La nueva DDI se usará para recopilar datos por diversos motivos. El sistema operativo llamará a esta DDI cuando se necesite el diagnóstico y proporcionará un tipo de información que se solicita. El controlador debe recopilar toda la información privada importante para investigar el problema y enviarla al sistema operativo. DxgkDdiCollectDebugInfo quedará en desuso y se reemplazará por DxgkDdiCollectDiagnosticInfo.
Consulte DXGKDDI_COLLECTDIAGNOSTICINFO.
Procesamiento en segundo plano
El procesamiento en segundo plano permite a los controladores de modo de usuario expresar el comportamiento deseado de subprocesos y el tiempo de ejecución para controlarlo o supervisarlo. Los controladores de modo de usuario ponerían en marcha subprocesos en segundo plano y asignarían a los subprocesos la prioridad más baja posible y confiarían en el programador NT para asegurarse de que estos subprocesos no interrumpen los subprocesos de ruta crítica, generalmente con éxito.
Las API permiten a las aplicaciones ajustar la cantidad de procesamiento en segundo plano adecuada para sus cargas de trabajo y cuándo realizar ese trabajo.
Consulte PFND3D12DDI_QUEUEPROCESSINGWORK_CB_0062.
Actualización activa del controlador
La actualización activa del controlador reduce el tiempo de inactividad del servidor tanto como sea posible cuando es necesario actualizar un componente del sistema operativo.
La revisión activa del controlador se usa para aplicar una revisión de seguridad al controlador en modo kernel. En este caso, se pide al controlador que guarde la memoria del adaptador, se detiene el adaptador, se descarga el controlador, se carga el nuevo controlador y se vuelve a iniciar el adaptador.
ConsulteDXGKDDI_SAVEMEMORYFORHOTUPDATE y DXGKDDI_RESTOREMEMORYFORHOTUPDATE.
WDDM 2.5
Cargas de trabajo con seguimiento
Cargas de trabajo con seguimiento es una característica experimental que proporciona más control sobre el equilibrio entre la ejecución más rápida del procesador y el menor consumo de energía, y no está disponible hasta que se note más. La implementación se quitó de Windows 10, versión 2003; y están en desuso de versiones anteriores del sistema operativo como parte de una corrección de seguridad.
Cambios de contenido
Tema | Fecha | Descripción |
---|---|---|
Extensión EDID (VSDB) para HMD y pantallas especializadas | 03/12/2018 | Especificación para fabricantes de pantallas |
Subsistema de kernel de gráficos directX (Dxgkrnl.sys) | 12/04/2018 | Interfaces en modo kernel que el sistema operativo Windows implementa a través del subsistema de kernel de gráficos de Microsoft DirectX (Dxgkrnl.sys). |
Características de WDDM 2.1 | 01/10/2019 | Describe las características nuevas y actualizadas de WDDM 2.1 |
Raytracing
Las nuevas DDI de Direct3D se crearon en paralelo de las API de Direct3D, con el fin de admitir raytracing acelerado por hardware. Entre los DDIs de ejemplo se incluyen:
- PFND3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054
- PFND3D12DDI_COPY_RAYTRACING_ACCELERATION_STRUCTURE_0054
- PFND3D12DDI_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_0054
- PFND3D12DDI_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_0054
Para obtener más información sobre raytracing, consulta:
- Anuncio de Microsoft DirectX Raytracing
- DirectX Raytracing y el Actualización de octubre de 2018 de Windows 10
Visualización de la sincronización
El sistema operativo comprobará las funcionalidades de sincronización de visualización cuando el controlador exponga la pantalla al sistema operativo, por lo que antes de habilitar la presentación. En el caso de los dispositivos secundarios TypeIntegratedDisplay, esto se notifica a través de una llamada a DxgkDdiQueryAdapterInfo con type DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR2 durante la inicialización del adaptador. En el caso de los dispositivos secundarios TypeVideoOutput, que se admiten a partir de WDDM 2.5, las funcionalidades se notifican como parte del procesamiento del enchufe activo a través de DxgkDdiUpdateMonitorLinkInfo para que las funcionalidades puedan cambiar según el destino o el monitor conectado.
El sistema operativo especifica la sincronización de visualización en la llamada DxgkDdiSetTimingsFromVidPn en el campo Entrada de la estructura por ruta de acceso DXGK_SET_TIMING_PATH_INFO .
WDDM 2.1
WDDM 2.1 permite nuevos escenarios y proporciona mejoras significativas en las áreas de rendimiento, confiabilidad, resistencia de actualización, mejoras de diagnóstico y avances futuros del sistema para el subsistema de gráficos de Windows. El modelo de controlador WDDM 2.0 es un requisito previo para D3D12. WDDM 2.0 y DirectX12 solo están disponibles en Windows 10 y versiones posteriores.
A continuación se muestra una lista de adiciones y actualizaciones de características para WDDM 2.1.
Rendimiento de gráficos mejorado al reducir el tiempo de sobrecarga invertido en la administración de memoria y un uso más eficaz de poca memoria gráfica. Las mejoras de rendimiento de gráficos son:
- Oferta y reclamación de recursos: ofrece y reclama mejoras para reducir la superficie de memoria de las aplicaciones que se ejecutan en modo en segundo plano.
- Compatibilidad con codificación de entrada de tabla de páginas de 2 MB: en WDDM 2.1, la codificación de entrada de tabla de página grande (PTE) en VRAM está habilitada. Este cambio aumenta el rendimiento en los sistemas que lo admiten.
- Compatibilidad con páginas de memoria de 64 KB: las asignaciones de memoria virtual mediante una granularidad de 64 KB también se admiten en WDDM 2.1. Este cambio beneficia especialmente a las API y soC al reducir la sobrecarga para acceder a páginas de memoria virtual.
Mejoras de contenido protegido basadas en hardware con el procesamiento por lotes actual (PlayReady 3.0)
Instalación del Almacén de controladores para controladores gráficos para mejorar la resistencia de la actualización de controladores.
DXIL, un nuevo lenguaje de cumplimiento de sombreador
Mejoras de rendimiento y optimización de D3D12
Opciones de diagnóstico mejoradas para desarrolladores
Para obtener más información, vea Características de WDDM 2.1.
WDDM 2.0
WDDM 2.0 incluye actualizaciones de administración de memoria.
Memoria virtual de GPU
- Toda la memoria física se abstrae en segmentos virtuales que el administrador de memoria de la unidad de procesamiento de gráficos (GPU).
- Cada proceso obtiene su propio espacio de direcciones virtuales de GPU.
- Se ha quitado la compatibilidad con intervalos de giro.
Para obtener más información, consulte Memoria virtual de GPU en WDDM 2.0.
Residencia de conductores
- El administrador de memoria de vídeo garantiza que las asignaciones residen en la memoria antes de enviar búferes de comandos al controlador. Para facilitar esta funcionalidad, se agregaron interfaces de controlador de dispositivo de controlador en modo de usuario (DDIs) (MakeResident, TrimResidency, Evict).
- La lista de ubicaciones de asignación y revisión se ha agotado por fases porque no es necesario en el modelo WDDM 2.0.
- Los controladores en modo de usuario ahora son responsables de controlar el seguimiento de la asignación. Se agregaron varios DDIs para habilitar esto.
- Los controladores reciben presupuestos de memoria y se espera que se adapten bajo presión de memoria. Esto permite que los controladores universales de Windows funcionen entre plataformas de aplicaciones.
- Se agregaron DDIs para la sincronización de procesos y la supervisión del contexto.
Para obtener más información, consulte Residencia de controladores en WDDM 2.0.