Dela via


WDDM-arkitektur

Windows Display Driver Model (WDDM) har komponenter i användarläge och kernelläge. Följande bild visar de olika komponenterna i WDDM-arkitekturen.

Diagram som visar WDDM-arkitekturen med komponenter i användarläge och kernelläge.

Moduler som tillhandahålls av systemet visas i bilden som vita rutor. Grå rutor representerar moduler som partnern kan tillhandahålla. Program kan levereras av system eller utvecklas av partner.

Moduler som tillhandahålls av systemet

Följande systembaserade moduler ingår i WDDM-arkitekturen:

  • Direct3D-körtiden är en komponent i användarläge som tillhandahåller ett applikations-API. Den tillhandahåller olika tjänster och ansvarar för att hantera interaktionen mellan ett program, användarlägesgrafikdrivrutinen (UMD) och gdi32.dll.

  • gdi32.dll är ett användarlägebibliotek som en D3D-runtime eller en partnergrafikklient länkar till. En runtime eller klient anropar en gdi32 "thunk" som dirigerar anropet till lämplig kernellägesfunktion i DirectX kernel-delsystemet (Dxgkrnl).

  • Dxgkrnl är huvudkomponenten i Windows-operativsystemets grafikundersystem i kernelläge. Det underlättar kommunikationen mellan operativsystemet, UMD och kmd-drivrutinen (kernel-mode display miniport driver). Dxgkrnl innehåller underkomponenter som drivrutinen för visningsporten, minneshanteraren (VidMm) och schemaläggaren (VidSch). Dxgkrnl består av följande systemfiler:

    • dxgmms2.sys, som implementerar GPU/NPU-schemaläggaren och videominneshanteraren för WDDM version 2.0 och senare.
    • dxgmms1.sys, som implementerar GPU/NPU-schemaläggaren och videominneshanteraren för WDDM-versioner före WDDM 2.0.
    • dxgkrnl.sys, som hanterar allt annat i DirectX-kernelundersystemet, inklusive inläsning av nödvändig dxgmms.sys fil, inledande bearbetning av D3DKMTXxx-anrop från användarläge, visningslägen, GPU-virtualisering, energisparfunktioner, gränssnitt med kernel-chefen och så vidare.
  • Win32 GDI och Win32k.sys är äldre komponenter som fortfarande används av vissa program.

Moduler från tredje part

  • UMD är ett DLL-bibliotek (Dynamic Link Library) som Direct3D-körningen läser in.

  • KMD kommunicerar med Dxgkrnl och grafikmaskinvaran.

En leverantör av grafikmaskinvara måste tillhandahålla både en UMD och KMD.

  • En partnergrafikklient från tredje part är en komponent i användarläge som har ett eget API och ramverk. Den anropar gdi32-thunkar för att kommunicera med kernel-mode grafiksubsystemet. De klienter som Microsoft känner till visas i D3DKMT_CLIENTHINT.