Firefox 4: ハードウェアアクセラレーション

原文: Firefox 4: hardware acceleration (2010/09/07 公開)

Firefox 4 Beta 5 が公開されました。このベータ版では、Direct2D アクセラレーションが初期設定で有効になっています。

ハードウェアアクセラレーションとは?

ハードウェアアクセラレーション」とは基本的に、可能であれば (CPU に代えて) GPU を使用する、ということです。これにより、ページの描画動作が高速になります。

2 つのレベルのアクセラレーションがあります。

  • コンテンツアクセラレーション: 文字、画像、CSS ボーダーなど、実際のページコンテンツのレンダリングを高速化します。また、2D HTML canvas を高速化することもできます。Windows Vista/7 では、コンテンツアクセラレーション用に Direct2D が使用されますが、この新しいベータ版では初期設定で有効になっています
  • コンポジットアクセラレーション: トランスフォームの高速化などにより、すでにレンダリングされているコンテンツ (レイヤー) の断片をまとめて、ウィンドウへ最終的に表示する動作をスピードアップします。たとえば、回転やフェードイン、フェードアウトなどの CSS 効果が適用されている HTML5 動画を再生する場合、コンポジットアクセラレーションを使用して処理を高速化することができます (この機能はまだ初期設定で有効になっていません)。

ここでテストができます: ハードウェアアクセラレーションのストレステスト

写真のクレジット: Paul (dex)

OS ごとのハードウェアアクセラレーション

これらの最適化は、互換性のあるハードウェアとドライバをお使いの場合のみ適用されます。

動作 Linux Windows XP Windows Vista/7 Mac OS X
コンテンツ XRender なし Direct2D Quartz 1
コンポジット OpenGL Direct 3D Direct 3D OpenGL

[1]: Quartz は基本的に CPU のみです。QuartzGL (Quartz 2D API の GPU アクセラレーション) は、現在のところ Firefox では有効になっていません (他のブラウザでも同様です)。

重要な注意: ハードウェアアクセラレーションは WebGL とは違います。WebGL は OpenGL に似た JavaScript 用の API であり、3D オブジェクトを canvas 要素に描画するためのものです。つまり、WebGL では OpenGL が使用される (OpenGL ドライバがない場合は、Windows 上の ANGLE 経由で Direct3D が使用される) ため、WebGL 自体がハードウェアアクセラレーションされるのです。

ご協力のお願い

Firefox でのハードウェアアクセラレーションの改善にご協力くださいGrafx Bot 拡張機能をインストールしてください (詳細)。

Firefox のハードウェアアクセラレーションでは、DirectX または OpenGL 経由 (プラットフォームによる) でマシンのグラフィックスハードウェアとやりとりが行われます。このやりとりは、システムのグラフィックス環境 (システム上の特定のビデオカード、VRAM の空き容量、ビデオドライバのバージョン、OS のバージョンなど) に大きく左右されます。そして実際には、関連する要因の組み合わせは膨大な数になるため、すべてを開発チーム内でテストすることは不可能です。

Grafx Bot は、あなたのマシン上で一連の自動テストを実行し、ハードウェアアクセラレーションの興味深い特徴を把握します (約 5 ~ 20 分)。テストが終了したら、その結果 (匿名のビデオ設定情報を含みます) を Mozilla にお送りいただけます。Mozilla はこのデータを収集、分析し、バグの修正や、信頼性の高いハードウェアアクセラレーションのコード開発につなげたいと考えています。

できるだけ多くの固有ハードウェア環境での効果を確認するために、コミュニティの皆さんの協力が必要です。