06 — Blink 与渲染主路径
Blink 是 Chromium 的渲染引擎,负责 Web 平台的大部分页面能力:HTML、CSS、DOM、布局、绘制、Web API 绑定等。
Blink 和 V8 的关系
Blink 负责页面和 Web API,V8 负责 JavaScript 语言执行。
JS 调用 document.querySelector、appendChild、fetch 等 API 时,函数体由 V8 执行,但真正的 DOM / Web API 实现大多在 Blink 或其他 Chromium 服务里。
Blink 和 Content 的关系
一般不直接把 Blink 当独立库使用,而是通过 content 层接入。content 负责进程、导航、WebContents 等浏览器框架能力,Blink 负责具体页面渲染。
渲染主路径
从前端角度可以概括为:
- 解析 HTML,构建 DOM。
- 解析 CSS,计算样式。
- Layout,计算几何位置和尺寸。
- Paint,生成绘制记录。
- 交给 cc 做光栅和合成。
- 通过 viz / GPU 显示到屏幕。
前端相关重点
- DOM 或样式变化会触发 style / layout / paint / composite 中的部分阶段。
- 不是每次变化都会全流程重跑,浏览器会做失效范围控制。
- JS 频繁读写布局信息可能导致强制同步布局。
总结
Blink 管页面结构、样式、布局和绘制,V8 管 JS 执行,content 管浏览器进程和页面承载。三者通过绑定层、任务调度和 Mojo 接口协作。