【MIX10レポート】
Internet Explorer 9 Platform Previewを提供開始

基調講演を行なったGeneral ManagerのDean Hachamovitch氏

会期:3月15日~17日(現地時間)
会場:米国ネバダ州ラスベガスMandalay Bay Convention Center



 Microsoftは米ラスベガスで開催中のMIX10において、同社の次期WebブラウザであるInternet Explorer 9 (IE9)のPlatform Preview版の提供開始を発表した。ここでは、カンファレンス2日目の基調講演で述べられたIE9の概要に加え、IE9の詳細を解説するセッションの内容を紹介する。

●パフォーマンスとWeb標準に注力したIE9

 基調講演においてIE9の紹介を行なったのは、General ManagerのDean Hachamovitch氏。同氏は冒頭で、最近起きている出来事に言及した。先週デンバーで行なわれたIE6の“葬儀"に、Microsoftが花を贈ったことが話題となったが、同氏はIE6から後継のWebブラウザへの移行を促している。IE6に対してMicrosoftが果たす責任はセキュリティアップデートだけであり、現在はIE8への移行を推進している。だから、先のIE6の葬儀のような活動には感謝を表明しているのだという。

 IE9については、まずパフォーマンスに関して言及した。PDC09で示したWebサイトを表示する際の処理割合を示したうえで、Java Scriptの処理時間が多くなっていると説明。そして、IE9では、Java Scriptの処理を大幅に高速化していることを紹介した。

 IE9に実装されるJava Scriptエンジンは「Chakra」と呼ばれるもので、Java ScriptのベンチマークソフトであるWebKits.orgのSunSpiderでは、高速といわれるほかのWebブラウザに遜色ない結果であることを示した。約70秒の処理で300ミリ秒の違いしかないという。

 同氏は最近のPCのハードウェアを活かすようなアプローチで、Java Scriptエンジンの高速化を果たしたとする。それは、ChakraではJava Scriptのコンパイルをバックグラウンドで、かつマルチコアCPUに最適化して実行するようにしているということである。昨今の多くのブラウザが採用しているJITコンパイラは、Java Scriptをまとめてコンパイルする方式のため、高速ではあるものの、処理待ちのためにWebサイトを開く際に待ち時間が発生することが珍しくない。Java Scriptのコンパイルをバックグラウンドで処理させることで、フロントではWebブラウザの処理を進めていくことができる。表示可能なところから表示されていくことで、ユーザが表示を待つ間の不安感をなくせるとしている。

基調講演で最初に取り上げられたのはIE6の葬儀に関する話題。Hachamovitch氏も後継ブラウザへの移行を推奨しているSunSpiderの結果で、IE9の現在のビルドは高速といわれるほかのブラウザに比べて遜色ないスコアをマーク。PDCで公開されたビルドよりも性能を強化しているIE9に組み込まれたJavaScriptエンジンは、バックグラウンドでコンパイルし、マルチコアCPUを使うことで高速化する

 次に言及したのは、Web標準化への注力である。HTMLやスクリプトは標準化されたものであるが、Webブラウザで異なる表示をすることがあるのは広く知られている。しかし、ブラウザが異なっても、同じコードで同じ表示になることは、次世代HTMLであるHTML5では重要なことだとする。

 そこで、7,000のサイトを調査して使用されているWeb APIを調べた結果から、94%のユーザが不透明度を指定するAPI、55%のユーザがイベントリスナーのAPIを使用していることを例に取り上げ、このデータを自分たちが開発者のために何をサポートしていくべきかの参考にしたとしている。

 ここで同氏は不透明度や、CSS 3のデモを実施。さらに、Acid 3のテスト結果が現状で55点にあることを紹介した。Acid 3のテストに関しては、今後もスコア向上のための取り組みを続けていくとしている。また、新たに標準化の指標となるようなテストスイートが必要であるとして、DOM、CSS 3、SVGに関する100以上のテストをW3Cに提案したという。

7,000のサイトで調査したWebAPIの使用頻度。こうした調査をチューニングの参考にしているアルファチャネルを指定する半透明処理やラウンドコーナーを表示させた例Acid 3では55点と低い数字に留まる。今後も継続的にスコア向上を目指すほか、W3Cに標準化の指標となるテストを提案しているという
円の点線を用いたラウンドコーナーを表示した例では、IE9では正しく表示されるが、FireFoxやGoogleChoromeでは表示がおかしくなることを示した

 次に言及したのは、IE9がHTML5のレンダリングにGPUアクセラレーションを実装した点で、Windows Divison PresidentであるSteven Sinofsky氏が登壇し、いくつかのデモを行なった。Sinofsky氏は、IE9がDirectXをベースに描画を行なうことで、GPUアクセラレーションを行なっていると説明したうえで、SVG(Scalable Vector Graphics)を用いたデモを中心に紹介した。

 また、HTML5で採用されるVideo再生のデモも行なった。ここでは、400ドルのノートPCを用いて2ストリームのHDコンテンツを同時再生するものや、動画に不透明度を指定した表現などのデモも行なった。

 IE9はMIX期間中よりPlatform Preview版の提供を開始した。このPlatform Preview版はIEの基幹エンジンであるTridentをプレビューできることに特化しており、UIなども簡易的なものになっている。ただし、Developer Toolsと呼ばれるツールが実装されており、こちらを使うとHTMLやCSS、Scriptの解析や、ネットワークのモニタリングを行なうことができるようになっている。

