首页 > 代码库 > Android流畅度之帧率

Android流畅度之帧率

背景:app改版,人为感受卡顿,需要客观数据支撑观点。故,搜索各种性能指标,并理解之。(这是一篇摘要文......)

首先,明确人为感受的性能不好属于下面哪种:

1. 响应时间,界面跳转后响应时间;

2. 流畅度,界面操作时或动画展示的效果;

而流畅度的衡量指标又有几种:

1. 帧率fps(Frames Per Second,每秒钟填充图像的帧率)

2. 丢帧SF(Skipped frame)

3. 流畅度SM(SMoothness)(腾讯分享)

其中得到最广泛使用的还是帧率。以下详细说明之

 

回顾本源:Android如何绘制UI?

参考:显示性能指标、性能评测调优

帧率值在什么范围可认定为流畅?

理想状态每秒展示60帧时人眼感受不到卡顿,1000ms/60帧,即每帧绘制时间不应超过16.67ms。

帧率如何计算?

  • adb shell dumpsys gfxinfo <PACKAGE_NAME> 参考:Testing Display Performance
  • adb shell dumpsys SurfaceFlinger --latency <window_activity> 参考:Android性能测试之fps获取

 二者的区别是什么?

参考:FPS计算方法比较

 

实测补充说明:

  • 前提需要打开设置中的GPU绘制选项
  • 只记录执行adb命令最近的128帧信息
  • 记录过程冷启动(杀进程),则之前的数据丢失

 

Android流畅度之帧率