回头看浏览器渲染(第一步)

44 阅读1分钟

学习就是重复的回头看一些知识 至少现在的自己感觉是这样,刚毕业的时候对于浏览器渲染 进程 线程以及面试过程中经常遇到js事件循环都是一知半解,现在重新回过头在看一遍知识 感觉又是一个新的收获

先放一张图

image.png

浏览器内部是一个非常复杂的过程,每个tab 单独各自管理,即使某个tab 崩溃 其他页面也是没有受到什么影响, 所以可以得出一个结论 浏览器是一个多进程 至少对于tab页的管理就能体现出来,当然除了每个tab各自的内容本身浏览器还有一些自己的全局的东西比如标签 网络等这些可以大概就归于两类

  1. 浏览器进程 主要负责界面显示(标签啥的)、用户交互、子进程管理等。浏览器进程内部会启动多个线程处理不同的任务。
  2. 网络进程 负责加载网络资源。网络进程内部会启动多个线程来处理不同的网络任务 3:渲染进程 默认情况下,浏览器会为每个标签页开启一个新的渲染进程,以保证不同的标签页之间不相互影响

大概结构管理是这样的

image.png

作为最多打交道就是我们的渲染进程 这个里面涉及到我们所谓的js主线程以及Gpu渲染进程的关系 下一章节在深入写一下