一、度量指标基本概念
1.1 基本概念
著名的"16ms"原则:
我们通常会提到60fps(Frame Per Second) 与 16ms
60fps:人眼与大脑之间的写作无法感知超过60fps的画面更新
16ms:因为Android设定的刷新频率是60fps,也就是60帧每秒,即16ms =1000/60Hz
Android 系统每隔16ms会发出VSYN信号,重绘展示给用户的界面
FPS
FPS是图像领域的定义,是指画面每秒传输的帧数,通俗来讲就是动画或者视频的画面数。FPS是测量用于保存、动态视频的信息数量。
测量方法:测量应用的帧率FPS:adb shell dumpsys gfxinfo
丢帧SF:跳过的帧数。如下图所示
FPS的缺陷:如果页面本身没有刷新展示的需求,FPS就会很小,比如一个静态页面,FPS可能是0,这是正常现象,并不代表当前页面卡顿。但从FPS的指标来说,会误认为该页卡顿。
流畅度SM(SMoothness)
在VSync机制中,1s内Loop运行的次数,更加能说明当前APP的流畅度。如果没有绘制事件,也会运行一个这样的Loop;
SM=帧率(60)*(单位时长的总帧数