このページの本文へ

2011年版 新世代ウェブブラウザー対決 第3回

互換性と速さを追求したInternet Explorer 9の実力

2011年04月27日 12時00分更新

文● 山本雅史

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

マルチコアに対応した
JavaScriptエンジン Chakra

IE9のJavaScriptエンジン「Chakra」の仕組み。処理の一部をバックグラウンドで分散処理してパフォーマンスを向上させている

 IE9のJavaScriptエンジンには、新しく開発されたJavaScript JIT(Just In Time)コンパイラー「Chakra」が使われている。IE8までのJavaScriptエンジンでは、サーバーから受け取ったJavaScriptのコードをすべて受信してから、CPU上で動くネイティブコードに変換して実行していた。しかし、ネイティブコードを実行するCPUをシングルコアと仮定していため、マルチコアCPUでもひとつのCPUコアしか使用しない状況だった。

 また、JavaScriptコードの中にウェブページの表示処理が入っていると、途中で表示をしてから続くJavaScriptコードを実行していた。そのためJavaScript処理の性能が向上しにくかった。

 そこでChakraでは、JavaScriptコードをすべて受信してから変換するのではなく、必要な部分を順次バックグラウンドで変換する方式に切り替えた。これにより、JavaScriptコード内にある表示に関わる部分をフォアグランドで動作させながら、それ以外のJavaScriptコードをバックグラウンドで処理できるようになった。さらにChakraをマルチコア対応にして、複数のスレッドで並列実行できるようにした。

各コアごとに割り当てられたスレッドの負荷率。2つのコアを使うことで待ち時間がなくなり、全体として作業が短時間で終了する

 これらの改良により、IE8に比べると約18倍もの性能向上を果たしているという。

IE8のJavaScriptエンジンはIE本体の外にあったが(左)、IE9では内部に搭載して高速化している(右)

競合に対する最大の強みは
HTML5のGPUアクセラレーション

 冒頭でも述べたように、IE9では新世代ウェブの標準規格となっているHTML5とCSS3をサポートしている。HTML5は2012年に正式版となる最終勧告がリリースされる予定だが、2011年の5月末には最終勧告のRC版がリリースされる。CSSはウェブページのデザインを記述する言語であるが、CSS3にアップデートされることで、描画された図形をスクリプトで変形させるような機能も提供されている。

 IE9だけでなく、多くのウェブブラウザーがHTML5対応を進めているが、細かい部分のサポートに関しては差がある。いずれにしても2012年の最終勧告までには、ほとんどのウェブブラウザーがHTML5をサポートすることになるだろう。

 IE9ではHTML5の中でも、ビデオ/オーディオタグ、SVG(ベクターグラフィックス)、Canvas(図形を描画)、ジオロケーション(経度緯度を取得するAPI)などをサポートしている。IE9が競合する新世代ウェブブラウザーより進んでいるのが、これらのうちグラフィック表示に関わる機能に、GPUアクセラレーションを利用して性能を向上していることだ。

 例えば、H.264フォーマットのHDビデオをIE9で再生する場合も、GPUアクセラレーションを利用してコマ落ちせずに再生可能だ。HTML5を使った図形の表示などは、CPU処理だけでは非常に重い処理になる。そこでIE9ではこの描画処理をGPUに任せることで、SVGやCanvasを使ったアニメーション表示もスムーズだ。

ボン・ジョビのコンサートビデオをユーザーが自由に編集できるサイト。ビデオはH.264になっているため、IE9ではプラグインなしで再生可能

 IE9向けの特設サイト「Beauty of the Web」では、HTML5を使ったウェブサイトが多数紹介されている。例えば面白法人カヤックが制作した「SVG女子」は、IE9のGPUアクセラレーションの威力がわかるコンテンツの一例だ。IE9をインストールしたら、ぜひ一度チェックしていただきたい。

特設サイト「Beauty of the Web」では、HTML5とIE9の組み合わせの威力を体験できるサイトやデモが多数紹介されている

SVGによるベクターグラフィックスで描かれる短編アニメ作品「SVG女子」

 そのほかにも、IE9のGPUアクセラレーションは「ClearType」を使ったフォントのスムージングにも使われる。これにより、CPU負荷を高めずにウェブページの文字表示を綺麗にできる。

 なお4月12日には早くも、IE9の後継となる「Internet Explorer 10 Platform Preview 1」がリリースされている。IE10では、IE9で積み残されたHTML5の規格(WebSocket、IndexDBなど)がサポートされる予定だ。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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