第4章 Windows 8.1の改良点/アプリとIE 11 - Internet Explorer 11で変わるWebブラウズ環境

当初はインターネット上のコンテンツを視覚的に閲覧することを目的で開発されたWebブラウザーだが、現在ではコンピューターそのもの以上に欠かせない存在となっているのは、読者が一番ご承知のとおりである。当初Webブラウザーのシェア(占有率)を確保するためにリリースした初期のInternet Explorerは独自タグの採用など互換性に難があり、低評価を受けるに甘んじていた。その評価が覆り始めたのはここ数バージョンの話である。

W3C(World Wide Web Consortium:Webの各種規格を勧告する団体)が定める標準規格に沿った実装を行い始めたのは、2009年3月にリリースされたInternet Explorer 8から。その後もバージョンを重ねるごとにHTML5やCSS3といった新Web規格への対応が進められてきた。そして今回のWindows 8.1などが標準搭載し、Windows 7に提供されるInternet Explorer 11では、規格への準拠はもとより各種機能拡張が行われている。

各改善点は後回しにし、HTML5によるベンチマーク結果をご覧いただきたい。今回は3Dベンチマークツールで有名なFuturemark CorporationのPeacekeeperを使用する予定だったが、Internet Explorer 11で正しく動作しなかったため、OctaneKraken JavaScript BenchmarkSunSpider JavaScript Benchmarkでベンチマークを行っている。なお、OctaneはGoogle製、KrakenはMozilla製のJavaScriptに特化したベンチマークツールだ。

OctaneはJavaScriptを実行した結果をポイントで示すので高い方が処理が速く、Kraken JavaScript BenchmarkおよびSunSpider JavaScript Benchmarkは結果に要した時間をミリ秒で示しているため、値が低いほど処理が速いことになる。なお、Internet Explorer 10と同11を共存させるのは難しいため、同じホストマシン上で2コアをCPUに割り当て、2ギガバイトのメモリを与えた同一条件の仮想マシンを用意して測定している(図136~139)。

図136: 各ベンチマークの結果

図137: Octaneによるベンチマーク結果。数値が高いほど速い

図138: SunSpiderによるベンチマーク結果。数値が低いほど速い

図139: Krakenによるベンチマーク結果。数値が低いほど速い

結果はご覧のとおり数値的にもInternet Explorer 11が優れていることが確認できた。なお、Acid3による測定も行ったがいずれも満点と言う結果だったため、グラフは割愛している。そもそもInternet Explorer 9時代からJavaScriptエンジン"Chakra(チャクラ)"の高速化に努めてきたが、同11ではChakraが利用するJITコンパイラの利用範囲を広げることで高速化を実現。さらに利用しなくなったメモリー領域を自動的に開放するガベージコレクションがバックグラウンドスレッドを効率的に活用することで、結果的にパフォーマンスの改善につながると言う。

その一方でWebGLのサポートに伴うGPU(Graphics Processing Unit)の利用も改善点の1つである。そもそもWebGLはWebブラウザー上で3Dグラフィックスを表示させるための規格だが、Mozilla Firefox 4やGoogle Chrome 7の時点でサポートしているため、遅い印象を持ってしまうはずだ。これは2011年5月に発覚したWebGLのセキュリティホールが大きく影響している。もちろん現在は修正されているものの、セキュリティホールの存在やWebGL自体の普及率を踏まえ、このタイミングで実装したのだろう(図140)。

図140: WebGLのデモンストレーションの1つ「GlacierWorks

なお、WebGLコンテンツ実行時は事前にスキャンを行い、安全が確認されていない場合はソフトウェアベースのレンダラーを用いて同コンテンツを実行する。そのため、WebGL側で今後セキュリティホールが発覚した場合も影響は最小限に抑えられるそうだ。あくまでもGPUを利用するのは安全を確認したWebGLコンテンツのみとなるため、Internet Explorer 11はWebGLに関して、安全性と利便性の両者を実現している。

Windows Vista以降から積極的にGPUが利用されているが、Internet Explorer 11では、JPEG形式ファイルのデコードやテキストのレンダリングにGPUを利用している。GPUによるリアルタイムデコードを実装することで、Webページ読み込みの高速化とメモリー消費量を抑制し、結果的に消費電力の軽減=バッテリー寿命の向上につながるそうだ。この他にもHTML5ビデオやSPDY(スピーディー:Googleが提唱した次期通信プロトコルの1つ)のサポートなど、機能的な向上点は多い。

また、HTML5でメディアストリーミングを実現するMSE(Media Source Extensions)をサポートし、ネットワーク帯域が安定しない場合もビットレートを調整して再生状態を維持する機能や、DRM(デジタル著作権管理)でコンテンツを保護するEME(Encrypted Media Extensions)、一般的に字幕などに用いられるクローズドキャプションテキストのスタイル定義などを定めたTTML Simple Delivery Profileなどにも対応し、動画再生環境を充実させた。

これまでWebブラウザーによる動画再生環境はプラグインに頼るのが一般的だったが、WebブラウザーがHTML5のサポートを強化することで、シームレスな動画視聴を楽しめるようになりつつある。執筆時点ではHTML5ビデオを楽しめる環境は多くないため、実際に体験したい方はInternet Explorer 11でTest Driveのデモサイトにアクセスしてほしい。MSEによる動画再生の違いや、Fullscreen APIの実例を体験できるはずだ(図141)。

図141: Test Driveのデモサイト。MSEによる動画再生の違いが確認できる