
現代のブラウザは、単なるワールド・ワイド・ウェブへの窓ではありません。ブラウザ開発者は、ソフトウェアを高度なアプリケーション・プラットフォームへと進化させています。しかし、ブラウザはハードウェア・プラットフォームとは異なり、様々なプラットフォームからアクセスできる仮想環境として機能します。例えば、Google ChromeブラウザはWindows、Mac OS、Linux、Androidデバイスで利用できます。
現在のウェブブラウザ群(Chrome、Firefox、Opera、Internet Explorer、Safari)は、ハイパーテキストマークアップ言語(HyperText Markup Language)の最新バージョンであるHTML 5を含む様々な標準をサポートしています。HTML 5はHTMLの野心的な拡張であり、様々な機能を組み込んでいます。しかし、この標準はまだ流動的で、ワールドワイドウェブコンソーシアム(W3C)はまだ最終決定していません。HTML 5の重要な新機能には、キャンバスレンダリング、SVG(スケーラブルベクターグラフィックス)との緊密な統合、ビデオタグとオーディオタグなどがあります。これらの新しい要素は、ウェブ開発者がマルチメディアコンテンツをより簡単に提示および管理できるように特別に設計されています。HTML 5には現在、3Dグラフィックスを処理するための標準的な機能が組み込まれていません。
新たな競合プラットフォームが登場するたびに、そのパフォーマンスを比較しようとするのは当然のことです。結局のところ、ユーザーは、生産性向上、エンターテイメント、教育など、どのような用途であっても、アプリケーションを実行するための最も堅牢で応答性の高い環境を求めています。問題は、Webアプリケーション自体が流動的であり、Webブラウザのベンチマークも流動的であるということです。
この記事で取り上げるのは、最速のブラウザや、それらのブラウザに最適なハードウェアについてではありません。それらについては後ほど説明します。今日は、ブラウザのベンチマークの複雑さについて深く掘り下げ、いくつかのベンチマーク例を取り上げ、これらの新しい仮想プラットフォームにおけるパフォーマンステストの現状を理解していただくお手伝いをします。この記事を読み終える頃には、HTML 5アプリケーション向けにブラウザをベンチマークし、最適化する方法が理解できるでしょう。
何をベンチマークしているのでしょうか?
パフォーマンステストは時に難解な作業となることがありますが、Webブラウザの場合は状況がさらに悪化します。問題の一つは、プラットフォームの相対的な未成熟さにあります。結局のところ、HTML 5はまだ発展途上の標準です。その結果、アプリケーションは標準の一部しか使用していません。あるいは、全く使用していない場合もあります。もう一つの大きな問題は、既存のベンチマークの動作です。ほとんどの場合、テスト対象はそれぞれ異なるため、ブラウザのパフォーマンスを明確に把握するには、複数のベンチマークを実行する必要があります。例えば、FuturemarkのPeacekeeperブラウザベンチマークは、主にJavaScriptベンチマークを謳っていますが、テストではHTML 5のキャンバスとビデオを使用しています。
さらに、同じブラウザでもOSによって動作が異なる場合があります。例えば、AppleのSafariのMac OS版はWindows版よりも動作が優れています(これは驚くことではありません)。
ベンチマークの検討を始める際には、いくつかの重要な質問を自問する必要があります。プラットフォームは?ベンチマークの目的はブラウザのパフォーマンスですか、それともハードウェアですか?デスクトップシステム、ノートパソコン、タブレット、それともスマートフォンのどれですか?これらの質問はすべて、実行するベンチマークの種類を決定するのに役立ちます。ここではデスクトップブラウザのパフォーマンスに焦点を当てますが、例えば、省電力GPUとARMプロセッサを搭載したAndroidタブレットでChromeを実行する場合のパフォーマンスは、ディスクリートGPUを搭載したデスクトップシステムで実行する場合とは異なることに留意してください。
素晴らしいのは、複数のハードウェアプラットフォーム間でベンチマークを行う手段が得られたことです。ただし、多少の注意は必要です。ChromeとFirefoxは多くの異なるオペレーティングシステムで動作するため、これらのプラットフォーム間でパフォーマンスをテストできます。もちろん、コードのコンパイルとビルド方法は異なり、ブラウザを特定のOSやハードウェアプラットフォームで動作させるにはカスタムコードが必要になるため、パフォーマンスに影響する可能性があります。しかし、これは良い第一歩です。
デスクトップブラウザを使った複数のシナリオを検討します。まず、Windows 8 Consumer Preview で動作する3つのブラウザのパフォーマンスを検証します。Windows 8 を選んだのは、Internet Explorer 10 が IE 9 と比べてパフォーマンスが向上するという主張に興味があったからです。
ブラウザのテストに加え、グラフィックカードも交換しました。最初の実行ではAMD Radeon HD 6970、2回目の実行ではNvidia GTX 570を使用しました。どちらもリファレンスボードなので、デフォルトのクロック速度で動作しました。
最後に、比較のために、ごく一般的な Windows 7 ラップトップで同じベンチマークを試しました。
次のページ: ベンチマークの概要
ベンチマーク
HTML 5とJavaScriptのパフォーマンステストは数多く存在しますが、その中でも特に良さそうなものを3つ選びました。3つのうち、デスクトップPCのパフォーマンス評価用に設計された標準的なベンチマークと同様の動作をするのは、FuturemarkのPeacekeeperだけです。Peacekeeperは、Webページのレンダリング、WebGLを使用したHTML 5、HTML 5キャンバス、HTML 5ビデオなど、幅広いテストを実行し、最後に単一のスコアを生成します。
Asteroidsは3Dに見えますが、実際には2DのHTML 5キャンバス描画テストです。アートワークは洗練されており、HTML 5で開発された実際のゲームに基づいています。Peacekeeperと同様に、単一のスコアを出力しますが、平均フレームレートも生成します。
3つ目のテストはImpact HTML5ベンチマークです。こちらも実際のHTML 5ゲームをベースにしており、作者は自身のブログで、Impactは「非常に特殊なユースケース、つまり要素でレンダリングされたゲームがスムーズに動作するかどうかをテストする」と述べています。
ブラウザのベンチマーク
重要な注意点として、ベンチマークには堅牢なブロードバンド接続が必要です。帯域幅の広さではなく、信頼性についてお話します。ベンチマーク実行中に、DNSエラーやその他のネットワーク関連の問題でシステムが停止してしまうような事態は避けたいものです。
他のパフォーマンステストと同様に、クリーンなシステムが必要です。ただし、今回の場合は通常とは少し異なります。ハードウェアベンチマークではOSのクリーンインストールが必須ですが、Webブラウザテストではブラウザ自体もクリーンな状態である必要があります。このプロセスには、ブラウザの様々な側面をクリーンアップすることが含まれます。
- 既存のバージョンをアンインストールし、新規インストールを行ってください。ブラウザが自動更新される昨今、この手順は必ずしも必要ではありませんが、新規で始めるのが依然として最善の方法です。
- インストールする際は、誤って追加のツールバーをインストールしないように注意してください。ブラウザのインストール(特に元のソースからインストールされていない場合)には、オプションとして様々なツールバーが含まれていることがあります。通常、インストーラによってこれらのツールバーがブラウザに追加されないようにするには、オプトアウトする必要があります。
- すべてのアドインとプラグインを削除してください。ブラウザのオプション設定でプラグインのページを確認するだけでは不十分です。Windowsをお使いの場合は、Windowsのコントロールパネルの「プログラムの追加と削除」も確認する必要があります。一部のブラウザアドインは、通常のアプリケーションと同じようにアンインストールする必要があるためです。
- ネットワーク ドライバーとグラフィック ドライバーが最新であることを確認します。
ベンチマークを実行する際は、1つのタブだけを開いてください(ベンチマーク自体が追加のタブを開く場合を除く)。これらのテストのほとんどでは、パフォーマンスを低下させるFlash広告や背景アニメーションは実行されませんが、他のタブではサイトが実行される場合があります。
次のページ: ブラウザパフォーマンスのサンプル結果
Windows 8 ブラウザのパフォーマンス
スコアについて詳しく説明する前に、まずは私が使用した Windows 8 システムについて簡単に説明します。
- 3.6GHzで動作するIntel Core i7-3820
- 16GB DDR3-1333 メモリ
- ギガバイト X79-UD7 マザーボード
- Intel 250GBソリッドステートドライブ
- Windows 8 ドライバーがインストールされた AMD Radeon HD 6970 リファレンス グラフィック ボード
- Windows 8 コンシューマープレビュー
前のページで説明したベンチマークを使用して生成したパフォーマンス チャートを見てみましょう。

