【最终】浏览器原理&GPU图形总结

一、浏览器进程模型

​​多进程架构设计​​

  • ​​进程​​:资源分配的基本单位,每个标签页独立渲染进程(崩溃隔离)
  • ​​线程​​:CPU调度的最小单位,共享进程内存空间

​​核心进程分工​​:

  • 浏览器主进程(界面管理)
  • 渲染进程(页面渲染,含主线程)
  • GPU进程(图形加速)
  • 网络进程(资源加载)
  • 插件进程(沙盒隔离)
    ​​

单线程渲染的必然性​​

  • JS单线程根源:避免多线程同时操作DOM导致状态冲突(如删除与修改竞争)
  • 解决方案:事件循环机制实现异步调度

浏览器渲染各个过程:
以下是浏览器渲染过程的详细总结及常见面试题解析,结合关键渲染路径(Critical Rendering Path)和性能优化策略,帮助系统性掌握该知识点。


一、浏览器渲染核心流程详解

1. 解析阶段
  • 构建DOM树
    • 过程:HTML解析器将HTML字节流转换为标记(Token),再生成节点(Node),最终构建树状结构的DOM树。
    • 阻塞点:同步<script>标签会阻塞DOM解析(除非使用async/defer)。
  • 构建CSSOM树
    • 过程:CSS解析器将样式表解析为CSSOM树(样式规则树),描述元素样式继承与层叠关系。
    • 阻塞点:CSS加载会阻塞渲染树合成(Render Tree构建),但不阻塞DOM解析(两者并行)。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
2. 渲染树合成(Render Tree,计算属性)
  • 过程:合并DOM树和CSSOM树,生成仅包含可见节点的渲染树(如display:none的元素被忽略)。
  • 关键点:渲染树节点包含几何属性(位置、尺寸)和样式信息。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
3. 布局(Layout/Reflow)
  • 过程:计算渲染树中每个节点的精确位置和大小(如宽度、边距)。
  • 触发条件:改变元素几何属性(如widthfont-size)、窗口大小变化等。
  • 性能影响回流(Reflow)需重新计算整个布局树,开销最大
    Flex布局常考面试题目
    在这里插入图片描述
    在这里插入图片描述<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GISer_Jinger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值