Paint Holding - mengurangi flash warna putih pada navigasi asal yang sama

Untuk sementara waktu, Chrome telah menghapus layar dengan segera saat melakukan transisi ke halaman baru untuk meyakinkan pengguna bahwa halaman sedang dimuat. "Flash of putih" ini adalah momen singkat saat browser menampilkan cat putih saat memuat halaman. Hal ini dapat mengganggu navigasi di antara navigasi, terutama jika halaman cukup cepat dalam mencapai status yang lebih menarik.

Namun, untuk halaman yang dimuat secepat kilat, pendekatan ini sebenarnya merugikan pengalaman pengguna. Dalam animasi berikut, Anda melihat contoh tampilannya saat ini.

Kami adalah penggemar berat situs ini dan kami tercengang karena pengalaman mereka yang berkualitas sangat terkesan putih, dan kami ingin memperbaikinya. Kami melakukannya dengan perilaku baru yang kami sebut Paint Holding, di mana browser menunggu sebentar sebelum mulai melukis, terutama jika halamannya cukup cepat. Hal ini memastikan bahwa halaman dirender secara keseluruhan dan memberikan pengalaman yang benar-benar instan.

Cara kerjanya adalah kami menunda commit compositor hingga sinyal pemuatan halaman tertentu (PLS) (misalnya first contentful paint / waktu tunggu tetap) tercapai. Kami membedakan antara pekerjaan rendering thread utama dan berkomitmen pada thread implan (hanya thread yang ditangguhkan). Menunggu hingga PLS terjadi akan mengurangi kemungkinan kedipan putih/warna solid.

Tujuan kami dalam pekerjaan ini adalah agar navigasi di Chrome antara dua halaman yang berasal dari yang sama berjalan lancar, sehingga memberikan pengalaman navigasi default yang cepat tanpa flash latar belakang putih/warna solid antara konten lama dan baru.

Coba Paint Holding di Chrome Canary (Chrome 76) dan beri tahu kami pendapat Anda. Developer tidak perlu khawatir dengan perubahan apa pun pada halaman mereka untuk memanfaatkannya.