バージョン17の時点で、ChromeはWindows 8 Consumer Previewに同梱されているIE 10よりも高速であるように見えます(これらのベンチマークを使用)。差は顕著ですが、大きな差ではありません。一方、Firefox 11はすべてのケースでかなり遅れをとっています。
ハードウェアの変更
さて、これでWindows 8 Consumer Previewで3種類のブラウザのパフォーマンスを比較できました。ハードウェアを変えたらどうなるでしょうか?今回は、Radeon HD 6970を外し、Nvidia GTX 570グラフィックカードに交換しました。この2つのボードはほぼ同じ価格帯です。最近のWebブラウザはGPUを活用しているので、グラフィックハードウェアが異なれば多少の違いが出るだろうと予想していました。



ご覧のとおり、ハードウェアはブラウザでのHTML 5ベンチマークの実行性能に影響を与えます。この一連のテストによると、多くのブラウザアプリケーション、特にChromeでは、Nvidia GTX 570がRadeon HD 6970よりもわずかに高速であるように見えます。この差は前述のものよりも小さいですが、それでも、特定のシステムでHTML 5アプリケーションを実行するのに最適なブラウザを判断するのに役立ちます。
典型的なWindows 7ラップトップ
Windows 7でもブラウザのパフォーマンスを評価しましたが、結果は大きく異なりました。上記と同じテストを、ごく一般的な最新ノートパソコンであるHP Envy 14 Spectreで実行しました。筐体は見栄えが良いものの、内部コンポーネントはIntel Core i5 CPU(ベースクロック1.6GHz、ターボブースト最大周波数2.3GHz)、4GBのDDR3 RAM、統合型Intel HD Graphics 3000チップセットなど、標準的なスペックです。以下は、3つの異なるブラウザでのHTML 5のパフォーマンスです。

