次の方法で共有


WDDM アーキテクチャ

Windows ディスプレイ ドライバー モデル (WDDM) には、ユーザー モードとカーネル モードのコンポーネントがあります。 次の図は WDDM アーキテクチャのさまざまなコンポーネントを示したものです。

ユーザー モード コンポーネントとカーネル モード コンポーネントを含む WDDM アーキテクチャを示した図。

システム提供モジュールが図で白いボックスとして示されています。 グレーのボックスは、パートナーが提供できるモジュールを表しています。 アプリケーションは、システム提供のものか、パートナーによって開発されたものです。

システム提供モジュール

次のシステム提供モジュールは WDDM アーキテクチャの一部です。

  • Direct3D ランタイムは、アプリケーション用のアプリケーション API を提供するユーザー モード コンポーネントです。 さまざまなサービスを提供し、アプリケーション、ユーザー モード グラフィックス ドライバー (UMD)、および gdi32.dll の間のやりとりを管理します。

  • gdi32.dll は、D3D ランタイムまたはパートナー グラフィックス クライアントがリンクするユーザー モード ライブラリです。 ランタイムまたはクライアントは、DirectX カーネル サブシステム (Dxgkrnl) 内の適切なカーネル モード関数に呼び出しをルーティングする gdi32 "サンク" を呼び出します。

  • 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 ファイルのローディング、ユーザー モードでの D3DKMTXxx 呼び出しの初期処理、モードの表示、GPU の可視化、電源管理、カーネル エグゼクティブとのインターフェイスなどが含まれます。
  • Win32 GDI と Win32k.sys は、一部のアプリケーションで引き続き使用されるレガシー コンポーネントです。

サード パーティ提供モジュール

  • UMD は、Direct3D ランタイムが読み込むダイナミックリンク ライブラリ (DLL) です。

  • KMD は Dxgkrnl およびグラフィックス ハードウェアと通信します。

グラフィックス ハードウェア ベンダーは UMD と KMD の両方を提供する必要があります。

  • サード パーティのパートナー グラフィックス クライアントは、独自の API とフレームワークを持つユーザー モード コンポーネントです。 gdi32 サンクを呼び出して、カーネル モードのグラフィックス サブシステムと通信します。 Microsoft が認識しているクライアントは D3DKMT_CLIENTHINT に一覧表示されます。