Paint Holding : réduction du flash du blanc lors des navigations de même origine

Depuis un certain temps, Chrome efface l'écran avec empressement lors du passage à une nouvelle page pour rassurer les utilisateurs sur le fait que la page est en cours de chargement. Ce "flash blanc" est ce bref moment pendant lequel le navigateur affiche une peinture blanche lors du chargement d'une page. Cela peut être gênant entre les navigations, en particulier lorsque la page atteint assez rapidement un état plus intéressant.

Toutefois, pour les pages qui se chargent à la vitesse de l'éclair, cette approche est préjudiciable à l'expérience utilisateur. Dans l'animation suivante, vous pouvez voir un exemple de ce à quoi cela ressemble aujourd'hui.

Nous sommes de grands fans de ce site Web, et nous sommes déçus de constater qu'il présente un flash blanc. Nous souhaitons le corriger. Pour cela, nous avons modifié le comportement que nous appelons "Paint Holding", où le navigateur attend brièvement avant à peindre, surtout si la page est assez rapide. Cela permet de s'assurer s'affiche dans son ensemble, offrant ainsi une expérience réellement instantanée.

Pour ce faire, nous différons les commits du compositeur jusqu'à ce qu'un signal de chargement de page (PLS) donné (par exemple, la première peinture avec contenu/le délai fixe) soit atteint. Mer distinguer le travail de rendu du thread principal et valider le thread impl (seul le second est différé). Attendre qu'un PLS se produise réduit la probabilité de clignotement en blanc/couleur unie.

L'objectif de ce travail était de naviguer dans Chrome entre deux pages qui ont la même origine pour être fluides et offrent donc une navigation par défaut rapide sans flashs d'arrière-plan blanc/de couleur unie entre l'ancienne et la nouvelle contenus.

Essayez la fonctionnalité Maintien de la peinture dans Chrome Canary (Chrome 76) et dites-nous ce que vous en pensez. Les développeurs ne doivent pas avoir à apporter de modifications à leurs pages pour en profiter.