Chrome のバックグラウンド タブのパフォーマンスの最適化
最近のテストでは、Chrome のタイムアウトと間隔が大幅に遅くなることが観察されています。関連するタブは非アクティブです。この動作は、継続的な実行が維持される Firefox や Internet Explorer などの他のブラウザとは異なります。
このパフォーマンス低下の背後にある根本的なメカニズムは、Chrome による設計上の決定です。タブがフォーカスを失うと、タイムアウトや間隔を含む JavaScript の実行が最大 1 秒あたり 1 回に抑制されます。これは、システム リソースを節約し、アクティブなタブの応答性を向上させることを目的とした意図的な最適化です。
この最適化は、ブラウザ全体のパフォーマンスに利益をもたらす可能性がありますが、定期的なサーバー ポーリングや、バックグラウンド タスクなどのバックグラウンド タスクに依存するアプリケーションにとっては課題が生じます。イベント監視。考えられる回避策の 1 つは、Web Workers を利用することです。 Web ワーカーは、ブラウザのメイン スレッドとは独立して JavaScript を実行できる別個のスレッドであり、タブが非アクティブな場合でもバックグラウンド タスクを続行できます。
ただし、Web ワーカーには独自の制限があり、使用できない場合があることに注意してください。あらゆるユースケースに適していること。さらに、Web ワーカーを使用するには、ブラウザの互換性を考慮する必要がある場合があります。
正確なタイミングと継続的な実行が必要なアプリケーションの場合は、他のブラウザ オプションを検討するか、これらのタスクを実行する専用のバックグラウンド サービスの使用を検討することをお勧めします。あるいは、ブラウザ内でバックグラウンド タスクが不可欠な場合、開発者は、Fetch API や WebSocket 接続の使用などの代替アプローチを検討できます。これにより、非アクティブなタブでのパフォーマンスが向上する可能性があります。
以上がChrome のバックグラウンド タブでパフォーマンスが低下するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。