首页 > 社交 > 科普中国

Web渲染性能,渲染顺序,看完这个你就全懂了(二)

常驻编辑 科普中国 2022-06-13 58节点   主线   脚本   顺序   元素   浏览器   性能   过程   东西   事件   操作   文件
4o5拜客生活常识网

DCL是最重要的网站性能指标之一,我们要优化它,越小越好。最佳实践之一就是使用defer,async标签给script元素。让这些脚本可以在后台下载。第二,我们要优化渲染阻塞的stylesheets.4o5拜客生活常识网

Window的load事件4o5拜客生活常识网

我们已经知道JavaScript可以阻塞DOM树的生成,带其他外部文件不行,比如CSS,图片,视频等等。4o5拜客生活常识网

DOMContentLoaded事件记录了DOM树完成构造并且可以安全访问的时间点。window.onload记录了当外部的css和其他文件被下载完成的时间点。4o5拜客生活常识网

4o5拜客生活常识网

在上面的例子中, rendering.html 文件有一个外部CSS文件在head中,它要花5秒被下载。因为它在head中,所以FPFCP是在5秒后发生的。这个css文件会阻塞渲染,看不到任何东西。4o5拜客生活常识网

在那之后,我们有个图片元素,大概需要10秒去下载,所以浏览器仍然继续在后台下载这个文件,并且继续进行DOM解析和渲染。4o5拜客生活常识网

接下来,我们有3个JavaScript文件,他们将花3秒,6秒,9秒去下载。更重要的是,他们不是async的,这就意味着总共需要18秒顺序执行下载。而且直到前一个被下载并执行完成后,后面一个才会继续下载执行。尽管如此,我们的现代浏览器似乎采用了新的策略,更高效地下载了它们,所以总共用时9秒左右。因为最后一个文件下载会影响DCL, 所以DCL发生在9.1秒。4o5拜客生活常识网

这时仍然有其他外部资源在下载,就是那张图片,它仍然在后台下载,大概花了10秒下载完成了,所以window.load事件在10.2秒被触发,意味着整个页面加载完成。4o5拜客生活常识网

以上就是浏览器的整个渲染过程,希望可以帮助大家理解它的原理,也希望大家可以批评指正错误,一起讨论学习。4o5拜客生活常识网

文章来自互联网,如有侵权请点此提交删除
文章来自互联网,如有侵权请点此提交删除

相关阅读:

  • ssr链接怎么用(安卓手机ssr怎么添加节点)
  • ssr怎么设置(ssr加速器节点)
  • 节点是什么意思(手机怎么换节点)
  • 「数据结构之字典树Trie」C语言版本实现
  • 网宿科技股份有限公司2021年年度报告摘要300017
  • 《重生之门》热播背后:悬疑剧集寻求差异化,阿里影业自制
  • 互联网后端技术大全!建议收藏
  • A股下半年行情走势的沙盘推演!第一阶段结束时间会是7月
  • 成为国家新基建核心,边缘计算的魅力到底在哪里
  • 牛客网高频算法题系列合并两个排序的链表
  • 文章来自互联网,如有侵权请点此提交删除
    文章来自互联网,如有侵权请点此提交删除
    • 网站地图 |联系我们
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。