2010年3月に、米国で開催されたマイクロソフトの開発者向けカンファレンス「MIX10」では、新世代ブラウザー「Internet Explorer 9」(IE9)のプラットフォームプレビュー版(IE9 Platform Preview)が公開された。今回はこれを使用して、IE9の強化点である「GPUによるアクセラレーション」について検証してみたい。
マイクロソフトが現在の「Internet Explorer 8」(IE8)をリリースしたのは、2009年3月末。IE8はそれ以前のInternet Explorerとは異なり、ウェブ標準技術への対応とパフォーマンス向上を目指して開発されていた。しかし、DOMやJavaScriptなどの互換性テスト「Acid3」などを見ると、ウェブ標準に対してのサポート度合いはまだ低かった。
さらに、多くのウェブサイトがJavaScriptを使用するようになり、あまりJavaScriptのチューニングが進んでいなかったIE8は、FirefoxやSafari、Google Chromeといった競合ブラウザーと比較すると遅かった。
GPUをフル活用してHTML5やビデオを高速化
そこでIE9では、ウェブ標準準拠(DOM、CSS3の完全サポート)と大幅なJavaScriptなどのパフォーマンス向上を目標としている。さらに、今後のウェブ環境において重要になる「HTML5」やベクターグラフィックス規格「SVG1.1」などがサポートされる。
現在でもFirefoxやChromeなどのブラウザーは、一部HTML5やSVGなどをサポートしている。しかしIE9では、HTML5のグラフィック表示やビデオ表示、SVGなどに、WindowsのDirectXを利用することで、GPUのパワーで高速処理できる点が注目に値する。
例えばHTML5では、「Video」というタグが用意されている。これによりウェブサイトに直接ビデオを埋め込める。IE9ではHTML5に埋め込まれているVideoタグを識別して、CPUだけでなくGPUでビデオ再生を処理することで、CPUに負担をかけない。またこの処理には、Flashなどのプラグインを別途起動しなくてもいい。
ブラウザー上での文字表示には、「DirectWrite」が利用されている。DirectWriteはClearyType技術を使って、文字のエッジなどを滑らかに表示する。これにより、ブラウザー上の文字がよりきれいに表示できるようになる(関連記事)。
マルチコアCPUに対応したJavaScriptエンジン
IE8までのJavaScriptコードは、インタープリター式で処理されていた。しかしIE9からは、新しく開発されたJavaScript JIT(Just In Time)コンパイラー「Chakra」(開発コード名)を使用する。また、マルチコアCPUのパワーを活かしてバックグラウンドで処理することで、CPUコア全体に負荷を分散してブラウザーを動かす。
JavaScriptをコンパイルして処理する方式では、受け取ったコードをコンパイラーでx86 CPUのネイティブコードに変換してから実行する。そのため、ウェブページを表示してから、コンパイルされたJavaScriptコードが動作するまでに、それなりの待ち時間が生じる。
そこで、IE9のChakraでは、すべてのJavaScriptコードを読み込んでからコンパイルするのではなく、順次バックグラウンドでコンパイルしていく。これにより、JavaScriptのコードが関係しないウェブページの表示をフォアグランドで行ないつつ、バックグラウンドで処理されたJavaScriptの結果を順次受け取れるようになった。
このようなやり方ならば、複雑なJavaScriptコードを含むウェブページでも、ブラウザーが何も表示しない待ち状態がなくなる。ユーザーが待ち時間でストレスを感じることも少なくなるだろう。
この連載の記事
-
第50回
PC
次期IE「Internet Explorer 10」プレビュー版が公開 -
第49回
PC
RTM版も登場 Windows Home Server 2011の変更点とは -
第48回
PC
5秒で起動するSplashtop OSを自作パソコンで試す -
第47回
PC
ベンチで検証 Internet Explorer 9 RCの互換性と性能 -
第46回
PC
正式版の直前となるInternet Explorer 9 RC版が登場 -
第45回
PC
Silverlightをさらに進化させる「Silverlight 5」 -
第44回
PC
「Windows on ARM」が持つ意味と課題は何か? -
第43回
PC
GPUを利用できる仮想化ソフト XenClient 実践編 -
第42回
PC
複数のWindowsを使い分ける仮想化ソフト XenClient -
第41回
PC
3秒で起動しWindowsと共存するOS「Splashtop OS」 -
第40回
PC
最新版「PP7」に見るIE9の性能と互換性の高さ - この連載の一覧へ