W3C準拠とパフォーマンス向上を目指したInternet Explorer

Microsoftの屋台骨となるのは、Windows OSとOfficeスイートの二本柱だが、将来を見据えて注力しているソフトウェアの一つが「Internet Explorer」である。Webアプリケーションの台頭により、従来のOSが持つアプリケーションへの"扉"という役割はWebブラウザーが担うようになってきた。WebブラウザーとWebアプリケーションを組み合わせたGoogle Chrome OSや、スマートフォン市場に参入しようと試みるMozilla Corporationが開発したFirefox OSの登場を見れば、Webブラウザーが持つ重要性の高さは明らかである。

当初のWebブラウザー市場は、Mozilla Firefoxの前進と言えるNetscape Navigatorが席巻(せっけん)していたが、一度はInternet Explorerがシェア(市場占有率)を拡大し、圧倒的地位を占めている。だが、Internet Explorerのセキュリティ問題が浮き彫りになると、Mozilla FirefoxやGoogle Chromeなど他社製の次世代Webブラウザーがリリースされ、セキュリティ面だけでなく機能面でも後塵を拝するようになった。

再びWebブラウザーのシェアを取り戻そうとしたMicrosoftは、独自タグや独自機能の搭載といった路線から、標準規格への準拠を強化したInternet Explorer 7をリリース。その後も準拠路線の道を進み、次バージョンとなるInternet Explorer 8はWebページのレンダリングを行うパフォーマンスの向上。Internet Explorer 9はHTML5やCSS3といった新規格への対応や、ハードウェアリソースの活用を実現している。

そして最新版となるInternet Explorer 10は、Windows 8/Windows Server 2012/Windows RT向け標準Webブラウザーとして搭載。路線は以前と同じくW3Cが勧告する規格を準拠すると同時に、JavaScriptエンジンの強化を実現した。以前からリリースプレビュー版が公開されていたため、単独リリースは時間の問題とされていたが、既報のとおりWindows 7およびWindows Server 2008 R2向けの正式版が公開されている(図01)。

図01 Windows 7上のInternet Explorer 10。バージョンは「10.0.9200.16521」となる

既にWindows 8を使用している方は、Internet Explorer 10のパフォーマンスを体感していると思うが、今回はWindows 7ユーザー向けにInternet Explorer 10が備えた主な機能をエンドユーザー向けに紹介したい。

Windows 7におけるInternet Explorer 10の長所を大別すると三つにわけられる。一つめが「ページ表示速度が最大20パーセントアップ」。そもそも前バージョンであるInternet Explorer 9はハードウェアリソースを活用するために、JavaScriptエンジンであるChakra(チャクラ)の改良を行っている。アイドル時間の活用や並行処理を行うための最適化を施し、プロセッサが備える拡張命令セット(Streaming SIMD Extensionsなど)を活用する仕組みを備えた。

また、任意の関数が一定回数以上呼び出されると、JavaScriptの処理をインタープリタ(逐次解釈しながら実行するプログラム)ではなくJIT(Just-In-Time:実行時にコードのコンパイルを行って、実行速度の向上を図るコンパイラの一種)コンパイラに渡される。内部的はさらにやり取りが行われるが、ユーザーから見れば、次回以降は同じJavaScriptを用いたアプリケーションを実行する際は、さらに高速に処理されることとなる。

Internet Explorer 10のJavaScriptエンジンもChakraが採用されているが、特定関数に特化したJITや浮動小数点演算の高速化など数多くの改善を行った。JavaScriptのベンチマーク結果では、Internet Explorer 9と比較すると25パーセントもの向上を実現している。このパフォーマンスを体感するためのデモを提供するWebサイト「IE Test Drive」も更新された。新たに加わったのは、HTML5やCSS3などのパフォーマンスを測定する「MINESWEEPER THE BENCHMARK」(図02~03)。

