マルチコアCPU、GPU - IE9はハードウエアで高速動作

ブラウザがネットワークからデータを受け取って、画面が表示されるまでのステップ。このうち「JavaScript」にマルチコアCPUを、「Display (レンダリング)」にGPUによる高速化を活用

MicrosoftはマルチコアCPUを用いたJavaScript実行やレンダリングのGPUアクセラレーションなど、Internet Explorer(IE) 9におけるハードウエア活用をアピールした。

IE9のJavaScriptエンジンChakraは、空いているコアにJavaScriptコードをネイティブコードにコンパイルする作業を振り分け、JavaScript実行までの時間を短縮する。Windows Experience Indexを通じたデータによると、2010年6月1日時点でWindows 7/Vistaユーザーの平均CPUコア数は2.42個だそうだ。

IE8でのJavaScript実行におけるCPUでの処理の分布図

IE9ではマルチコアCPUを用いて、バックグラウンドでJavaScriptコードをネイティブコードにコンパイル。実行までの時間が短い

SunSpiderベンチマークの結果。IE9 Platform Preview 3はJavaScript実行性能がPreview 1/Preview 2からさらに改善され、Safari 5とほぼ同等

またグラフィックスおよびテキストのレンダリングをCPUではなく、Direct2DやDirectWriteを使ってGPUに担わせる。以下はグラフィック関連のデモ「Flying Images」を実行した際のIE8とIE9のCPU負荷の比較だ。GPUアクセラレーションの効果は一目瞭然である。

Flying Imagesデモ

Flying ImagesのCPU負荷をIE8(上)とIE9(下)で比較。GPUアクセラレーションを利用するIE9では、負荷の高いグラフィック表示でもCPUにほとんど負担がかからない

グラフィックス処理をGPUに振り分けるIE9のハードウエア利用

発表を担当したInternet ExplorerチームのパフォーマンスリードであるJason Weber氏は、Windows Experience Indexのグラフィックススコアが「3.6」のノートPCを使用していた。これはWindows 7/ Vistaユーザー全体の下位15%ぐらいに含まれる性能で、低スペックのPCでもIE9が快適に動作するのを確かめるために、あえてスコア3.6のマシンを日常的に使用しているそうだ。実際、同氏のノートPCでもFlying Imagesが滑らかに動作した。

ダイアグラムの緑色はJavaScriptサブシステム、水色はレイアウト、紫はレンダリングである。GPUアクセラレーションを利用するIE9では水色(レイアウト)が占める割合が大きくなっているが、ダイヤグラムはPrevew 1の結果であり、先々週にリリースされたIE9 Platform Preview 3ではレイアウト・エンジンも改善された。

「IE9は根本から異なるブラウザである」とWeber氏。ただし「IE8で培った開発プロセスはIE9に引き継がれる」という。IE8開発でMicrosoftはベンチマークスコアよりも、Windowsユーザーから収集したリアルな利用データをもとにした改善に力を入れ、セキュリティや信頼性、操作性の向上などユーザーにとって使いやすいブラウザを目指した。IE9では一転、ベンチマーク重視に舵を切ったように見える。だが開発姿勢に変わりはなく、パフォーマンスやHTML5サポートを含めて、リアルなWebサイトの傾向およびユーザーの声が反映された使いやすいブラウザに仕上げていくという。