dxdiagコマンドを実行すると、このように表示される。1.1ドライバがインストールされていると、このように表示される。1.1の特徴としては次のようなものがある。1.1対応ドライバを利用することにより、Direct2Dによる高速な描画や、DWMの使用メモリ量の削減といったメリットがある。API(2Dの描画API。以下単にGDI)を実装したものである。Interface)処理を実現している。APIDirect2Dは、Direct3D上でGDI/GDI+処理を行うための新しいAPIである。7が呼び出すだけでなく、ユーザーが直接呼び出してもよい。下位のハードウェアの仕様により、Direct2Dの実装方法は何種類かある。GPUで処理することにより、高速なGDI処理が可能になる。11ハードウェアの場合は、ハードウェア(GPU)もしくはデバイス・ドライバ内のエミュレーションでDirect2Dをサポートする。ハードウェアで処理するのが最も高速になる。Infrastructure)はDirectX(WDDMドライバ)を呼び出すためのインターフェイス。10の機能だけを使ってDirect2Dを実装する。9の機能だけを使ってDirect2Dを実装する。10のAPIを実装したもの。GDIは一般的なWindowsアプリケーションでよく使われる、直線や曲線、図形、文字の描画、スクロール(BitBlt処理)などを行うAPIである。3Dが普及する以前のグラフィックス・カードでは、このGDI処理をハードウェア・サポートして高速なウィンドウ・システムを実現していた。Glass環境では、グラフィックス・カードの持つGPUの機能を駆使してデスクトップを3Dで描画するようになったため、ハードウェアの持つGDI処理機能は使われなくなっていた(先のコラム参照)。3Dと2Dのアクセラレータはメカニズムがまったく異なるため、共存できないからだ。Glass環境では、完全にソフトウェア(CPU)によってGDI描画を処理をしている。7ではDirect2Dを使うことにより、2Dの描画処理もグラフィックス・ドライバ+GPUで処理し、高速な描画を実現している。Glassのデスクトップ画面を実現するためのウィンドウ・マネージャである。各アプリケーションの表示ウィンドウやデスクトップのパーツなどを3D空間上で合成し、2Dのデスクトップを実現している。枠や背景が透けて下のウィンドウが見えるのは、3D的に見ると、本当に後ろ側に配置されているからである。フリップ3D機能([Windows]−[Tab]キーによるダイナミックな切り替え)は、3D空間中にウィンドウを斜めに重ねて配置することにより、ページをめくるようなアプリケーションの切り替えを実現している。Vistaにおけるこの仕組みの実現方法は次の通りである。アプリケーションのウィンドウ・サイズに相当するバッファを1つ用意し、すべての描画をこのバッファに対して行う(GDI描画命令を呼び出すと、CPUが処理して、このバッファに書き込む)。このバッファは実際には各アプリケーションの共有メモリ・アドレス空間内に配置されている。次にこのバッファを(共有メモリとしてアクセスして)DWMが集め、グラフィックス・カード上にビットマップ・データとして転送する。最後にグラフィックス・カードがそれらのビットマップを3Dモデルにテキスチャ・マッピングする。これが最終的なデスクトップ画面となる。一度中間的なバッファを使って描画するのは、CPUが直接グラフィックス・カード上のバッファに書き込むのはコストが高いからだ(メイン・メモリへの書き込みと違い、時間がかかり、ペナルティが大きい)。APIとして実行している。これにより、中間的なバッファを使わず、グラフィックス・カード上のバッファに直接書き込むことが可能になった。メモリを節約しながらも、GPUによる高速なGDI処理を実現している。1)環境では、必ず中間的なウィンドウ・サイズに相当するバッファが必要となっていたが、これに必要なメモリ・サイズは決して少ないものではない。1024×1024ドット程度のウィンドウ・サイズを持つアプリケーションの場合、必要なバッファ・サイズは約4Mbytesになる(1ピクセルあたり、RGB+アルファ・チャネルの4bytes)。このようなアプリケーションが50個あったとすると、これだけで4×50=200Mbytesとなる。1.1ではこの200Mbytesが不要になり、それだけほかのアプリケーションで利用可能なメモリが増えることになる。Vistaよりも軽快に利用できるようになっている。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。