Chromium 开发团队今天早些时候发表了一篇博文,概述了在过去几年左右的时间里所取得的性能改进。该评估基于 Core Web Vitals,它有助于衡量网页性能,从而帮助网页开发人员优化和改善用户的浏览体验。
这些改进也包括 Windows 11,因为 Chromium 注意到 Windows 11 中使用了 EcoQOS(服务质量),也称为效率模式,它有助于对标签进行节流。值得注意的是,尽管火狐浏览器基于 Gecko 引擎而非 Chromium,但它也支持这一功能。
其他重大改进还包括预渲染、BFcache 等方面。
Chrome 浏览器的核心网络性能成就
我们非常自豪地重点介绍我们优化性能的众多方法。
- 后向/前向缓存(bfcache)旨在通过实现即时后向和前向导航来改善浏览体验。BFCache 在安卓(3.6%)和桌面(1.8%)上的点击率逐月提高。
- 另一个影响特别大的优化实例是我们的 PreconnectOnAnchorInteraction 功能,它可以在指针向下而不是向上时连接到原点。这一功能的全面推出使安卓/桌面的 LCP 中位数提高了 6/10ms(0.4/1%),并使安卓和桌面的跨原点 LCP 提高了约 60ms。
该功能的推出还带来了 0.08% 的内容广告收入增长,凸显了性能优化对用户参与度和生态系统健康的重大影响。 - 我们还引入了预渲染技术,即在用户实际访问前渲染页面,从而实现页面的即时加载。通过直接在全能框中键入 URL 加载页面时,预渲染的 LCP 中值提高了 500-700ms(14-25%),具体取决于平台,所有导航的全球 LCP 中值提高了 6.4ms。我们目前正在推出对 omnibox 发起的搜索进行预渲染的功能。
- Chrome 浏览器一直在努力避免后台标签页对您造成影响。在 Windows 11 上的 EcoQOS 和 macOS 上的任务角色和 QoS 调整中,对后台标签页的运行实施了标签页节流,从而改进了最大内容绘制 (LCP) 和交互到下一步绘制 (INP)。
- 网络能够运行各种类型的应用程序,这也要求我们对由此产生的工作量进行管理。我们一直在优化多个活动标签页下的 Chrome 浏览器,并很高兴地向大家报告,在过去 6 个月中,调度和争用方面的改进使 INP 提高了 5%,LCP 提高了 2%。
- 2022 年,我们对 Chrome 浏览器的页面加载代码进行了有针对性的改进。这使得安卓系统的 LCP 提高了 10%,CWV 通过率提高了 1.5%。
- Chrome 浏览器的渲染器也有了一些改进。呈现器的主线程包括 JavaScript、呈现和图片加载的任务队列。为优化 CWV 而改变这些任务优先级的一些变化包括:
- 高优先级图像加载: 一直以来,图像加载的优先级与渲染的优先级相同或更低。然而,一项实验表明,在图像加载任务和渲染任务之间,优先选择图像加载任务可以防止没有图像的中间帧发生布局偏移,还能改善 LCP。
- 在安卓系统上,CLS 的第 75 百分位数改进率为 -6.66%,LCP 的第 75 百分位数改进率为 -0.82%,安卓系统上的 CWV 通过率提高了 +0.24%。类似的实验还将从 HTML 中解析出的前五张图片(非图标大小的图片)的加载优先级提升至 "中等",结果显示,在第 75 百分位数的 Android 系统上,CLS 的通过率提高了 -6.08%,LCP 的通过率提高了 -0.53%。综合实验表明,这两种变化的效果基本是独立的。
- 延迟后优先处理合成任务: 如果距离上一次合成任务运行已超过 100 毫秒,则提升队列中任何合成任务的优先级,使其优先处理正常优先级的工作。这样,安卓和 Windows 上的 CLS 在第 95 百分位上的改进幅度为-0.27%。
- SVG 光栅优化: 另一项 SVG 绘图优化将台式机上的 INP 通过率提高了-2.28%(MacOS 第 75 百分位数)。
您可以在 Chromium 网站上阅读官方博文(需魔法上网):
https://blog.chromium.org/2023/11/how-core-web-vitals-saved-users-10000.html