关键路径渲染学习笔记

2019-05-30  本文已影响0人  回调的幸福时光

优先显示与当前用户操作有关的内容。

一、构建对象模型
文档对象模型 (DOM)
构建 DOM
  1. 转换:浏览器从磁盘或网络读取 HTML 的原始字节,并根据文件的指定编码(例如 UTF-8) 将它们转换成各个字符。
  2. 令牌化:浏览器将字符串转换成 W3C HTML5 标准 规定的各种令牌,例如,"<html>"、"<body>",以及其他尖括号内的字符串。每个令牌都具有特殊含义和一组规则。
    3 词法分析:发出的令牌转换成定义其属性和规则的"对象"。
  3. DOM 构建:由于 HTML 标记定义不同标记之间的关系(一些标记包含在其他标记内),创建的对象链接在一个树数据结构内,此结构也会捕获原始标记中定义的父项-子项关系。
CSS 对象模型 (CSSOM)
CSSOM 构建过程

CSSOM 为何具有树结构?
为页面上的任何对象计算最后一组样式时,浏览器都会先从适用于该节点的最通用规则开始 (例如,如果该节点是 body 元素的子项,则应用所有 body 样式),然后通过应用更具体的规则 (即规则"向下级联") 以递归方式优化计算的样式。

二、渲染树构建、布局及绘制

渲染树构建:

  1. 从 DOM 树的根节点开始遍历每个可见节点。
  1. 对于每个可见节点,为其找到适配的CSSOM 规则并应用它们。
  2. 发射可见节点,连同其内容和计算的样式。

布局:
布局流程的输出是一个"盒模型",它会精确地捕获每个元素在视口内的确切位置和尺寸:所有相对测量值都转换为屏幕上的绝对像素。

绘制:
将渲染树中的每个节点转换成屏幕上的实际像素。

三、阻塞渲染的 CSS
四、使用 JavaScript 添加交互
五、评估关键渲染路径
Navigation Timing API

摘自

developers.google 关键路径渲染

上一篇下一篇

猜你喜欢

热点阅读