Appearance
浏览器多进程架构:Browser Process、Renderer、GPU 与站点隔离
主题边界
- 现代浏览器不是单进程程序,标签页、网络、GPU、UI 与权限管理被拆到不同进程。
- 前端需要知道:页面脚本为什么仍会卡主线程、标签页为什么可以单独崩溃、站点隔离为什么会影响内存成本和安全边界。
机制与流程
- Browser Process 负责标签页管理、导航、下载、权限和跨进程协调。
- Renderer Process 负责 HTML/CSS 解析、脚本执行、布局和绘制提交;页面卡顿通常就是渲染进程主线程被长任务占满。
- Network Process 处理请求、缓存、Cookie、证书;GPU Process 处理栅格和合成相关工作。
关键差异
- 多进程不等于前端 JavaScript 自动多线程;单个页面里的绝大多数 JS 仍在渲染进程主线程执行。
- 进程解决隔离,线程解决并发,事件循环解决主线程调度,这三层不能混为一谈。
边界条件
- 把多进程简单理解成“为了更快”是不够的,首要收益其实是隔离和稳定性。
- 站点隔离会增加进程数量和内存开销,因此它既是安全增强,也是资源成本问题。
工程落点
- 性能排查时要先区分是网络慢、主线程忙、合成瓶颈还是跨进程通信等待。
- COOP/COEP、SharedArrayBuffer 恢复条件等能力都和更严格的进程隔离相关。