このページの本文へ

前へ 1 2 次へ

あなたの知らないWindows 第7回

Windows7で大幅に変わったグラフィックドライバー

2009年07月09日 16時00分更新

文● 山本雅史

  • この記事をはてなブックマークに追加
  • 本文印刷

GDIの同時実行を実現

 Windows 7で、ウインドウ表示のレスポンスを高めているもうひとつの要素が、古くからある2DグラフィックスAPI「GDI」の同時実行機能だ。

 Vistaでは、複数のウインドウを同時に表示する場合、各アプリケーションからのGDI命令を受けて、サーフェスに表示できるように変換する「GDIグラフィックスタック」が、排他制御で処理をしていた。GDI命令がGDIグラフィックスタックに渡されると、GDIグラフィックスタックがGPUにデータを順番に渡していた。

 そのためVistaでは、あるアプリケーションのウインドウ表示が終了するまで、別のアプリケーションのウインドウ表示が待たされていた。そのときに、画面表示中のアプリケーションがHDD上の仮想メモリーからメモリーをページング(スワップイン)する必要が出た場合、GDIグラフィックスタックをロックしたまま、HDDからデータを呼び出すことになる。これもまた、画面表示に時間がかかる大きな理由になっていた。

VistaでのGDIグラフィックスタックの処理

Vistaでは、GDIグラフィックスタックは排他制御で動作する。そのため1度にひとつのアプリケーションしか処理できない

Windows 7でのでのGDIグラフィックスタックの処理

Windows 7ではGDIの同時実行機能により、複数のアプリケーションの表示を同時に処理できる(Windows 7の開発担当者ブログより引用)

 そこでWindows 7では、GDIグラフィックスタックの機能を見直し、排他制御するのではなく、複数のアプリケーションが同時に、GDIによるウインドウ表示をできるようにした。

 この変更により、アプリケーションのウインドウ表示のレスポンスが向上した。表示に時間のかかるアプリケーションがあっても、ほかのアプリケーションはロックされないため、待ち時間もなく、すぐにウインドウ表示できる。そのため、見た目上はウインドウ表示のパフォーマンスが向上しているように見える。

Windows 7では同時実行時の処理性能が理想的に向上

Windows 7では複数のアプリケーションの表示が同時に実行されるため、同時実行時の処理性能が理想的なパターン並みに向上している

 またGDIの同時実行機能は、最近主流になっているマルチコアCPUにとっても大きなメリットがある。VistaではGDIグラフィックスタックがボトルネックだったので、せっかくマルチコアCPUが複数のアプリケーションを同時処理できるのに、その能力を十分に生かせなかった。

 しかし、GDIの同時実行機能によりボトルネックとなる待ち時間が少なくなるため、複数のアプリケーションを同時に動作させている環境では、マルチコアCPUのメリットを生かせるようになる。GDIの同時実行機能はWDDM1.1だけでなく、WDDM1.0でも使用できる。


小幅な改良の積み重ねで体感速度を上げるWindows 7

 Windows 7は「軽い」「速い」と言われるが、根本的にアーキテクチャーを変更してパフォーマンスを向上させたわけではない。例えばグラフィックスベンチマークなどでは、WDDM1.1とWDDM1.0を比較しても、パフォーマンスはほとんど変わらない。

 しかし、ユーザーが実際にWindows 7を使ってみると、体感パフォーマンスは向上している。前述のように、WDDM1.1は多数のアプリケーションが起動されても、使用するシステムメモリーが一定以上には増えない。このことが、Windows 7のレスポンスの良さに関わっているのだろう。

 Windows 7は「速くなった」と言うよりも、ユーザーがパソコンを利用する際のレスポンスを高め、ユーザーが心地よくパソコンが利用できるように開発されているのだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン