进程 与 线程
- 进程: 每个应用启动都会开启一个进程或者多个进程,进程间通过 IPC 管道进行数据通讯
- 线程: 进程会开启多个线程辅助工作
浏览器(一个多进程的应用:具体和你使用的浏览器模式有关)
- 每个tab页其实都可以理解为是一个渲染进程;
- js线程、事件线程、定时器线程、网络线程...
界面渲染过程
-
dom树
-
css树
-
layout树(节点 x y 宽高等信息) 注: dom树 和 layout树不是一一对应的(具体表现在 节点display:none 伪类)
-
绘制层级(z-index)
-
栅格化(不占用主进程)transform
-
重排(性能):重新遍历dom树构造layout树 计算节点的位置信息 -> 绘制