ご覧のとおり、プラットフォームの違いはブラウザのパフォーマンス結果に大きく影響します。私のテストでは、Microsoft Internet Explorer 9はWindows 7でPeacekeeperテストを実行した際にパフォーマンスが低調でしたが、ゲーム専用のベンチマークではなんとか持ちこたえました。Windows 7で実行したFirefoxはImpactパフォーマンステストで大きく挽回しましたが、他のテストでは依然として遅れをとりました。おそらく最も驚くべき点は、Google ChromeがWindows 7のHTML 5テストで(比較的に言えば)Windows 8ほど優れたパフォーマンスを発揮しなかったことです。
あなたの番です
他のプラットフォームテストと同様に、結果は私とは異なります。様々なブラウザやハードウェアプラットフォーム間でのパフォーマンスは、オペレーティングシステム、基盤となるハードウェア、プラグイン、その他の要因によって異なり、中には大きな影響を与えるものもあります。また、ブラウザは猛烈なスピードで進化しているため、今日の勝者が明日の敗者になる可能性もあります。
したがって、これらの結果は鵜呑みにせず、特定のハードウェアでテストを一部実行しただけであることにご留意ください。お気に入りのブラウザでこれらのベンチマークを試してみて、それに応じてハードウェアとソフトウェアを調整してみてはいかがでしょうか。適切なベンチマークテストの実施方法がわかったので、新しいハードウェア(https://www.pcworld.com/reviews/collection/6887/Top_Rated_Graphics_Cards.html など)やソフトウェア(https://www.pcworld.com/rc/windows8/index.html など)がどれほどの違いをもたらすか、ご自身で簡単に確認できるはずです。