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

一段时间以来,Chrome 在转换到新页面时会立即清除屏幕,以便让用户确信页面正在加载。此“闪烁 白色”浏览器会在屏幕前显示白色颜料 加载网页。这可能会在导航期间造成干扰,尤其是在 这样的网页就能以相当快的速度达到更有趣的状态。

但对于加载速度极快的网页,这种方法实际上会对用户体验造成不利影响。在以下动画中,您可以看到目前的示例。

我们是此网站的忠实粉丝,这让我们难以提供优质的体验 出现了白色闪烁,我们想对其进行修复我们通过一种名为“绘制暂停”的新行为实现了这一点,浏览器会在开始绘制之前稍等片刻,尤其是在网页足够快的情况下。这样可以确保页面整体呈现,从而提供真正即时的体验。

其运作方式是,我们会推迟 compositor 提交,直到达到给定的网页加载信号 (PLS)(例如首次内容绘制/固定超时)为止。我们会区分主线程渲染工作和提交到实现线程的工作(只有后者会延迟)。等到 PLS 发生时, 白色/纯色闪烁。

我们的目标是在 Chrome 中实现两个网页之间的导航, 同一来源的流畅性,因此可提供快速的默认导航体验 新旧之间不闪烁白色/纯色背景 内容。

欢迎在 Chrome Canary(Chrome 76)中试用“画笔按住”功能,并与我们分享您的想法。 开发者无需担心需要对其网页进行任何修改即可使用该功能。