このページの本文へ

前へ 1 2 次へ

  • twitterでつぶやく
  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

あなたの知らない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グラフィックスタックの処理Windows 7でのでのGDIグラフィックスタックの処理
Vistaでは、GDIグラフィックスタックは排他制御で動作する。そのため1度にひとつのアプリケーションしか処理できない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.jp特設サイト

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

ASCII.jp RSS2.0 配信中

ピックアップ

富士通パソコンFMVの直販サイト富士通 WEB MART

デル株式会社