chrome-performance页面性能分析使用教程

摘要:
在DevTools中,单击性能选项卡。确保选中“屏幕截图”复选框。单击CaptureSettings()按钮。DevTools将显示许多设置以模拟各种条件。对于模拟CPU,选择2x减速。然后Devtools将开始模拟两倍的低速CPU。在DevTools中,单击记录。此时,Devtools开始记录各种性能指标,以便快速操作。单击停止,处理数据,然后显示性能报告。2.分析报告FPS是用于分析动画的主要性能指标。这意味着一秒钟内有60次重新渲染,每次重新渲染的时间不能超过16.66毫秒。

一、模拟移动设备的CPU

移动设备的CPU一般比台式机和笔记本弱很多。当你想分析页面的时候,可以用CPU控制器(CPU Throttling)来模拟移动端设备CPU。

  1. 在DevTools中,点击 Performance 的 tab。
  2. 确保 Screenshots checkbox 被选中
  3. 点击 Capture Settings(⚙️)按钮,DevTools会展示很多设置,来模拟各种状况
  4. 对于模拟CPU,选择2x slowdown,于是Devtools就开始模拟两倍低速CPUchrome-performance页面性能分析使用教程第1张
  5. 在DevTools中,点击 Record 。这时候Devtools就开始录制各种性能指标
  6. 进行快速操作,点击stop,处理数据,然后显示性能报告

二、分析报告

FPS(frames per second)是用来分析动画的一个主要性能指标。让页面效果能够达到>=60fps(帧)/s的刷新频率以避免出现卡顿。

为什么是60fps?
我们的目标是保证页面要有高于每秒60fps(帧)的刷新频率,这和目前大多数显示器的刷新率相吻合(60Hz)。如果网页动画能够做到每秒60帧,就会跟显示器同步刷新,达到最佳的视觉效果。这意味着,一秒之内进行60次重新渲染,每次重新渲染的时间不能超过16.66毫秒。

chrome-performance页面性能分析使用教程第2张

蓝色(Loading):网络通信和HTML解析
黄色(Scripting):JavaScript执行
紫色(Rendering):样式计算和布局,即重排
绿色(Painting):重绘
灰色(other):其它事件花费的时间
白色(Idle):空闲时间

Loading事件

事件描述
Parse HTML浏览器执行HTML解析
Finish Loading网络请求完毕事件
Receive Data请求的响应数据到达事件,如果响应数据很大(拆包),可能会多次触发该事件
Receive Response响应头报文到达时触发
Send Request发送网络请求时触发

Scripting事件

事件描述
Animation Frame Fired一个定义好的动画帧发生并开始回调处理时触发
Cancel Animation Frame取消一个动画帧时触发
GC Event垃圾回收时触发
DOMContentLoaded当页面中的DOM内容加载并解析完毕时触发
Evaluate ScriptA script was evaluated.
Eventjs事件
Function Call只有当浏览器进入到js引擎中时触发
Install Timer创建计时器(调用setTimeout()和setInterval())时触发
Request Animation FrameA requestAnimationFrame() call scheduled a new frame
Remove Timer当清除一个计时器时触发
Time调用console.time()触发
Time End调用console.timeEnd()触发
Timer Fired定时器激活回调后触发
XHR Ready State Change当一个异步请求为就绪状态后触发
XHR Load当一个异步请求完成加载后触发

Rendering事件

事件描述
Invalidate layout当DOM更改导致页面布局失效时触发
Layout页面布局计算执行时触发
Recalculate styleChrome重新计算元素样式时触发
Scroll内嵌的视窗滚动时触发

Painting事件

事件描述
Composite LayersChrome的渲染引擎完成图片层合并时触发
Image Decode一个图片资源完成解码后触发
Image Resize一个图片被修改尺寸后触发
Paint合并后的层被绘制到对应显示区域后触发

免责声明:文章转载自《chrome-performance页面性能分析使用教程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Luarocks 安装艰难过程异常(1)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

matplotlib的学习16-animation动画

from matplotlib import pyplot as plt from matplotlib import animation import numpy as np fig, ax = plt.subplots() x = np.arange(0, 2*np.pi, 0.01) line, = ax.plot(x, np.sin(x)) #...

微信小程序创建自定义select组件(内含组件与父页面的交互流程)

 闲来无事将制作的select自定义组件制作贴出来,供大家借鉴,也可以为了以后的使用做个备注。 select是我自定义的组件,这个一定要记住,它是自定义组件! 以下书写select组件代码 其中的wxml如下 <view class="select_wrap"> <!-- 左边文字 --> <view class=...

CSS3常见动画

一、是什么 CSS动画(CSS Animations)是为层叠样式表建议的允许可扩展标记语言(XML)元素使用CSS的动画的模块 即指元素从一种样式逐渐过渡为另一种样式的过程 常见的动画效果有很多,如平移、旋转、缩放等等,复杂动画则是多个简单动画的组合 css实现动画的方式,有如下几种: transition 实现渐变动画 transform 转变动画...

tabBarItem动画

 1.有时,我们需要为tabBarItem设置一些动画。在网上查了半天,没有结果。自己写了一个简单的动画 代码如下: - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewControll...

IOS--CALayer实现,界限、透明度、位置、旋转、缩放组合动画(转)

首先引入框架:QuartzCore.framework在头文件声明:CALayer *logoLayer{//界限CABasicAnimation *boundsAnimation = [CABasicAnimationanimationWithKeyPath:@"bounds"];boundsAnimation.fromValue = [NSValue ...

css3 animation 属性众妙

转自:凹凸实验室(https://aotu.io/notes/2016/11/28/css3-animation-properties/) 本文不会详细介绍每个 css3 animation 属性(需要了解的同学可先移步 MDN),而是结合实际的开发经验,介绍 css3 animation 属性的一些使用场景及技巧。 1. animation-delay...