Firefox 4のGPUアクセラレーションはびみょ~

Internet Explorer 9の登場など第二次“ブラウザ戦争”の現状において,モダンブラウザという表現がなされることがあります。
Google Chromeに端を発するといってもいいJavaScriptの高速化,その他さまざまな技術によるブラウザの高速化やHTML5に代表されるようなWebアプリケーションなどへの対応,それらを現代的でしゃれている“modern” なブラウザという意味でモダンブラウザという表現がなされるものと思われます。

そんななかMicrosoftが自社プラットフォームの利を生かし,圧倒的ともいえるGPUハードウェアアクセラレーションによる描画の高速化をInternet Explorer 9で達成しています。もちろん,その他にも当然のことながらJavaScriptエンジンの高速化,HTML5への対応などモダンブラウザを標榜するだけの高機能化はなされています。
しかし,その他ブラウザ陣営でもMozilla Firefox 4をはじめGoogle Chrome,OperaなどでGPUハードウェアアクセラレーションをサポートしてきています。
Firefoxは現バージョンの4.0.x系において,Alpha 3段階から“Windows での Direct2D 採用によるハードウェア アクセラレーション”のサポート,そしてBeta 1でのWebGLの実装。さらに,Beta 5における“Windows 7Windows Vista における Direct2D ハードウェア アクセラレーション機能のデフォルト有効化”,Beta 7での“WebGL のデフォルト有効化”等を経て,正式版でもハードウェアアクセラレーションが有効となっています。
Google Chromeについては,9.0.597.98における“WebGL (要OpenGL 2.0対応)”サポートや10.0.648.127の“動画の再生にGPUを利用”。そして,11.0.696.57では“GPUを使用した3次 元CSS”と着実にサポートを進めているようです。
そして,Operaについても去る2月の末(というか3月初め?)に公開された“Opera 11 preview with WebGL and Hardware Acceleration for Windows”によって,IE9にも勝るとも劣らないGPUハードウェアアクセラレーションが実装されたものが公開されています。ただし,これは“an early preview of upcoming technologies in Opera”ということで,最近公開されたOpera NextのOpera 11.50では“opera:about”(OperaのAbout画面)において“"Vega backend" entry”が見当たらないことからも,将来に向けた実装のテスト公開といえるものかもしれません。したがって,当面正式公開される安定版に実装されることはないかもしれません。

というわけで,各ブラウザにおけるSpeed Readingの動作状況をスクリーンキャプチャーしてみました。
まずは,Microsoft謹製のデモということで本家Internet Explorer 9(32bit版)から・・・。

Expression Encoder 4によるスクリーンキャプチャーですが,若干自身の負荷のせいかIE9(x86)の描画が不安定なようにキャプチャーされてしまっていますが,実際にはなめらかに描画されており高速です。

次に,さほど変わらない結果となったのですが,一応Internet Explorer 9(64bit版)を。

こちらも32bit版と変わらぬ高速な結果となり,適切にアクセラレーションが効いているようです。

そして,同じくMicrosoftからInternet Explorer 10 Platform Previewです。

さすがにまだまだ早期Previewリリースといったところなのでしょうか,結果はIE9と変わらずです。

続けて,Mozilla陣営はFirefox 4.0.1です。

え~,こちらに関しては遅いです。
なぜでしょう?これは本記事のタイトルにも書いたように,いろいろと微妙な感じもしますので後に追試して記載します。

それでは気を取り直して,最近新たに加わったAurora ChannelからFirefox 5.0a2preです。

こちらはIE9と比してもそん色のない性能を発揮している,といえるのではないでしょうか?

さらに,nightlyとなるFirefox 6.0a1pre。

こちらもFirefox 5.0a2preと同様にそん色のない結果となっているように見受けられます。

それでは,お次はGoogle Chromeです。(なお,Chromeでは“about:flags”で“GPU アクセラレート合成”,“GPU アクセラレート キャンバス 2D”を有効化しています。)

こちらは,ところどころ描画が不安定になっているのが見受けられます。

そして,Google ChromeのベースともなっているChromiumです。(こちらは,デフォルトでGPUアクセラレーションが有効なためか“GPU アクセラレート合成”がなく,“GPU アクセラレート キャンバス 2D”を有効化しています。)

こちらはGoogle Chromeで見られた不安定さもなく,描画は安定しています。

最後に,OperaのハードウェアアクセラレーションPreview版です。

こちらも,結果が1桁秒になるなどChromium勢を追い抜くほどの結果となっています。

このように,ブラウザのGPUハードウェアアクセラレーションは確実に,着実に進歩を遂げているようです。
Windows上でだけの評価となってしまいますが,最新のプラットフォームを利用していてハードウェアアクセラレーションの恩恵に与れる環境にあるならば,各ブラウザベンダーが切磋琢磨して安定していくのは歓迎すべき状況と言えます。


閑話休題
さて,各ブラウザの動作状況の項でもちらっと触れ,本記事のタイトルにもしているFirefox 4のGPUアクセラレーションは微妙という点について,スクリーンキャプチャー動画をご覧いただければわかりますが“なぜか遅い”です。
しかしながら,これをウインドウを最大化した状態で実行するとかな~り高速に描画されます。

はて,なぜでしょう?よくわかりませんが,Firefox 4ではなにやら特定の描画領域解像度で動作が遅くなる(不安定になる?),というようなことがあるのでしょうか・・・。
これを以って性能が悪いとは断言できませんが,性能が落ちうる場面,状況が明確にあるようには思われます。

FirefoxにおけるGPUハードウェアアクセラレーションは,これまでにない早期バージョンアップとなりそうな次期Firefox 5からが本番といってもいいのではないでしょうか。