美文网首页
页面滚动性能检测

页面滚动性能检测

作者: 三九而成 | 来源:发表于2018-05-06 11:57 被阅读0次

    声明一点,工作环境是Chrome浏览器

    1.页面滚动是高频率的动作,在滚动的时候,浏览器是怎么来渲染页面,怎么来查看影响滚动流畅的原因。

    2.网络上有很多说影响滚动流畅的原因,google,百度都可以搜到。

    下面,先说一下浏览器渲染的分层和分块。

    分层,分块是和css相关。

        先上两张天猫分层的截图

        天猫首页分层截图

    在来一张天猫商品列表页面的分层截图

    天猫首页分层很少,列表页面除了图片单独处理,基本上也就文档和单独的搜索框分层。

    具体网页分层原理可以看这篇文章 Chromium网页渲染机制简要介绍

    浏览器渲染对应到滚动性能,需要用performance来分析了。

    依旧先来一张图片

    滚动到时候,页面主线程的执行顺序如上图Event log,滚动事件,事件内到业务代码,更新层级书,合成新的页面。按照一帧16至17ms的时间算,代表这个时间段需要完成事件执行,图层合并。如果总时间超出,就出现我们长听的掉帧。

    上面两张图对比一下,会发现update layer tree和 composite layers的时间变长了,原因是因为第一张图使用的是body滚动没有添加任何样式,第二张添加了overflow:scroll。

    另外就是setTimeout等也会占用主线程的时间

    相关文章

      网友评论

          本文标题:页面滚动性能检测

          本文链接:https://www.haomeiwen.com/subject/mihgkftx.html