Gecko の gfx の簡易メモ
最近(2012年1月現在)、Gecko の gfx が Azure とか Thebes とか ややこしくして仕方なかったので、色々調べて、Twitter にいくつか投げたのでメモる。
メモなので随時更新。割合てきとー
makoto_kato さんから Twitter で補足をいただいたので追記
cairo 採用の経緯
Azure 導入の経緯
Gecko の GPU アクセラレーション
GPU アクセラレーション稼働の条件
- バックエンドが実装され有効になっている
- パフォーマンスetcの問題で使われていないバックエンドはある
- プラットフォーム側でバックエンドの使用する API が用意されている(Win XP では Direct2D が無い為、content のアクセラレーションは動かない)
- ドライバがブラックリスト入りしていない(Blocklisting/Blocked Graphics Drivers - MozillaWiki)
- ドライバの安定性に問題がある場合はブラックリスト入り
- WebGL もこのブラックリストに左右される
- ドライバがブラックリスト入りしていても、強制的に有効にすること自体は可能
GPU を使うケース
関連事項
イマイチわからなかったところ
- 「cairo だと開発陣の方針的にぼかし処理とか入りそうになくて、text-shadow とか実装できないよねヤバい」な懸念が、cairo の Gecko 入りの頃にあったはずだけど、どうやって解決したの?
- Azure の Emerald バックエンドが何なのか不明(クロスプラットフォームなバックエンドらしい)
- Mobile Gfx Performance - mozilla.dev.planning | Google Groups だと、Mozilla 謹製の "Hardware Accelerated 2D rendering" とか書いてある