web-dev-qa-db-ja.com

dom.min_background_timeout_valueを使用してFirefoxでバックグラウンドタブを積極的に調整する方法

Firefoxでバックグラウンドタブを積極的に調整するための正しい設定は何ですか?

数年前、私は この投稿 背景(および前景)タブを調整するためのFirefoxのさまざまなabout:config設定について説明しましたが、それらの意味を理解できませんでした。たとえば、これらの各オプションの単位が何であるか(秒、ミリ秒?)、値を増やすとタブがより多く抑制されるか、より少なく抑制されるかは不明です。

dom.min_background_timeout_value
dom.timeout.background_budget_regeneration_rate
dom.timeout.background_throttling_max_budget
dom.timeout.budget_throttling_max_delay
dom.timeout.foreground_budget_regeneration_rate
dom.timeout.foreground_throttling_max_budget
dom.timeout.throttling_delay

具体的には、非常に積極的なスロットリングポリシーを採用しましょう:バックグラウンドタブに30分ごとに1ミリ秒の実行時間しか与えられないようにしたいです。欲しいこのポリシーは、タブがフォアグラウンドになくなってから1ms後に有効になります。つまり、タブをバックグラウンドに置いた後30分間、タブのCPU使用率が0.00%を超えないようにする必要があります。

これらのFirefox設定の値は、この積極的なスロットル動作を実現するためにどのようにすべきですか?

2

タブをバックグラウンドに置いた後、30分間、タブのCPU使用率が0.00%を超えないようにする必要があります。

これは、about:configに次のエントリを設定することで実現できます。

dom.min_background_timeout_value 1,800,000
dom.min_tracking_background_timeout_value 1,800,000
dom.timeout.throttling_delay 1

window.setTimeoutのmozillaドキュメントの「非アクティブなタブ」セクション によると:

バックグラウンドタブからの負荷(および関連するバッテリー使用量)を減らすために、タイムアウトは、非アクティブなタブで1秒に1回(1,000ミリ秒)以下の頻度で起動するように調整されます。

Firefoxは、バージョン5以降、この動作を実装しています(バグ633421を参照してください。1000msの定数は、dom.min_background_timeout_valueプリファレンスを介して調整できます)。 Chromeはバージョン11(crbug.com/66078)以降この動作を実装しています。

Firefox for Androidは、Firefox 14のバグ736602以降、バックグラウンドタブに15分のタイムアウト値を使用します。バックグラウンドタブも完全にアンロードできます。

したがって、Firefoxのdom.min_background_timeout_valueのデフォルト値は15分です(単位はmsであるため、実際には900,000に設定されます)。これは、バッテリーを節約し、RAM/CPUリソースが不足しているデバイスにとって意味があります。その値を2倍にして30分を達成する= 1,800,000

about:configには、トラッキングスクリプト(dom.min_tracking_background_timeout_value)を調整するための個別のエントリがあり、これも1,800,000msの同じ値に増やす必要があることに注意してください。

デフォルトでは、タブがすぐにフォアグラウンドにない場合、タブは調整されません。そのため、dom.timeout.throttling_delay1 msに設定して、タブがフォアグラウンドになくなったらすぐにスロットルを開始します。

他のabout:configエントリのほとんどが何をするのかわかりません。 budgetのものは特に混乱を招き、さらなる説明を歓迎します。

2