Windows Display Driver Model

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

Windows Display Driver Model(ウィンドウズ・ディスプレイ・ドライバ・モデル、WDDM)とは、新しくWindows Vistaで導入された、ビデオカードデバイスドライバの枠組みである。Direct3D 9ExやDirect3D 10以降のDirect3Dは、WDDMに対応するよう設計されている。

Windows Vistaでは、WDDMではなく、Windows 2000/XPのドライバモデル (XPDM) によるディスプレイドライバも使用可能である。ただし、その場合、Desktop Window Manager (DWM)、ひいてはWindows Aeroテーマが使用できない。DWMがDirect3D 9Exを使用するためである。Windows Server 2008やWindows 7でも同様である。

概要[編集]

DirectX 9までのバージョンにおいては、DirectXランタイム及びデバイスドライバ層の設計がシングルタスク前提となっており、GPGPUや同時に複数の3Dアプリケーションを安全かつ安定的に動作させることが困難になってきた。そのため、Windows Vistaのリリースに伴い大幅に設計を変更し、マルチスレッドに対応させ安定度も向上させるべく設計された新しいドライバモデルがWDDMである。WDDM・DWMにより、Windows AeroではOSのデスクトップの描画自体にGPUを使用することができ、結果としてCPUの負荷を軽減することができるようになる。

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

WDDM 1.1[編集]

Windows 7では、新しくWDDM 1.1が登場する[2]。なお、Windows 7でもWindows Vista用のWDDM 1.0ドライバの使用は可能である。

  • BitBltClearTypeフォント描画などGDI描画への支援の追加[3]
  • ビデオオーバーレイへの対応
  • OpenGL ICDのための強化[4]
  • 異なるベンダーのGPUを混在して利用可能になった[5]

なお、Windows Vistaにおいては、2009年10月のWindows Updateで「Windows Vista 用のプラットフォーム更新プログラム(KB971644)」の配布が始まり、これを導入することでWDDM 1.1対応になるとの誤解があるが、DirectX 11やDirect2Dなど、Windows7に標準実装されている機能の一部がバックポートされるだけであり、ドライバモデルそのものがWDDM 1.1になるわけではない。従って、バックポートされた機能を使わないアプリケーションの動作は特に変化はないので注意が必要[6]

WDDM 1.2[編集]

Windows 8では、WDDM 1.2にアップデートされた。また、XPDM (XDDM) は廃止されている[7]。ビデオメモリのより効率的な利用、Direct3D 11.1のサポートなどが追加されている[8] [9]

なお、Windows 7 SP1およびWindows Server 2008 R2 SP1において、「Platform Update for Windows 7 Service Pack 1 and Windows Server 2008 R2 Service Pack 1 (KB 2670838)」(Windows 7 SP1 および Windows Server 2008 R2 SP1 用のプラットフォーム更新プログラム)を適用することでDirect3D 11.1やDirect2D 1.1などの一部機能が使えるようになるが、ドライバーモデルがWDDM 1.2対応になるわけではない[10]

WDDM 1.3[編集]

Windows 8.1では、WDDM 1.3にアップデートされた。タイル化されたリソース(メガテクスチャ)や、Direct3Dレンダリングパフォーマンスの改善、Direct3D 11.2のサポートなどが行なわれている[11]

脚注[編集]

[ヘルプ]
  1. ^ WDDM によるタイムアウトの検出と GPU の回復”. WHDC. マイクロソフト (2009年4月27日). 2009年6月6日閲覧。
  2. ^ What's new for Windows 7 display drivers (WDDM 1.1) (Windows Drivers)
  3. ^ 実装するかどうかはオプション扱いであり、またネイティブにサポートされるわけではなく、基本的にDirect2D経由での実装となる。
  4. ^ Supporting OpenGL Enhancements (Windows Drivers)
  5. ^ WDDM1.0では、同時に1つしかグラフィックドライバをロードできない制約がある。このため、同じドライバを使うGPUならば、グレードを問わず混在することは可能だが、ドライバが異なるGPUを混在することはできない(プライマリ側が優先され、セカンダリ以降に装着されたGPUはドライバ読込みエラーとなる)。なお、使用ドライバをXPDMで統一すれば混在することは可能。
  6. ^ HOTFIX配布サイトにおいても、WDDM 1.1対応とは一切謳われておらず、DxDiagでもWDDM 1.0扱いのままである。
  7. ^ WDDM 1.2 and Windows 8 (Windows Drivers)
  8. ^ WDDM 1.2 features (Windows Drivers)
  9. ^ DXGI 1.2 Improvements (Windows)
  10. ^ DirectX 11.1 and Windows 7 - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs
  11. ^ What's new for Windows 8.1 display drivers (WDDM 1.3) (Windows Drivers)

関連項目[編集]

外部リンク[編集]