【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

用語解説

WDDM 1.1(Windows Display Driver Model 1.1)

デジタルアドバンテージ 打越 浩幸
2009/08/31

コラム「改良されたVistaの描画アーキテクチャ」

 Windows 7およびWindows Server 2008 R2向けの新しいディスプレイ・ドライバの仕様。従来のWindows Vista/Windows Server 2008向けディスプレイ・ドライバであるWDDM 1(WDDM v1)を改良したもの(Windows XP/Windows Server 2003向けのものはXPDMと呼ばれる。関連記事参照)。

WDDM 1.1をサポートしたドライバの例
これはNVIDIAのGeForce 8600M GS用のWDDM 1.1ドライバの例。dxdiagコマンドを実行すると、このように表示される。
WDDM 1.1ドライバがインストールされていると、このように表示される。

 WDDM 1.1の特徴としては次のようなものがある。

  • Direct3D 10/11サポート
  • Direct2Dサポート
  • ビデオ再生サポート(ビデオ・オーバーレイ、DXVA-HD、コンテンツ暗号化用のAES128のサポート)
  • 高精細DPIサポート
  • マルチGPU(複数のグラフィックス・カード)サポート
  • Linked Display Adapter(複数をリンクさせて性能を向上させたグラフィックス・カード)サポート

 Windows 7/Windows Server 2008 R2ではWindows Vista/Windows Server 2008用のWDDMのドライバ(WDDM v1)も利用できるが、WDDM 1.1対応ドライバを利用することにより、Direct2Dによる高速な描画や、DWMの使用メモリ量の削減といったメリットがある。

Direct2Dによる描画サポート

 Direct2Dは、Direct3D上にGDI/GDI+ API(2Dの描画API。以下単にGDI)を実装したものである。Windows 7+WDDM 1.1環境ではDirect2Dを使うことにより、高速なGDI(Graphics Device Interface)処理を実現している。

Direct2D API
Direct2Dは、Direct3D上でGDI/GDI+処理を行うための新しいAPIである。Windows 7が呼び出すだけでなく、ユーザーが直接呼び出してもよい。下位のハードウェアの仕様により、Direct2Dの実装方法は何種類かある。GPUで処理することにより、高速なGDI処理が可能になる。
DirectX 11ハードウェアの場合は、ハードウェア(GPU)もしくはデバイス・ドライバ内のエミュレーションでDirect2Dをサポートする。ハードウェアで処理するのが最も高速になる。DXGI(DirectX Graphics Infrastructure)はDirectX(WDDMドライバ)を呼び出すためのインターフェイス。
DirectX 10ハードウェアの場合は、Windows 7側でDirect3D 10の機能だけを使ってDirect2Dを実装する。
DirectX 9ハードウェアの場合は、Windows 7側でDirect3D 10 Level 9の機能だけを使ってDirect2Dを実装する。Direct3D 10 Level 9は、Direct9ハードウェア上にDirectX 10のAPIを実装したもの。

 GDIは一般的なWindowsアプリケーションでよく使われる、直線や曲線、図形、文字の描画、スクロール(BitBlt処理)などを行うAPIである。3Dが普及する以前のグラフィックス・カードでは、このGDI処理をハードウェア・サポートして高速なウィンドウ・システムを実現していた。

 だがWindows VistaのAero Glass環境では、グラフィックス・カードの持つGPUの機能を駆使してデスクトップを3Dで描画するようになったため、ハードウェアの持つGDI処理機能は使われなくなっていた(先のコラム参照)。3Dと2Dのアクセラレータはメカニズムがまったく異なるため、共存できないからだ。代わりにWindows VistaのAero Glass環境では、完全にソフトウェア(CPU)によってGDI描画を処理をしている。

 このGDIをDirect3D上に実装し、再びハードウェア(GPU)上で処理することを可能にしたのがWDDM 1.1である。Windows 7ではDirect2Dを使うことにより、2Dの描画処理もグラフィックス・ドライバ+GPUで処理し、高速な描画を実現している。

DWMの使用メモリ量の削減

 DWMは、Aero Glassのデスクトップ画面を実現するためのウィンドウ・マネージャである。各アプリケーションの表示ウィンドウやデスクトップのパーツなどを3D空間上で合成し、2Dのデスクトップを実現している。枠や背景が透けて下のウィンドウが見えるのは、3D的に見ると、本当に後ろ側に配置されているからである。またフリップ3D機能([Windows]−[Tab]キーによるダイナミックな切り替え)は、3D空間中にウィンドウを斜めに重ねて配置することにより、ページをめくるようなアプリケーションの切り替えを実現している。

 Windows Vistaにおけるこの仕組みの実現方法は次の通りである。まずアプリケーションのウィンドウ・サイズに相当するバッファを1つ用意し、すべての描画をこのバッファに対して行う(GDI描画命令を呼び出すと、CPUが処理して、このバッファに書き込む)。このバッファは実際には各アプリケーションの共有メモリ・アドレス空間内に配置されている。次にこのバッファを(共有メモリとしてアクセスして)DWMが集め、グラフィックス・カード上にビットマップ・データとして転送する。最後にグラフィックス・カードがそれらのビットマップを3Dモデルにテキスチャ・マッピングする。これが最終的なデスクトップ画面となる。

 一度中間的なバッファを使って描画するのは、CPUが直接グラフィックス・カード上のバッファに書き込むのはコストが高いからだ(メイン・メモリへの書き込みと違い、時間がかかり、ペナルティが大きい)。

 Windows 7+WDDM 1.1環境では共有メモリ上のバッファを使わず、アプリケーションのGDI描画命令をDirect2D APIとして実行している。これにより、中間的なバッファを使わず、グラフィックス・カード上のバッファに直接書き込むことが可能になった。またメモリを節約しながらも、GPUによる高速なGDI処理を実現している。

 Windows Vista(もしくはWindows 7+WDDM 1)環境では、必ず中間的なウィンドウ・サイズに相当するバッファが必要となっていたが、これに必要なメモリ・サイズは決して少ないものではない。例えば1024×1024ドット程度のウィンドウ・サイズを持つアプリケーションの場合、必要なバッファ・サイズは約4Mbytesになる(1ピクセルあたり、RGB+アルファ・チャネルの4bytes)。このようなアプリケーションが50個あったとすると、これだけで4×50=200Mbytesとなる。Windows 7+WDDM 1.1ではこの200Mbytesが不要になり、それだけほかのアプリケーションで利用可能なメモリが増えることになる。実際にはDirect2Dのハードウェア・アクセラレーションによる恩恵もあり、Windows 7はWindows Vistaよりも軽快に利用できるようになっている。End of Article

 「 用語解説 」

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています