关于浏览器

72 阅读1分钟

进程 与 线程

  • 进程: 每个应用启动都会开启一个进程或者多个进程,进程间通过 IPC 管道进行数据通讯
  • 线程: 进程会开启多个线程辅助工作

浏览器(一个多进程的应用:具体和你使用的浏览器模式有关)

  • 每个tab页其实都可以理解为是一个渲染进程;
  • js线程、事件线程、定时器线程、网络线程...

界面渲染过程

  • dom树

  • css树

  • layout树(节点 x y 宽高等信息) 注: dom树 和 layout树不是一一对应的(具体表现在 节点display:none 伪类)

  • 绘制层级(z-index)

  • 栅格化(不占用主进程)transform

  • 重排(性能):重新遍历dom树构造layout树 计算节点的位置信息 -> 绘制