gecko-embedded icon indicating copy to clipboard operation
gecko-embedded copied to clipboard

Gecko 91/102 での WebRender 設定の調整

Open dynamis opened this issue 3 years ago • 2 comments

ピンチズーム操作やレフローの発生、WebGL でのコンテンツの描画などを Firefox Profiler や WebRender Overlay Debugging など使いながら分析しつつ調べていた結果、Gecko 91/102 で WebRender の動作設定で気付いていなかったものがあり、変更すべきである設定、切り替えるべきモードなどがあったので検証し、問題無ければデフォルト設定値や起動手順書を変更する。

色々調べた中で判明した WebRender 設定の内、有用なものについては Wiki に記載済み:

https://github.com/webdino/gecko-embedded/wiki/Preferences#webrender

dynamis avatar Sep 27 '22 12:09 dynamis

以下について安定性の問題が無いかを Gecko 91, 102 に対して確認した上で設定を採用することを検討中。

webrender.low-quality-pinch-zoom = true

Gecko 91 以降で使っているリフロー処理無しズームだが、実はモードが二つあって PC 向けの高品質と Android 等向けの低品質のモードに分かれていた。高性能 PC 端末では無く組込 SoC では Android 同様のモードを利用すべきであり、この prefs 設定を有効化する。

MOZ_WEBRENDER=1

gfx.webrender.all=true prefs で有効化しても Gecko 87 あたり?から Sofware WebRender フォールバックがされるようになっていたようで、安定性を確認できればハードウェア Compositor の WebRender を使う形にしたい。

どうやら prefs 設定での強制有効化は用意されていないようで、MOZ_WEBRENDER=1 を指定することで Hardware WebRender となる様子。

dynamis avatar Sep 27 '22 12:09 dynamis

webrender.low-quality-pinch-zoom = true は Android で 91 Nightly から導入されたが、91,102 のリリース版ではまだ有効化されていない用なのでデフォルトオンまではせず、ピンチズームの性能が気になる場合の設定として紹介する程度に留める方が良さそう。

MOZ_WEBRENDER で制御する SW-WR/HW-WR については影響調査中

  • [meta] Software WebRender https://bugzilla.mozilla.org/show_bug.cgi?id=1601053
  • [meta] Software WebRender performance https://bugzilla.mozilla.org/show_bug.cgi?id=1621376
  • [meta] wr-android https://bugzilla.mozilla.org/show_bug.cgi?id=1485449

dynamis avatar Sep 29 '22 05:09 dynamis