Gpu & Layout

# Gpu & Layout

gpu 俗称显卡

# reflow

改变html 的结构触发 reflow

  • 改变窗口大小
  • 改变文字大小
  • 内容的改变,输入框输入文字
  • 激活伪类,如:hover
  • 操作 class 属性
  • 脚本操作 dom
  • 计算 offsetWidth 和 offsetHeight
  • 设置 style 属性

# repaint

如果只是改变某个元素的背景色、文字颜色、边框颜色,不影响它周围或内部布局的属性

repaint 速度优于 reflow。

告诉浏览器把 transform 这种点阵类型的操作,放到 GPU 去处理。

will-change:transform

浏览器刷新页面的频率 1s 60次

# 渲染引擎的工作原理

+ 下载 html
+ 下载 css									   下载 js
+ 根据css文件构建css规则语法树		 根据 domAPI 构建出 dom 树
+ css规则语法树								 根据 cssomAPI 构建出 cssom 树
+ 生成dom树										cssom树
+ 由dom树和cssom树两者组合成 renderTree
+ renderTree 描述出页面的结构(Layout)
+ 然后对这个 Layout 进行渲染