(Translated by https://www.hiragana.jp/)
Windows Display Driver Model - Wikipedia

Windows Display Driver Model

GPUようデバイスドライバの枠組わくぐ
DXGIから転送てんそう

Windows Display Driver Model(ウィンドウズ・ディスプレイ・ドライバ・モデル、WDDM)とは、GPUようデバイスドライバ(グラフィックスドライバ)の枠組わくぐみである。

2006ねんにリリースされたWindows Vista最初さいしょ導入どうにゅうされ、Direct3D 9ExやDirect3D 10以降いこうDirect3Dは、WDDMに対応たいおうするよう設計せっけいされている。

概要がいよう

編集へんしゅう

DirectX 9(Direct3D 9)までのバージョンにおいては、DirectXランタイムおよびデバイスドライバそう設計せっけいシングルタスク前提ぜんていとなっており、同時どうじ複数ふくすうの3Dアプリケーションを安全あんぜんかつ安定あんていてき動作どうささせることが困難こんなんになってきた。そのため、Windows Vistaのリリースにともな大幅おおはば設計せっけい変更へんこうし、マルチスレッド対応たいおうさせ安定あんてい向上こうじょうさせるべく設計せっけいされたあたらしいドライバモデルがWDDMである。WDDMおよび後述こうじゅつのDWMにより、Windows AeroではOSのデスクトップの描画びょうが自体じたいビデオカードオンボードグラフィックスなどのGPU活用かつようしたハードウェアアクセラレーション使用しようすることができ、結果けっかとしてCPU負荷ふか軽減けいげんすることができるようになる。

GPUの仮想かそう
GPUのスケジューリングやVRAMのての仮想かそうで、複数ふくすうのアプリケーションがたがいを意識いしきすることなく資源しげんあつかえるようになっている。
ユーザーモードへの分離ぶんり
WDDMではドライバソフトウェアがカーネルモードとユーザーモードにかれ、不正ふせいなドライバ制御せいぎょなどでシステムがクラッシュをこしにくい設計せっけいとなっている。
GPUの回復かいふく
ディスプレイドライバがフリーズしたとしても、Windowsカーネルが検出けんしゅつし、OSのさい起動きどうしにGPUを初期しょきして、ディスプレイの表示ひょうじ復活ふっかつできるようになっている[1][2]

並列へいれつ処理しょり性能せいのうたかいGPUに汎用はんよう計算けいさん高速こうそく実行じっこうさせるGPGPUというみがあり、プログラマブルシェーダー登場とうじょうしたころからこころみられてきたが、長時間ちょうじかんかかるタスクをGPUに実行じっこうさせるとシステム全体ぜんたいんで不安定ふあんていしたりクラッシュしてしまったりする問題もんだいがあった。CUDA(2007ねん登場とうじょう)、OpenCL(2008ねん登場とうじょう)、DirectCompute(2009ねん登場とうじょう)のようなGPGPU対応たいおうAPIは、ドライバーがWDDMに対応たいおうすることで、汎用はんよう計算けいさんのタスクによってGPUに負荷ふかがかかったとき、強制きょうせいてきにデバイスをリセット・さい初期しょきしてシステム全体ぜんたい安定あんていせいたもつことができるようになる。

.NET Framework 3.0以降いこうふくまれるWindows Presentation Foundation (WPF) はDirect3D 9ベースのハードウェアアクセラレーションに対応たいおうしているが、Vista以降いこうではWDDM対応たいおうのDirect3D 9Exが使つかわれる[3]

WDDM発表はっぴょう従来じゅうらいのグラフィックスドライバの枠組わくぐみをWindows 2000 Display Driver Model (XDDM)[4] あるいはWindows XP Display Driver Model (XPDM)[5]んで区別くべつするようになった。

Windows Vista以降いこうのOSでもつづきXDDM/XPDMドライバを使用しようすることは可能かのうであるが、その場合ばあいDesktop Window Manager (DWM)、ひいてはWindows Aeroテーマが使用しようできない。DWMがDirect3D 9Exを使用しようするためである。

Windows 8以降いこうのOSでは、XDDM/XPDMはサポートされなくなり、使用しようできなくなった[6]。WDDM 1.0以上いじょう必須ひっす要件ようけんとなった。また、Windows 8以降いこうではDWMがつね有効ゆうこうになる[7]

Windows 11では、WDDM 2.0以上いじょう必須ひっす要件ようけんとなった[8]

Windows Vistaでサポートされた最初さいしょのWDDMである。

Windows 7以降いこうのOSでも、つづきWDDM 1.0のドライバを使用しようすることは可能かのうである[9][10][11]。ただしその場合ばあい、WDDM 1.1以降いこう追加ついかされた機能きのう利用りようできない。

Windows 7では、しんバージョンのWDDM 1.1がサポートされた[12]

  • BitBltClearTypeフォント描画びょうがなどGDI描画びょうがへの支援しえん追加ついか[13]
  • ビデオオーバーレイへの対応たいおう
  • OpenGL ICDのための強化きょうか[14]
  • ことなるベンダーのGPUの同時どうじ利用りよう対応たいおう[15][注釈ちゅうしゃく 1]

テストおよびソースコード管理かんり複雑ふくざつさを低減ていげんするため、WDDM 1.1ドライバーインターフェイスにはWindows Vistaとの後方こうほう互換ごかんせいがあり、(SP2およびプラットフォーム更新こうしんプログラムを適用てきようするまえの)WDDM 1.0しかサポートしていないWindows Vistaで使用しようすることも可能かのうである。またその場合ばあい単純たんじゅんにWDDM 1.0ドライバーとして動作どうさする[16]

2009ねん10がつ、Windows Vistaにたいして「Windows Vista ようのプラットフォーム更新こうしんプログラム(KB971644)」が配信はいしんされた。このアップデートによりWindows VistaでもWDDM 1.1へとアップデートされた[17]。DirectX診断しんだんツールでもWDDM 1.1の表記ひょうき確認かくにんできる[18]が、GDIはソフトウェアレンダリングであるなど、一部いちぶ動作どうさ差異さいはある[19]

Windows 8では、WDDM 1.2がサポートされた。

ビデオメモリのより効率こうりつてき利用りよう、Direct3D 11.1のサポートなどが追加ついかされている[20][21]

WDDM 1.2には必須ひっす機能きのうとオプション機能きのうがあるが、ドライバーがWDDM 1.2の必須ひっす機能きのうをすべて実装じっそうしていない場合ばあいWARP英語えいごばんベース(ソフトウェア実装じっそう)のMicrosoft Basic Display Driver (MSBDD) にフォールバックされる[22][23][24]

なお、Windows 7 SP1およびWindows Server 2008 R2 SP1にたいして、「Windows 7 SP1 および Windows Server 2008 R2 SP1 ようのプラットフォーム更新こうしんプログラム(KB2670838)」を適用てきようすることでDirect3D 11.1やDirect2D 1.1などの一部いちぶ機能きのう使つかえるようになるが、ドライバーモデルがWDDM 1.2対応たいおうになるわけではない[25][26]

Windows 8.1では、WDDM 1.3がサポートされた。

タイルされたリソース(メガテクスチャ英語えいごばん)や、Direct3Dレンダリングパフォーマンスの改善かいぜん、Direct3D 11.2のサポートなどが追加ついかされている[27]

また、Miracastのサポートもオプションとして追加ついかされた[28]。Windows 8.1やWindows 10でMiracast機能きのう利用りようするにはWDDM 1.3以降いこう対応たいおうしたドライバが必要ひつようになる[29]

Windows 10では、WDDM 2.0がサポートされた。

Direct3D 11.3およびDirect3D 12のサポートなどが追加ついかされている。また、GpuMmu[30]およびIoMmu[31]ばれる2つの仮想かそうアドレッシングモデルをつGPU仮想かそうメモリ機能きのうなどをサポートする。なお、この仮想かそうメモリ機能きのうはかつてWinHEC英語えいごばん 2006にて"WDDM v2"の機能きのうとして発表はっぴょうされた[32]が、実際じっさいにWDDM 1.0の後継こうけいとしてWindows 7に搭載とうさいされたWDDM 1.1では実現じつげんしていなかった。

Windows 10 Anniversary Update (version 1607) では、WDDM 2.1がサポートされた。

同時どうじにDirect3D 12およびDXGI 1.5の更新こうしんおこなわれ、シェーダーモデル6.0のサポート[注釈ちゅうしゃく 2]、およびUWPアプリケーションにおける可変かへんリフレッシュレートのサポート[33]などが追加ついかされる。

Windows 10 Creators Update (version 1703) では、WDDM 2.2がサポートされた。

Windows Mixed Reality仮想かそう/拡張かくちょう/ふくあい現実げんじつ立体りったいレンダリングのサポートなどが追加ついかされた。

Windows 10 Fall Creators Update (version 1709) では、WDDM 2.3がサポートされた。

Windows 10 April 2018 Update (version 1803) では、WDDM 2.4がサポートされた。

Windows 10 October 2018 Update (version 1809) では、WDDM 2.5がサポートされた。

Windows 10 May 2019 Update (version 1903) では、WDDM 2.6がサポートされた。

Windows 10 May 2020 Update (version 2004) では、WDDM 2.7がサポートされた。

DXGI (DirectX Graphics Infrastructure) は、DirectX 10 (Direct3D 10) 以降いこう利用りよう可能かのうになるあたらしいグラフィックス共通きょうつう基盤きばんおよびそのAPI集合しゅうごうである。カーネルモードドライバーやハードウェアとの通信つうしんといったていレベルのタスクを担当たんとうする[34][35]

DXGIは、アダプター(グラフィックスカードあるいはリファレンスラスタライザーなど)やアウトプット(モニター)といったデバイス概念がいねん抽象ちゅうしょうする。さらに、以前いぜんのバージョンのDirect3Dでもおなじみとなっているダブルバッファリングシステムは、スワップチェーンとばれる概念がいねん集約しゅうやくされる。

DXGIを導入どうにゅうすることで、変化へんか頻繁ひんぱんDirect3D APIやDirect2D APIによる実際じっさいのレンダリング部分ぶぶんと、変化へんかゆるやかなデバイス通信つうしん部分ぶぶん分離ぶんりしてかんがえることが可能かのうとなる。また、DXGIそう経由けいゆしたDirect3DとDirect2Dの相互そうご運用うんよう可能かのうとなる[36]。そのほか、DirectComputeでは、DXGIアダプターの列挙れっきょによって、プライマリモニター出力しゅつりょく利用りようされるデフォルトアダプターだけでなく、セカンダリアダプターも統一とういつてき分散ぶんさんコンピューティングよう演算えんざんリソースとして活用かつようすることが可能かのうである。

DXGIのバージョンは、WDDMおよびDirectXのバージョンとともにアップデートされている。たとえばWDDM 1.1とDirectX 11をサポートするWindows 7には、DXGI 1.1ランタイムが導入どうにゅうされる。Windows Vista SP2 Platform Updateでも、WDDM 1.1のサポートは完全かんぜんではないものの、DXGI 1.1ランタイムはDirectX 11ランタイムと同時どうじにバックポートされているため、DXGI 1.1 API自体じたい使用しよう可能かのうである[37]

Windows 8にてDirectX 11.1に対応たいおうするDXGI 1.2が導入どうにゅうされた。Windows 7 SP1 Platform Updateでも、WDDMのバージョンは1.1のままだが、DXGI 1.2ランタイムはDirectX 11.1ランタイムと同時どうじにバックポートされており、一部いちぶのAPI機能きのう使つかえる。

DirectX 11.2に対応たいおうするのはDXGI 1.3 (Windows 8.1以降いこう)、そしてDirectX 11.3とDirectX 12に対応たいおうするのはDXGI 1.4 (Windows 10) となる。

Windows 10 November 2015 Update (version 1511, build 10586) にてDirectX 11.4とともにDXGI 1.5が導入どうにゅうされた[38]

Windows 10 Creators Update (version 1703, build 15063) にてDXGI 1.6が導入どうにゅうされた[39]以降いこうはDXGI自体じたいのバージョン番号ばんごうは1.6できのまま、Windows 10の機能きのう更新こうしんリリースとともにDXGIにも機能きのう追加ついかされている[40]

脚注きゃくちゅう

編集へんしゅう

注釈ちゅうしゃく

編集へんしゅう
  1. ^ WDDM 1.0では、同時どうじに1つしかグラフィックスドライバをロードできない制約せいやくがある。このため、おなじドライバを使つかうGPUならば、グレードをわず混在こんざいさせることは可能かのうだが、ドライバがことなるGPUを混在こんざいさせることはできない(プライマリがわ優先ゆうせんされ、セカンダリ以降いこう装着そうちゃくされたGPUはドライバみエラーとなる)。なお、使用しようドライバをXPDMで統一とういつすれば混在こんざいさせることは可能かのう
  2. ^ Direct3D機能きのうレベル12_0/12_1対応たいおうGPUが必要ひつよう

出典しゅってん

編集へんしゅう
  1. ^ WDDM によるタイムアウトの検出けんしゅつと GPU の回復かいふく”. WHDC. マイクロソフト (2009ねん4がつ27にち). 2009ねん6がつ29にち時点じてんオリジナルよりアーカイブ。2009ねん6がつ6にち閲覧えつらん
  2. ^ Timeout detection and recovery (TDR) - Windows drivers” (英語えいご). Microsoft Docs. マイクロソフト (2020ねん10がつ6にち). 2021ねん4がつ4にち閲覧えつらん
  3. ^ WPF and Direct3D9 interop | Microsoft Learn
  4. ^ Windows 2000 Display Driver Model (XDDM) Design Guide - Windows drivers” (英語えいご). Microsoft Docs. 2019ねん2がつ16にち閲覧えつらん
  5. ^ XPDM vs. WDDM - Windows applications” (英語えいご). Microsoft Docs. 2019ねん2がつ16にち閲覧えつらん
  6. ^ WDDM 1.2 and Windows 8 - Windows drivers | Microsoft Learn
  7. ^ Desktop Window Manager is always on - Win32 apps | Microsoft Learn
  8. ^ Windows 11 requirements - What's new in Windows | Microsoft Learn
  9. ^ WDDM 1.1(Windows Display Driver Model 1.1):Windows Insider用語ようご解説かいせつ - @IT
  10. ^ Windows 10 コンピュータシステムの仕様しよう要件ようけん確認かくにんする方法ほうほう - Microsoft
  11. ^ How to Check Windows 10 Computer System Specs & Requirements - Microsoft
  12. ^ What's new for Windows 7 display drivers (WDDM 1.1) - Windows drivers | Microsoft Learn
  13. ^ 実装じっそうするかどうかはオプションあつかいであり、またネイティブにサポートされるわけではなく、基本きほんてきにDirect2D経由けいゆでの実装じっそうとなる。
  14. ^ Supporting OpenGL Enhancements - Windows drivers | Microsoft Learn
  15. ^ ASCII.jp:DirectX 10.1をベースにするWindows 7 (2/2)|あなたのらないWindows
  16. ^ Graphics Guide for Windows 7 (A Guide for Hardware and System Manufacturers)” (2009ねん6がつ12にち). 2021ねん4がつ5にち閲覧えつらん。 “To reduce the complexity of testing, the Windows 7 WDDM v1.1 driver interfaces are backward compatible with Windows Vista. Therefore, IHVs that implement Windows 7 WDDM v1.1 driver features can integrate them into common driver source code and build a single driver that runs on both Windows 7 and Windows Vista. When installed on Windows Vista, such a driver simply acts as a WDDM v1 driver. When the same driver is installed on Windows 7, it can use the new WDDM v1.1 functionality.”
  17. ^ MS、Windows Vistaのグラフィック機能きのうをWindows 7相当そうとう強化きょうかするパッチを配布はいふ開始かいし - まどもり
  18. ^ VistaにWindows7のしん機能きのう、WDDM1.1とDirectX11が搭載とうさいされる - ぼくんちのTV 別館べっかん
  19. ^ does windows vista support WDDM 1.1? - Microsoft Community
  20. ^ WDDM 1.2 features - Windows drivers | Microsoft Learn
  21. ^ DXGI 1.2 improvements - Win32 apps | Microsoft Learn
  22. ^ WDDM 1.2 driver enforcement - Windows drivers | Microsoft Learn
  23. ^ Microsoft Basic Display Driver - Windows drivers | Microsoft Learn
  24. ^ Changes in DX9 legacy hardware support - Win32 apps | Microsoft Learn
  25. ^ DirectX 11.1 and Windows 7 | Games for Windows and the DirectX SDK blog
  26. ^ Platform Update for Windows 7 - Win32 apps | Microsoft Docs
  27. ^ What's new for Windows 8.1 display drivers (WDDM 1.3) - Windows drivers | Microsoft Learn
  28. ^ Supporting Miracast wireless display drivers - Windows drivers | Microsoft Learn
  29. ^ “ワイヤレスディスプレイ”がWindows 10で実現じつげん、タブレットもディスプレイに?【本当ほんとうにWindows 10って使つかえるの?】”. まどもり. 株式会社かぶしきがいしゃインプレス (2016ねん5がつ6にち). 2019ねん2がつ23にち閲覧えつらん
  30. ^ GpuMmu model - Windows drivers | Microsoft Learn
  31. ^ IoMmu model - Windows drivers | Microsoft Learn
  32. ^ "Windows Display Driver Model (WDDM) v2 And Beyond", Steve Pronovost, Microsoft, Henry Moreton, NVIDIA, Tim Kelley, ATI
  33. ^ Variable refresh rate displays - Win32 apps | Microsoft Learn
  34. ^ DXGI overview - Win32 apps | Microsoft Docs
  35. ^ DXGI の概要がいよう | Microsoft Docs
  36. ^ Direct2D and Direct3D Interoperability Overview - Win32 apps | Microsoft Docs
  37. ^ DirectX Graphics Infrastructure (DXGI) Best Practices - Windows applications | Microsoft Docs
  38. ^ Windows 10 SDK (November 2015) | Games for Windows and the DirectX SDK blog
  39. ^ Windows 10 Creators Update SDK | Games for Windows and the DirectX SDK blog
  40. ^ DXGI 1.6 improvements - Win32 apps | Microsoft Docs

関連かんれん項目こうもく

編集へんしゅう

外部がいぶリンク

編集へんしゅう