Windows 7でデスクトップ描画を司るデスクトップウインドウマネージャー(DWM)は、DirectX 10.1 APIを使用している。このことが「Windows 7はDirectX 10.1ベース」といわれている理由だ。
しかし、Windows 7 RC版のシステム要件を見ると、グラフィックの要件は「128MBのメモリーを搭載したDirectX 9をサポートするグラフィックス」となっている。つまりWindows 7では、「DirectX 9対応GPUをDirectX 10.1対応として動作させられる」というわけだ。いったいどういうことだろう?
![]() | ![]() | |
|---|---|---|
| Windows 7 RCの説明会でのシステム要件。「WDDM1.0以上のドライバーを持つDirectX 9対応GPU」が必要とされている(説明会資料より引用) | Windows 7で新しく追加されたDirectX関連の機能 |
DirectX 10.1をソフトウェアでエミュレーション
DirectX 10.1では、DirectX 9世代のGPUでもDirectX 10.1の機能が動くように、ソフトウェアエミュレーションの機能が用意されている。これによりDirectX 9世代のGPUであっても、Windows 7のユーザーインターフェース(UI)に使用されている「Windows Aero」の半透明ウインドウなどが利用できる。そのためにはVista用ドライバーではなく、Windows 7用のドライバーをインストールする必要がある。
![]() | ![]() | |
|---|---|---|
| Windows 7ではDirectX 10.1により積極的にGPUを利用することで、UIに凝ったエフェクトを使用しても、CPUの負荷が小さいという(TechDays09の資料より) | DirectX 10.1はモジュール構造になっている。そのためDirectX 11がリリースされても、DirectX全体をアップデートしなくてすむ |
DirectX 9世代のGPUといっても、機能レベル(Shader Model)には差がある。DirectX 10.1ではSharder Modelの差も考慮して、各社のGPUをレベル分けして、足りない機能をソフトウェアエミュレーションで補う。
![]() | DirectX 10では、各社のGPUを3種類に分けている。Direct3D 10(DirectX 10)に対応したもの、DirectX 9対応のもの、そしてDirectX 9以前のもの(No WDDM)だ。DirectX 9やそれ以前のGPUを利用する場合、Windows 7がソフトウェアで機能を補って、DirectX 10.1の機能をサポートする |
|---|
![]() | DirectX 9対応GPUも、機能によっていくつかのレベルに分かれて扱われる |
|---|
DirectX 9世代のGPUは、Feature Level9_1からFeature Level9_3まで、3段階に分けられている。DirectX 9世代のGPUとして、最も低機能のカテゴリーに分類されるIntel G965(GMA X3000)、GeForce FX、S3社のGPU、SiS Mirage(SiSのチップセット内蔵型GPU)でも、Windows 7は利用できる。
ただし、GPUに足りない機能をソフトウェアエミュレーションで実現しているため、Feature Level9_1レベルのGPUでは、最新世代のGPUに比べるとCPU負荷が高くなる。今販売されている新製品でも、ネットブック/ネットトップの多くはこれに該当する。
DirectX 9世代でも上位に位置するFeature Level9_3レベルのGPUとしては、Shader Model3.0をサポートしたNVIDIAのGeForce 6800シリーズ以上や、ATI(AMD) Radeon X1300シリーズ以上が含まれる。これらは4~5年前のGPUだ(チップセット内蔵機能としては、最近の製品でも使われる場合がある)。現在店頭に並んでいる新製品パソコンでは、DirectX 9世代のGPUよりは高性能なGPUが使用されている。これらは十分なパフォーマンスでWindows 7を動かすことができるだろう。
Warp10により、WDDM以前の旧式GPUでもWindows 7は動く
またDirectX 10.1には、WDDM対応ではない古いGPUでもWindows 7を利用できる。これは、DirectX 10.1対応のGPU機能をすべてソフトウェアエミュレーションで処理する「Direct3D Warp10」(以下Warp10)という機能が用意されているためだ。
Warp10により、DirectX 9以前の古いGPUでもWindows 7を動かすことはできる。しかし、すべてをソフトウェアエミュレーションで処理するため、パフォーマンスは非常に低い。DirectX 10対応のゲームが動く、というレベルではないだろう。Warp10はあくまで、企業に残る古いデスクトップやノートでも、なんとかWindows 7を動かすために提供されている機能と言える。
多くのユーザーにとって、「Windows 7を動かすために、新しいグラフィックカードを購入する」といった必要はないだろう。DirectX 9世代のGPUでも動作はする。もちろんDirectX 10世代のGPUなら、より高い性能で動作するだろう。
この連載の記事
- 第28回 「毎日使ってもらえるメール」を目指した新Hotmail
- 第27回 次期Windows Live「Wave4」はこうなる
- 第26回 メモリー使用量と性能を改善する7のカーネル改良
- 第25回 DirectXで進化したInternet Explorer 9を試してみた
- 第24回 MinWinとVirtual DLLで変わるWindowsカーネル
- 第23回 なぜWindows 7のカーネルはVistaより軽量化できたのか?
- 第22回 周辺機器を使いやすくするDevice Stageの利点と問題点
- 第21回 Windowsの画面表示を変えるDirect2DとDirectWrite
- 第20回 GPGPUをWindowsでサポートする「DirectCompute」
- 第19回 SSDサポートにさらなる一歩を踏み出したWindows 7
- この連載の一覧へ




















