共用方式為


WDDM 架構

Windows 顯示驅動程式模型 (WDDM) 具有使用者模式和內核模式元件。 下圖顯示 WDDM 架構的各種元件。

顯示WDDM架構與使用者模式和內核模式元件的圖表。

系統提供的模組會顯示為白色方塊。 灰色方塊代表合作夥伴可以提供的模組。 應用程式可由合作夥伴提供或開發。

系統提供的模組

下列系統提供的模組是 WDDM 架構的一部分:

  • Direct3D 執行時間是使用者模式元件,可為應用程式提供應用程式 API。 它提供各種服務,並負責管理應用程式、使用者模式圖形驅動程式(UMD)和 gdi32.dll之間的互動。

  • gdi32.dll是 D3D 執行時間或合作夥伴圖形用戶端連結所針對的使用者模式連結庫。 運行時間或用戶端會呼叫 gdi32 “thunk”,以將呼叫路由傳送至 DirectX 核心子系統 (Dxgkrnl) 中適當的內核模式函式。

  • Dxgkrnl 是 Windows 作業系統核心模式圖形子系統的核心元件。 它有助於操作系統、UMD 和內核模式顯示迷你埠驅動程式 (KMD) 之間的通訊。 Dxgkrnl 包含子元件,例如顯示埠驅動程式、記憶體管理員 (VidMm) 和排程器 (VidSch)。 Dxgkrnl 是由下列系統檔案所組成:

    • dxgmms2.sys,它會針對WDDM 2.0 版和更新版本實作 GPU/NPU 排程器和視訊記憶體管理員。
    • dxgmms1.sys,它會在 WDDM 2.0 之前實作 WDDM 版本的 GPU/NPU 排程器和視訊記憶體管理員。
    • dxgkrnl.sys,它會處理 DirectX 核心子系統中所有其他專案,包括載入所需的dxgmms.sys檔案、使用者模式、顯示模式、GPU 虛擬化、電源管理、與核心執行人員介面等的 D3DKMTXxx 呼叫的初始處理
  • Win32 GDI 和 Win32k.sys 是某些應用程式仍然使用的舊版元件。

第三方提供的模組

  • UMD 是 Direct3D 運行時間載入的動態連結庫 (DLL)。

  • KMD 會與 Dxgkrnl 和圖形硬體通訊。

圖形硬體廠商必須同時提供UMD和 KMD。

  • 第三方合作夥伴圖形用戶端是具有自己的 API 和架構的使用者模式元件。 它會呼叫 gdi32 Thunks 來與內核模式圖形子系統通訊。 Microsoft感知的用戶端會列在 D3DKMT_CLIENTHINT