図02 JavaScriptベンチマークの一種「WebKit SunSpider」による結果。Internet Explorer 9/10の差は25パーセントにもおよぶ(画面はMicrosoftの調査結果より)

図03 「IE Test Drive」に加わった「MINESWEEPER THE BENCHMARK」。単独のゲームとしてもプレイできる

同一のコンピューターで、Internet Explorer 10/Mozilla Firefox 19/Google Chorm 25で実行してみたところ、その差は歴然。また、Mozilla Firefox 19は効果音が再生されなかった。もちろん「IE Test Drive」は完全に公平なベンチマークではなく、Internet Explorerで改良を加えた部分を強調していると思われる。それでも、その疑念も一掃するほどの差が生じているのは紛れもない事実だ(図04~06)。

図04 Internet Explorer 10のベンチマーク結果は1.40秒

図05 Mozilla Firefox 19のベンチマーク結果は5.70秒

図06 Google Chorm 25のベンチマーク結果は6.60秒

Do Not Track機能でプライバシー強化は期待できるか?

Internet ExplorerグループのプログラムマネージャーであるRob Mauceri(ロブ・マウチェリ)氏は、IEBlogの記事で、「我々はInternet Explorer 10とWindowsを組み合わせた環境で、Webサイトが持つ最高のパフォーマンスを提供し続けている」と述べ、Internet Explorer 10の完成度を高くアピールしている。

Internet Explorer 10はJavaScriptエンジンの高速化だけでなく、ベクターイメージ形式の一つであるSVG(Scalable Vector Graphics)の描画やHTML 4によるパフォーマンスも向上。Mauceri氏は同記事で「15~30パーセントの向上を期待できる」と述べている。具体的に数字を挙げることはできないが、Internet Explorer 10を使った体感速度が向上しているのは、これら内部の改善が大きいのだろう。

二つめのポイントは「プロセッサ利用率とバッテリー消費量の軽減」である。具体的な改善とは言い難いものの、バッテリー駆動時はJavaScriptタイマーの間隔を調整する機能はInternet Explorer 9から搭載されていた。さらに以前筆者が寄稿したInternet Explorerパフォーマンスラボの検証結果により、プロセッサ利用率の軽減とバッテリーの持ちを良くさせたと言う(図07~08)。

図07 Internet Explorer 9/10がインストールされた環境では、電源オプションに「JavaScriptタイマーの間隔」が加わる

図08 Internet Explorerパフォーマンスラボで行われたテスト結果の一つ

最後のポイントはエンドユーザーではなく、Web開発者向けだが「60パーセントを超えるWeb標準のサポート」が挙げられる。CSS3のアニメーションやグリッド、3D変換などをサポートし、その対応数は枚挙に暇がない。エンドユーザーとしては、「より正しくWebページが表示される」、もしくは「表現力の高いWebページを適切に楽しめる」と述べた方がわかりやすいだろう。Web開発者の方は既にご承知と思うが、「Internet Explorer 10開発者向けガイド」をご覧になることをお勧めする。

この他にも、Internet Explorer 10では「Do Not Track(追跡拒否)」が初期状態で有効になった。閲覧時のプライバシーを強化するため、W3Cが標準化した機能だが、有効性には関しては疑問も残る。オンライン広告を提供する側がルールを守るかが不明確だからだ。少なくとも各WebブラウザーがDo Not Track機能を搭載し、オンライン広告の業界団体の自主規制案が実行されれば有用な機能となる(図09)。

図09 初期状態で「Do Not Track」ヘッダーが送信されるようになった

全般的に見てWindows 7を使っている限り、Internet Explorer 10を避ける理由は存在しない。機能的な向上はエンドユーザーの利益につながるからだ。全体的なパフォーマンスの向上は、生産性の向上や時間短縮と連動する。また、普段サードパーティ製Webブラウザーをお使いの方でも、Windows 7がInternet Explorerコンポーネントを使用しているため、早めの更新をお勧めしたい。

阿久津良和(Cactus