第一章 浏览器渲染引擎深度解构
1.1 关键渲染路径(CRP)全链路解析
1.1.1 现代浏览器架构演进
各模块核心职责:
- 主线程:DOM解析、样式计算、布局、绘制指令生成
- 合成线程:图层管理、光栅化调度
- 光栅线程:GPU加速渲染、图块生成
1.1.2 CRP六阶段模型
-
DOM构建阶段
- 增量解析策略:遇到
<script>
时的阻塞处理 - 预加载扫描器工作流程:
while (tokenizer.hasMoreTokens()) { const token = tokenizer.nextToken(); if (token.type === 'RESOURCE') { preloader.fetch(token.url); } }
- 增量解析策略:遇到
-
CSSOM构建阶段
- 级联规则冲突解决算法:
def calculate_specificity(selector): a = id_count(selector) b <
- 级联规则冲突解决算法: