绘图保持 - 减少同源导航上的白色闪烁情况

有一段时间了,Chrome 在切换到新页面时急切地清空了屏幕,让用户放心,页面正在加载。这个“白闪”就是这个短暂的时刻,在此期间,浏览器在加载页面时会显示白色颜料。这可能会分散导航的注意力,尤其是当页面以相当快的速度达到更有趣的状态时。

但对于加载速度极快的网页来说,这种做法实际上是不利于用户体验的。在下面的动画中,您可以看到当前的显示效果示例。

我们是这个网站的忠实粉丝,他们的优质体验有闪烁白光的感觉,这让我们忍不住想要解决这个问题。为此,我们采用了一种称为“绘制保留”的新行为,让浏览器在开始绘制之前会等待片刻,尤其是在页面足够快的情况下。这样可确保网页整体呈现,提供真正的免安装体验。

其运作方式是,推迟合成器提交,直到达到指定的网页加载信号 (PLS)(例如首次内容渲染 / 固定超时)。我们区分主线程渲染工作,提交到实现线程(只有后者被延迟)。等待 PLS 出现可降低白色/纯色闪烁的可能性。

这项工作的目标是让 Chrome 在同一源的两个页面之间实现无缝导航,从而提供快速的默认导航体验,新旧内容之间不会闪烁白色/纯色背景。

请试用 Chrome Canary (Chrome 76) 中的“绘图保持功能”功能,并与我们分享您的想法。 开发者无需担心对网页进行任何修改即可利用此功能。