SVGで描かれたClipper。SVGの対応もIE9の特徴の1つに挙げているSVGで書かれたドキュメントを表示したデモ。ほかのブラウザに比べて拡大した際のジャギーが少ないことも紹介したHTML5でビデオを表示したデモ。右クリックメニューした際のメニューでそれを証明している
提供を開始したIE9 Platform Previewは赤枠で囲まれたTridentエンジン部分のみの実装となりUIなどは簡易的なものとなるPlatform Previewに含まれるDeveloper ToolsではHTML、CSS、ネットワークの調査・解析が可能

Webブラウザロゴ(PNGイメージ)を表示させるデモでは、GPUアクセラレーションによってIE9が高速に動作することを示した
Java Scriptによる物理演算処理をさせた表示を、IE9とFireFoxで比較したデモ
Java ScriptとSVGを用いて作られた簡単なゲームのデモ
400ドルのノートPCでIE9を使いHDビデオを再生したデモ。Google ChromeではCPU使用率が100%でコマ落ちが発生するのに対し、IE9ではスムースに再生できることを紹介。さらに2ストリーム同時再生をしている
4枚の動画を独特のUIで表現したデモ。IE9上で動画に半透明スタイルを適用して表示させている

●IE9の機能とパフォーマンス

 IE9に関しては基調講演のほか、一般セッションにおいても紹介されているので、ここでそれらの内容を紹介しておきたい。

 まず標準化への進捗状況については、現状、CSS3への対応とDOM Rangeインターフェイス、HTML5に含まれるSelectionへの完全対応を表明。SVGはシェイプとパスのみに対応。いずれも早期に標準仕様としていく意向だ。

 イメージファイルのサポートも拡張される。カラープロファイルのICC Version 4とVersion 2をサポート。この点については、ICC v2対応のFireFox、ICC非対応のGoogle Chromeとの差をデモで示している。

 また、JPEG-XR、TIFFのサポートを表明している。後者は広く普及している画像フォーマットであるが、これまではQuickTimeなどのプラグインを利用して表示していたわけだが、これがようやくサポートされることになる。

 前者は昨年標準化が承認された新しい画像フォーマットで、低負荷で高圧縮率を実現できる、JPEGの後継フォーマットの候補の1つだ。もともとMicrosoftが提唱したHD Photoをベースとしていることもあって、同社がいち早くWebブラウザでの対応を表明するのは納得できる。

IE9 Platform Previewの開発状況。HTML、CSS、DOMに関する対応状況を示した表おなじくIE9 Platform Previewの開発状況で、こちらはSVGの対応状況を示しているイメージ周りの拡張機能。ICC v4をサポートするほか、JPEG-XR/TIFFの表示が可能になる
カラープロファイルの対応テスト。ICC v4/v2に対応するIE9は4枚の写真を正常に表示。ICC v2のみ対応のFireFox、ICC非サポートのGoogle Chromeは正常に表示されない

 GPUアクセラレーションについては、Webブラウザのレンダリングサブシステム部で機能するものとなる。

 セッションでは、Windowsエクスペリエンスインデックスのグラフィックススコアが4を超えるシステムが多いことを紹介したうえで、基調講演でも紹介されたWebブラウザロゴが飛び回るデモが、グラフィックススコア4.5のPCで実行されていることを紹介。チップセットやCPUに内蔵されたGPUでも十分に効果が得られるとしている。

 Java ScriptエンジンのChakraは、先述のとおりバックグラウンド処理、かつマルチコアCPUへの最適化が特徴となる。Windowsエクスペリエンスインデックスの集計結果から今年2月時点で、ユーザが使っているPCのCPUコア数の平均が2.3であることから、多くのユーザがマルチコアCPU最適化の恩恵を受けられるとした。

 バックグラウンド処理についてはIE8と比較した。IE8ではバックグラウンドで処理がほとんど走っておらず、フォアグラウンドにおいては、Webサイトの表示処理が集中的に行われたあとでも、細かなプロセスが動いており、完全に終了するまでに時間がかかる。

 一方でIE9ではバックグラウンドでJava Scriptを処理するので処理が集中する時間帯も短いほか、細かなプロセスが延々と続くようなことがないことをグラフで示している。

IE9におけるハードウェアアクセラレーション。JavaScriptでマルチコアCPU、レンダリングでGPUを積極的に活用するWindowsエクスペリエンスインデックスを集計した結果、4以上のスコアのPCを持つユーザが多いことを示したもの。ブラウザロゴが飛び回るGPUアクセラレーションのデモは4.5のPCを用いているIE9のJavaScriptエンジン「Chakra」の処理プロセス。バックグラウンドでコンパイルし、ネイティブコードをフロントへ引き渡す
あるニュースサイトを表示した際の処理時間をIE8とIE9で比較したもの。Java Scriptをバックグラウンド処理することでの全体の処理時間短縮が分かる。とくに、IE8ではロードしきるまでに細かなプロセスが行なわれるが、IE9ではそれがほとんどない点を強調した
Windowsエクスペリエンスインデックスを集計した結果、ユーザが使っているPCのCPUコア数の平均が2を超えていることを紹介Webブラウザロゴが飛び回るデモの処理時間をIE8とIE9で比較。Java Scriptを処理し、画面レイアウト、表示とプロセスが進むが、いずれのプロセスもIE9では大幅に高速化していることが分かる

基調講演でも紹介されたデモだが、より具体的なフレームレートなどが示された。イメージの数が同じ状態でGoogle Chromeに対して高速、FireFoxはイメージ数が少ない状態ではIE9に近い速度だが、イメージ数が増えてもIE9なら速度が落ちない

(2010年 3月 19日)

[Reported by 多和田 新也]