美文网首页WEB前端程序开发技术干货
什么?页面卡顿?操作慢?

什么?页面卡顿?操作慢?

作者: wengjq | 来源:发表于2017-08-30 15:24 被阅读57次

1、背景

两个月前做横幅特效的需求的时候,产品体验玻璃水滴的两种特效会导致网站整体变卡,之前没查出原因,就先下架了。最近潜心研究了下谷歌的工具,于是,把之前的两种特效特意拿出来研究下,把卡的问题解决,并上线,毕竟这两种特效还是不错的!

2、网页为什么会卡

网页卡常见原因:DOM操作频繁,频繁触发回流,循环耗时等。当然,大多数小问题导致的问题在网站的整体效果上看可能会感知不到,而当你感觉到卡的时候肯定是“出事了”,下面我们将通过谷歌工具把卡的问题纠出来。

3、实战演练

我们已最新版的谷歌为例子,截图如下:

Paste_Image.png
3.1 准备工作

1、在DevTools中,单击 Performance tab。
2、勾选Screenshots checkbox。
3、点击录制设置按钮。DevTools显示与捕获性能指标的相关设置。
4、对于CPU,请选择2x减速。 DevTools控制CPU,使其比平常慢2倍(两倍看不出问题就5倍)。当然这个看情况而定,目的是节流cpu,暴露问题。
5、上面操作后整体截图如下,注意画箭头的地方:

3.2 记录运行时性能

1、在DevTools中,单击记录。 DevTools在页面运行时捕获性能指标。

Paste_Image.png

2、等待数秒。
3、单击停止。 DevTools停止录制,处理数据,然后在“性能”面板上显示结果。如下图:

Paste_Image.png
3.3 分析结果

1、看看FPS图表。
每当您看到FPS上方的红色条纹,这意味着帧率下降得如此之低,以致可能会损害用户体验。 一般来说,绿色条越高,FPS越高。如下图:

Paste_Image.png

见红的那部分fps帧率很低,表示有问题。

2、看看CPU图表。
在FPS图表下方,可以看到CPU图表。CPU图表中的颜色对应于“性能”面板底部“摘要”选项卡中的颜色。 CPU图表充满色彩意味着CPU在录制过程中被最大化。如下图:

Paste_Image.png

3、时间点截图。
将鼠标悬停在FPS,CPU或NET图表上。 DevTools在该时间点显示页面的屏幕截图。如下图:

Paste_Image.png

4、发现性能瓶颈。
在时间轴上选中部分见红的部分(即fps很低的部分),展开“main”主线程。 DevTools随着时间的推移,显示主线程上的活动的火焰图表。 随着时间的推移,x轴表示录制。 每个格代表一个事件。 更宽的格意味着事件花费更长时间。 y轴表示调用堆栈。如下图:

Paste_Image.png

从上图可以很明显看出,“Animation Frame Fired”的格的右上角又见“红”了,说明有问题,点击这个“格”。如下图所示:

Paste_Image.png

谷歌工具已经看不下去了,给了个提示,Warning Recurring handler took 131.66 ms,循环导致的问题。再往下,点击具体的文件行数,可以定位问题。如下图:

Paste_Image.png

5、解决问题,该你了。

相关文章

  • 什么?页面卡顿?操作慢?

    1、背景 两个月前做横幅特效的需求的时候,产品体验玻璃水滴的两种特效会导致网站整体变卡,之前没查出原因,就先下架了...

  • 性能、打包题目

    前端性能优化 页面DOM节点太多,会出现什么问题?如何优化? DOM太多会造成页面加载卡顿, 操作DOM节点 在外...

  • 你知道有哪些情况会导致app卡顿,分别可以用什么方法来避免?

    分cpu卡和gpu卡顿。 主线程耗时操作线程爆炸滑动页面渲染卡顿(离屏渲染)图像渲染解码 查看xcode的cpu占...

  • Effective前端6:避免页面卡顿

    来源:Effective前端6:避免页面卡顿作者:李银城(极乐科技知乎专栏作者) 什么是页面卡顿?如下: 当拖动页...

  • Spring Boot (一) 校验表单重复提交

    一、前言 在某些情况下,由于网速慢,用户操作有误(连续点击两下提交按钮),页面卡顿等原因,可能会出现表单数据重复提...

  • 【iOS】界面跳转性能优化

    iOS界面跳转卡顿延迟的原因:1.A页面跳到B页面,B页面加载大量数据,导致卡顿延迟;2.A页面跳到B页面,B页面...

  • iOS性能优化篇

    iOS页面图层性能和页面卡顿的原因 iOS系统如何把图像内容展示到屏幕,呈现到我们的面前?为什么APP会感觉卡顿?...

  • vue el-select 动态渲染卡顿优化

    在vue项目中,在页面动态渲染时,页面渲染非常慢,有时需要十多秒才能渲染完成。开始以为是el-tabs造成页面卡顿...

  • 应用卡顿问题分析

    1.应用卡顿原理分析 卡顿问题的表现启动卡顿:启动白屏和启动动画卡顿运行卡顿:点击相应慢,列表滑动卡,动画卡顿 原...

  • Web Worker

    0. 前言 在一个页面中,会有许多的耗时操作,这些耗时操作会影响界面的流畅度,可能会出现卡顿的情况,那么,什么是耗...

网友评论

    本文标题:什么?页面卡顿?操作慢?

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