Compartir a través de


Arquitectura de WDDM

El modelo de controladores de pantalla de Windows (WDDM) tiene componentes en modo de usuario y en modo kernel. La siguiente ilustración muestra los distintos componentes de la arquitectura de WDDM.

Diagrama que muestra la arquitectura de WDDM con componentes en modo de usuario y en modo kernel.

Los módulos proporcionados por el sistema se muestran en la figura en forma de cuadros blancos. Los cuadros grises representan los módulos que el partner puede proporcionar. Las aplicaciones pueden ser suministradas por el sistema o desarrolladas por partners.

Módulos proporcionados por el sistema

Los siguientes módulos proporcionados por el sistema forman parte de la arquitectura de WDDM:

  • El entorno de ejecución de Direct3D es un componente en modo de usuario que proporciona una API de aplicación para aplicaciones. Proporciona varios servicios y se encarga de administrar la interacción entre una aplicación, el controlador gráfico en modo de usuario (UMD) y gdi32.dll.

  • gdi32.dll es una biblioteca en modo de usuario con la que se vincula un entorno de ejecución de D3D o un cliente gráfico asociado. Un entorno de ejecución o un cliente llama a un "thunk" gdi32 que enruta la llamada a la función en modo kernel adecuada en el subsistema de kernel de DirectX (Dxgkrnl).

  • Dxgkrnl es el componente principal del subsistema gráfico en modo kernel del sistema operativo Windows. Facilita la comunicación entre el sistema operativo, la UMD y el controlador de minipuerto de pantalla en modo kernel (KMD). Dxgkrnl incluye subcomponentes como el controlador de puerto de pantalla, el administrador de memoria (VidMm) y el programador (VidSch). Dxgkrnl consta de los siguientes archivos del sistema:

    • dxgmms2.sys, que implementa el programador de GPU/NPU y el administrador de memoria de vídeo para las versiones 2.0 y posteriores de WDDM.
    • dxgmms1.sys, que implementa el programador de GPU/NPU y el administrador de memoria de vídeo para las versiones anteriores a WDDM 2.0.
    • dxgkrnl.sys, que controla todo lo demás en el subsistema del kernel de DirectX, incluida la carga del archivo dxgmms.sys necesario, el procesamiento inicial de llamadas D3DKMTXxx desde el modo de usuario, los modos de visualización, la virtualización de GPU, la administración de energía, la interfaz con el ejecutivo del kernel, etc.
  • Win32 GDI y Win32k.sys son componentes heredados que algunas aplicaciones todavía usan.

Módulos proporcionados por terceros

  • UmD es una biblioteca de vínculos dinámicos (DLL) que el entorno de ejecución de Direct3D carga.

  • El KMD se comunica con Dxgkrnl y el hardware gráfico.

Un proveedor de hardware gráfico debe proporcionar una UMD y un KMD.

  • Un cliente gráfico asociado de terceros es un componente en modo de usuario que tiene su propia API y marco de trabajo. Llama a thunks gdi32 para comunicarse con el subsistema gráfico en modo kernel. Los clientes de los que Microsoft tiene constancia se indican en D3DKMT_CLIENTHINT.