コンテンツにスキップ

「Windows Display Driver Model」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
WDDM 2.0の追加。
→‎バージョン: 出典を追加。
19行目: 19行目:
* ビデオオーバーレイへの対応
* ビデオオーバーレイへの対応
* OpenGL ICDのための強化<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/ff569877.aspx Supporting OpenGL Enhancements (Windows Drivers)]</ref>
* OpenGL ICDのための強化<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/ff569877.aspx Supporting OpenGL Enhancements (Windows Drivers)]</ref>
* 異なるベンダーのGPUを混在して利用可能になった<ref>WDDM 1.0では、同時に1つしかグラフィックドライバをロードできない制約がある。このため、同じドライバを使うGPUならば、グレードを問わず混在することは可能だが、ドライバが異なるGPUを混在することはできない(プライマリ側が優先され、セカンダリ以降に装着されたGPUはドライバ読込みエラーとなる)。なお、使用ドライバをXPDMで統一すれば混在することは可能。</ref>
* 異なるベンダーのGPUを混在して利用可能になった<ref>[http://ascii.jp/elem/000/000/438/438414/index-2.html ASCII.jp:DirectX 10.1をベースにするWindows 7 (2/2)|あなたの知らないWindows]</ref> <ref>WDDM 1.0では、同時に1つしかグラフィックドライバをロードできない制約がある。このため、同じドライバを使うGPUならば、グレードを問わず混在することは可能だが、ドライバが異なるGPUを混在することはできない(プライマリ側が優先され、セカンダリ以降に装着されたGPUはドライバ読込みエラーとなる)。なお、使用ドライバをXPDMで統一すれば混在することは可能。</ref>


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


=== WDDM 1.3 ===
=== WDDM 1.3 ===
[[Windows 8.1]]では、WDDM 1.3にアップデートされた。タイル化されたリソース([[メガテクスチャ]])や、Direct3Dレンダリングパフォーマンスの改善、Direct3D 11.2のサポートなどが行なわれている<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/dn265512.aspx What's new for Windows 8.1 display drivers (WDDM 1.3) (Windows Drivers)]</ref>。
[[Windows 8.1]]では、WDDM 1.3にアップデートされた。タイル化されたリソース({{仮リンク|メガテクスチャ|en|MegaTexture}})や、Direct3Dレンダリングパフォーマンスの改善、Direct3D 11.2のサポートなどが行なわれている<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/dn265512.aspx What's new for Windows 8.1 display drivers (WDDM 1.3) (Windows Drivers)]</ref>。


=== WDDM 2.0 ===
=== WDDM 2.0 ===
[[Windows 10]]では、WDDM 2.0にアップデートされる予定となっている。'''GpuMmu'''<ref>[https://msdn.microsoft.com/en-us/library/windows/hardware/dn894173.aspx GpuMmu model (Windows Drivers)]</ref>および'''IoMmu'''<ref>[https://msdn.microsoft.com/en-us/library/windows/hardware/dn894176.aspx IoMmu model (Windows Drivers)]</ref>と呼ばれる2つの仮想アドレッシングモードを持つGPU仮想メモリ機能などをサポートする。なお、この仮想メモリ機能はかつて{{仮リンク|WinHEC|en|Windows Hardware Engineering Conference}} 2006にて"WDDM v2"の機能として発表された<ref>[http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI103_WH06.ppt "Windows Display Driver Model (WDDM) v2 And Beyond", Steve Pronovost, Microsoft, Henry Moreton, NVIDIA, Tim Kelley, ATI]</ref>が、実際にWindows 7に搭載されたWDDM 1.1では実現していなかった。
[[Windows 10]]では、WDDM 2.0にアップデートされる予定となっている。Direct3D 11.3およびDirect3D 12のサポートなどが行なわれる。また、'''GpuMmu'''<ref>[https://msdn.microsoft.com/en-us/library/windows/hardware/dn894173.aspx GpuMmu model (Windows Drivers)]</ref>および'''IoMmu'''<ref>[https://msdn.microsoft.com/en-us/library/windows/hardware/dn894176.aspx IoMmu model (Windows Drivers)]</ref>と呼ばれる2つの仮想アドレッシングモデルを持つGPU仮想メモリ機能などをサポートする。なお、この仮想メモリ機能はかつて{{仮リンク|WinHEC|en|Windows Hardware Engineering Conference}} 2006にて"WDDM v2"の機能として発表された<ref>[http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI103_WH06.ppt "Windows Display Driver Model (WDDM) v2 And Beyond", Steve Pronovost, Microsoft, Henry Moreton, NVIDIA, Tim Kelley, ATI]</ref>が、実際にWindows 7に搭載されたWDDM 1.1では実現していなかった。


{{節stub}}
{{節stub}}

2015年6月21日 (日) 17:07時点における版

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] [6]

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

WDDM 1.2

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

なお、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対応になるわけではない[11]

WDDM 1.3

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

WDDM 2.0

Windows 10では、WDDM 2.0にアップデートされる予定となっている。Direct3D 11.3およびDirect3D 12のサポートなどが行なわれる。また、GpuMmu[13]およびIoMmu[14]と呼ばれる2つの仮想アドレッシングモデルを持つGPU仮想メモリ機能などをサポートする。なお、この仮想メモリ機能はかつてWinHEC英語版 2006にて"WDDM v2"の機能として発表された[15]が、実際にWindows 7に搭載されたWDDM 1.1では実現していなかった。

DXGI

DXGI (DirectX Graphics Infrastructure) は、DirectX 10 (Direct3D 10) 以降で利用可能になる新しいグラフィックス共通基盤およびそのAPI集合である。カーネルモードドライバーやハードウェアとの通信といった低レベルのタスクを担当する[16]

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

DXGIを導入することで、変化の頻繁なDirect3D APIやDirect2D APIによる実際のレンダリング部分と、変化の緩やかなデバイス通信部分を分離して考えることが可能となる。また、DXGI層を経由したDirect3DとDirect2Dの相互運用が可能となる[17]

DXGIのバージョンは、WDDMのバージョンとともにアップデートされている。例えばWDDM 1.1をサポートするWindows 7には、DXGI 1.1ランタイムが導入される。ただし、Windows Vista SP2 Platform Updateでも、(WDDMバージョンは1.0のままであるものの)DXGI 1.1ランタイムはDirectX 11ランタイムと同時にバックポートされているため、DXGI 1.1 API自体の使用は可能である[18]

脚注

  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. ^ ASCII.jp:DirectX 10.1をベースにするWindows 7 (2/2)|あなたの知らないWindows
  6. ^ WDDM 1.0では、同時に1つしかグラフィックドライバをロードできない制約がある。このため、同じドライバを使うGPUならば、グレードを問わず混在することは可能だが、ドライバが異なるGPUを混在することはできない(プライマリ側が優先され、セカンダリ以降に装着されたGPUはドライバ読込みエラーとなる)。なお、使用ドライバをXPDMで統一すれば混在することは可能。
  7. ^ HOTFIX配布サイトにおいても、WDDM 1.1対応とは一切謳われておらず、DxDiagでもWDDM 1.0扱いのままである。
  8. ^ WDDM 1.2 and Windows 8 (Windows Drivers)
  9. ^ WDDM 1.2 features (Windows Drivers)
  10. ^ DXGI 1.2 Improvements (Windows)
  11. ^ DirectX 11.1 and Windows 7 - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs
  12. ^ What's new for Windows 8.1 display drivers (WDDM 1.3) (Windows Drivers)
  13. ^ GpuMmu model (Windows Drivers)
  14. ^ IoMmu model (Windows Drivers)
  15. ^ "Windows Display Driver Model (WDDM) v2 And Beyond", Steve Pronovost, Microsoft, Henry Moreton, NVIDIA, Tim Kelley, ATI
  16. ^ DXGI の概要 (Direct3D 10)
  17. ^ Direct2D と Direct3D の相互運用性の概要 (Windows)
  18. ^ DirectX Graphics Infrastructure (DXGI):ベスト プラクティス

関連項目

外部リンク