Windows 7では、「WDDM1.1」(Windows Display Driver Model 1.1)という新しいグラフィックドライバーモデルを採用している。これはWindows Vistaで採用された「WDDM1.0」の改良版であるが、番号の上ではコンマ1だけの違いにも関わらず、多くの変更点が盛り込まれている。WDDM1.1はWDDM1.0とどこが異なり、どういったメリットをWindows 7にもたらしているのだろうか?
WDDM1.1により使用するメモリーが減った
Windows 7では、グラフィクドライバーをWDDM1.1にバージョンアップしたことにより、Vistaに比べてパフォーマンスが向上していると言われている。
WDDM1.1によるパフォーマンス向上について、同社プロダクトマネジメント部シニアエグゼクティブプロダクトマネージャーの細井 智氏はこう話す。「Windows 7でWDDM1.1を採用したことで、グラフィックのパフォーマンスが向上したわけではありません。WDDM1.1では多数のウインドウを表示する場合に、使用するワーキングメモリーの量が少なくなっています。これにより、ウインドウをたくさん表示しても、オーバーヘッドが少なくなりました」
WDDM1.0は、DirectXをベースとした表示システムを採用している。これにより、Vistaでウインドウが立体的で表示される「フリップ3D」やウインドウフレームが透けて見える「Windows Aero」などのユーザーインターフェースを実現している。
![]() | WDDM1.1はWDDM1.0(左の赤枠内)の機能を内包する(WinHEC 2008の資料より引用) |
|---|
WDDM1.0では、個々のウインドウはそれぞれ、表示のためのメモリー領域(ワーキングメモリー)をシステムメモリー上に持つ。そして描画の中枢となる「Desktop Window Manager」(DWM)が、ワーキングメモリーを元に「サーフェス」と呼ばれるメモリー領域をシステムメモリー上に作る。つまり、画面を表示するために二重にメモリが使用されているわけだ。最終的には各サーフェスはDWMによってGPU側のビデオメモリーに送られ、合成されて実際に表示される画面になる。
そのためWDDM1.0では、表示するウインドウの数が増えれば、増えるほど、システムメモリーをウインドウ画面のワーキングメモリーとして消費し、システム全体としてレスポンスが悪くなってくる。これが、Vistaが重いといわれる原因のひとつだ。
![]() | ![]() | |
|---|---|---|
| WDDM1.0では、各ウインドウ画面のデータをシステムメモリー上(オレンジ部)に持っている(Windows 7の開発担当者ブログより引用) | WDDM1.1ではシステムメモリー上にウインドウ画面のデータをコピーすることは止め、GPUのビデオメモリー上だけに持っている |
一方、Windows 7で採用されたWDDM1.1では、システムメモリー上には各ウインドウ画面のワーキングメモリーを取らないようにした。マイクロソフトがWDDM1.0環境を詳しく調査した結果、サーフェス上にあるウインドウ画面のデータだけで、きちんと動作するという事が分かったという。新しい仕組みを使うWindows 7では、どれだけウインドウを表示しても、使用するワーキングメモリーは増えない。メモリーの読み書き頻度も減るわけで、その分のタイムロスも減る。このことが「Windows 7の表示は軽い」と言われる理由だ。
![]() | WDDM1.1では、どれだけウインドウを表示しても、使用するメモリー量は変わらない。一方でWDDM1.0は、表示するウインドウの数が増えると使用するメモリーも増える |
|---|
Windows 7ではWDDM1.1だけでなく、Vistaで採用されていたWDDM1.0のグラフィックドライバーもサポートされている。ただし、Windows 7上でWDDM1.0のドライバーを使用した場合、Vistaと同じ描画方式が使われるため、WDDM1.1の軽快さはない。
![]() | Windows 7はWDDM1.0でも使用できる(画面下部)。ここでは、Windows 7 RC版となっているが、製品版でも変わらないと思われる |
|---|
NvidiaやAMDは、積極的にグラフィックドライバーのWDDM1.1対応を進めている。そのためWindows 7がリリースされる頃には、多くのパソコンでWindows 7の軽快さが体験できるだろう。
























