Panorama-tab-groups: Pergantian grup tab lambat dan sangat intensif sumber daya

Dibuat pada 29 Des 2018  ·  7Komentar  ·  Sumber: projectdelphai/panorama-tab-groups

Apakah ada hal ini bisa diperbaiki?

Komentar yang paling membantu

Saya melihat dari kode bahwa halaman dimuat ulang setiap kali tampilan grup tab dialihkan. Ketika visibilitychange event dipicu karena dokumen terlihat ( document.hidden === false ) ia memanggil captureThumbnails untuk setiap tab, kemudian memuat ulang halaman dan kemudian memanggil captureThumbnails lagi. Ini menyimpan thumbnail dalam sesi, tetapi tidak pernah memuatnya. Jadi, ada beberapa ruang untuk perbaikan di sini:

  • Jangan memuat ulang halaman setiap kali ditampilkan
  • Jangan ambil gambar mini tepat sebelum memuat ulang halaman
  • Cari gambar mini dari sesi alih-alih merekam lagi (atau jangan simpan ke sesi, jika tidak diperlukan)

Saya bisa melihat ini jika Anda mau

Semua 7 komentar

Saya mengalami peralihan yang sedikit lebih lambat dengan banyak grup.

Bisakah Anda memberi tahu kami beberapa nomor?

Berapa banyak grup/tab yang Anda miliki?
Bagaimana Anda mengukur intensitas sumber daya?

Saya memiliki dua grup, satu dengan 219 tab, yang lain dengan enam.

Kipas di sistem saya mulai berputar dan jika saya memutar audio melalui mode pembaca. Audio berhenti dan gagap.

Sistem: Nightly, Fedora 29, Intel® Core™ i7-4710HQ CPU @ 2.50GHz × 8, GeForce GTX 860M/PCIe/SSE2.

Saya melihat dari kode bahwa halaman dimuat ulang setiap kali tampilan grup tab dialihkan. Ketika visibilitychange event dipicu karena dokumen terlihat ( document.hidden === false ) ia memanggil captureThumbnails untuk setiap tab, kemudian memuat ulang halaman dan kemudian memanggil captureThumbnails lagi. Ini menyimpan thumbnail dalam sesi, tetapi tidak pernah memuatnya. Jadi, ada beberapa ruang untuk perbaikan di sini:

  • Jangan memuat ulang halaman setiap kali ditampilkan
  • Jangan ambil gambar mini tepat sebelum memuat ulang halaman
  • Cari gambar mini dari sesi alih-alih merekam lagi (atau jangan simpan ke sesi, jika tidak diperlukan)

Saya bisa melihat ini jika Anda mau

Itu bagus! Terima kasih telah melihat ini :) Saya masih libur sampai Sabtu malam PST jadi saya menghargai semua pekerjaan yang telah kalian lakukan!

Saya telah melihatnya sedikit, dan saya pikir itu akan membantu dengan semacam perpustakaan dom virtual di sini. Saya ragu-ragu untuk memberikan semua reaksi, tetapi sesuatu diperlukan untuk mengatasi pemuatan ulang seluruh halaman setiap kali halaman ditampilkan. Apa yang dibutuhkan adalah cara sederhana untuk memperbarui dom hanya dengan hal-hal yang telah berubah, dan karena kemungkinan semuanya bisa berubah ketika halaman ditampilkan, sesuatu yang lebih pintar daripada memperbarui node dom secara manual mungkin akan membantu. Bagaimana menurut anda? Setiap perpustakaan Anda memiliki pengalaman yang baik dengan?

Mungkin ada sedikit kasus over-engineering di sini. Hal pertama yang saya pikirkan adalah bagaimana dengan opsi untuk menonaktifkan thumbnail saja? Dengan begitu, orang-orang dengan jumlah tab yang besar mungkin mengalami beberapa peningkatan langsung tanpa kami harus menambahkan sejumlah besar kode di muka.

Beberapa hal lain yang dapat saya pikirkan: jumlah tab yang dibuka sejak tampilan terakhir. Jika sama, jangan reload tab. Jika ada tab baru, mungkinkah ada cara untuk memuat hanya thumbnail tersebut dan menarik sisanya dari cache? Sesuatu untuk dipikirkan besok

Jadi saya pikir saya mungkin telah menemukan (salah satu) sumber yang lebih besar dari ini (setidaknya ketika tidak beralih ke tampilan panorama. Itu kaleng cacingnya sendiri).

Sepertinya pendengar browser.tabs.onUpdated benar-benar mendengarkan berbagai acara, hanya beberapa di antaranya yang benar-benar penting untuk menjaga tampilan panorama tetap mutakhir. Sebagai catatan, jika Anda tidak menyetel filter apa pun, itu akan menyala setiap kali tab individual disembunyikan atau tidak disembunyikan, yang merupakan sesuatu yang terjadi beberapa kali setiap kali Anda berpindah grup. Memfilter beberapa peristiwa yang kurang relevan tampaknya mempercepat banyak hal.

Saat ini saya sedang mengerjakan cabang yang mencakup beberapa pengoptimalan kinerja substansial, termasuk yang di atas. Saya perlu waktu sedikit lebih lama untuk menyelesaikannya (terutama karena masih ada satu lonjakan CPU yang sangat panjang yang saya coba lacak), tetapi sejauh ini terlihat cukup menjanjikan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat