Windows_Display_Driver_Model
[Wikipedia|▼Menu]

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]
バージョン.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この節の加筆が望まれています。

XDDM/XPDM

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]
WDDM 1.0

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

Windows 7以降のOSでも、引き続きWDDM 1.0のドライバを使用することは可能である[9][10][11]。ただしその場合、WDDM 1.1以降で追加された機能は利用できない。
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]
WDDM 1.2

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]
WDDM 1.3

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

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

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

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では実現していなかった。
WDDM 2.1

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

同時にDirect3D 12およびDXGI 1.5の更新も行なわれ、シェーダーモデル6.0のサポート[注釈 2]、およびUWPアプリケーションにおける可変リフレッシュレートのサポート[33]などが追加される。
WDDM 2.2

この節は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "Windows Display Driver Model" ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2019年4月)

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


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:45 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef