とにかくこれを修正することはできますか?
🤔私は多くのグループで少し遅い切り替えを経験しました。
番号を教えてください。
グループ/タブはいくつありますか?
リソースの強度をどのように測定しますか?
私には2つのグループがあります。1つは219個のタブ、もう1つは6個のタブです。
システムのファンが回転し始め、リーダーモードでオーディオを再生している場合。 音声が止まり、途切れます。
システム:Nightly、Fedora 29、Intel®Core™i7-4710HQ CPU @ 2.50GHz×8、GeForce GTX 860M / PCIe / SSE2。
コードから、タブグループビューが切り替わるたびにページがリロードされることがわかります。 ドキュメントが表示されているためにvisibilitychange
イベントがトリガーされると( document.hidden === false
)、タブごとにcaptureThumbnails
が呼び出され、ページが再読み込みされてからcaptureThumbnails
呼び出されます。また。 サムネイルはセッションに保存されますが、読み込まれることはありません。 したがって、ここには改善の余地があります。
あなたが望むなら私はこれらを見ることができます
それは素晴らしいことです! これを調べてくれてありがとう:)私は土曜日の夕方PSTまでまだ休日なので、皆さんがやってくれたすべての仕事に感謝します!
私はそれを少し調べました、そしてそれはここである種の仮想domライブラリに役立つと思います。 私はそれをすべて反応させるのをためらっていますが、ページが表示されるたびにページ全体のリロードを回避するために何かが必要です。 必要なのは、変更されたものだけでdomを更新する簡単な方法です。ページが表示されたときにすべてが変更された可能性があるため、domノードを手動で更新するよりも賢い方法が役立つでしょう。 どう思いますか? 良い経験のある図書館はありますか?
ここでは、わずかな過剰設計のケースがあるかもしれません。 私が最初に考えたのは、サムネイルを無効にするオプションはどうでしょうか。 そうすれば、大量のタブを持っている人は、事前に大量のコードを追加しなくても、すぐに改善が見られる可能性があります。
私が考えることができる他のいくつかのこと:最後のビュー以降に開いたタブの数。 同じ場合は、タブをリロードしないでください。 新しいタブがある場合、それらのサムネイルのみをロードし、残りをキャッシュからプルする方法がある可能性がありますか? 明日について考えること
ですから、私はこれのより大きな原因(少なくともパノラマビューに切り替えていないとき)を見つけたかもしれないと思います。それはそれ自身のワームの缶です。
browser.tabs.onUpdated
リスナーは実際にはかなり広範囲のイベントをリッスンしているように見えますが、パノラマビューを最新の状態に保つために実際に重要なのはそのうちのいくつかだけです。 注目すべきは、フィルターを設定しないと、個々のタブが非表示または非表示になるたびに起動します。これは、グループを切り替えるたびに何度も発生します。 関連性の低いイベントの一部を除外すると、処理速度が大幅に向上するようです。
私は現在、上記を含むいくつかの実質的なパフォーマンスの最適化を含むブランチに取り組んでいます。 完了するまでに少し時間がかかりますが(特に、追跡しようとしているCPUスパイクが1つ残っているため)、これまでのところかなり有望に見えます。
最も参考になるコメント
コードから、タブグループビューが切り替わるたびにページがリロードされることがわかります。 ドキュメントが表示されているために
visibilitychange
イベントがトリガーされると(document.hidden === false
)、タブごとにcaptureThumbnails
が呼び出され、ページが再読み込みされてからcaptureThumbnails
呼び出されます。また。 サムネイルはセッションに保存されますが、読み込まれることはありません。 したがって、ここには改善の余地があります。あなたが望むなら私はこれらを見ることができます