1. Blink 渲染引擎是什么
Blink 是 Google 于 2013 年从 WebKit 分叉开发的开源浏览器渲染引擎。作为 Chrome 的核心布局引擎,它负责:
- DOM 处理:从 HTML 构建文档对象模型
- 样式计算:将 CSS 转换为 CSS 对象模型
- 布局:确定元素位置和尺寸
- 绘制:将布局转换为实际像素
- 合成:通过层管理优化渲染
关键架构组件:
- 多进程架构(渲染进程)
- 进程外 iframe 渲染
- 不同站点实例的隔离
2. Blink 与其他渲染引擎的比较
Web 的主要渲染引擎在架构和方法上有所不同:
| 特性 | Blink | WebKit | Gecko | Servo |
|---|---|---|---|---|
| 开发者 | Apple | Mozilla | Mozilla | |
| 语言 | C++ | C++ | C++ | Rust |
| 线程模型 | 多进程 | 多线程 | 多进程 | 多线程 |
| CSS 支持 | 实验性 | 稳定 | 完整 | 实验性 |
| JavaScript | V8 | JavaScriptCore | SpiderMonkey | SpiderMonkey |
| GPU 使用 | 高级 | 中等 | 基本 | 实验性 |
不像 WebKit 那样集中处理所有平台端口,Blink 将特定于平台的代码委托给各个供应商。
3. Blink 的操作模块
Blink 由几个关键子系统组成:
- 文档加载
- HTML 解析器
- 预加载扫描器
- 资源获取器
- 样式与布局
- 样式引擎(CSSOM 构建器)
- 布局树构建
- CSS 属性插值
- 图形管道
- 绘制层树
- GPU 加速合成
- 光栅化(Skia)
- JavaScript 集成
- DOM 绑定
- 事件系统
- V8 交互层
- Web 组件
- Shadow DOM
- 自定义元素
- HTML 模板
4. Blink 在浏览器架构中的作用
作为基于 Chromium 的浏览器(Chrome、Edge、Opera)的渲染核心:
- 安全边界:在具有沙箱的隔离渲染进程中运行
- 性能中心:处理关键渲染路径优化
- 标准实现:实现 1000+ Web 平台规范
- 内存管理:实现分区分配以提高效率
- 实验特性:随 Origin Trials 发布新 API
Blink 的架构允许 Chrome 在保持 60fps 渲染性能的同时支持超过 20,000 个 CSS 测试。
您可能还喜欢

