Skip to content
目录

11 — 性能与工程优化

Chrome 性能优化可以从四条主线回答:渲染、线程、进程、网络

渲染与合成

  • 使用线程化合成,让滚动和部分动画不必每帧依赖 Renderer 主线程。
  • 使用 Pending / Active 树,让新内容准备时旧帧还能继续显示。
  • 使用 tile 光栅化,只更新可见或脏的区域。
  • 尽量让 transformopacity 等动画走合成路径。

线程与任务

  • 不阻塞 UI 线程,否则浏览器界面卡。
  • 不阻塞 IO 线程,否则 IPC、Mojo、网络通信变慢。
  • Renderer 主线程避免长任务,否则 JS、布局、输入响应都会受影响。
  • 重计算和阻塞 IO 放到 ThreadPool。

进程与内存

Site Isolation 提升安全,但会增加进程数和内存占用。Chrome 需要在隔离强度、进程复用和内存之间做权衡。

桌面和移动端策略可能不同,移动端更容易受内存限制影响。

网络与 IPC

Network Service 和 Mojo 让架构更清晰,但跨进程通信不是免费的。关键路径上要减少不必要的线程跳转和进程跳转。

如何验证优化

中可以回答:

  • 用 Performance / Tracing / Perfetto 看主线程、合成线程、GPU、网络耗时。
  • 用 Lighthouse 或 DevTools 看页面性能指标。
  • 用 Web Tests、browser tests 防止行为回归。

总结

Chrome 的性能优化不是单点技巧,而是系统性权衡:渲染管线减少主线程依赖,任务调度避免阻塞关键线程,进程模型在安全和内存之间取舍,网络与 IPC 控制通信成本。

MIT License.