背景
最近发现部分竞品 gfxinfo 拿不到数据,所以采用 SurfaceFlinger 统计流畅度。
测试场景
在 30 秒的时间内,运行被测试场景,然后同时统计 gfxinfo 和 SurfaceFlinger 的数据,并计算 FPS 和 UI_score。
说明:
- FPS:每秒采集一次数据,所以每秒采集到的帧数,就是 FPS。(没有做补偿算法,有一些>60 的 FPS,暂时忽略这个问题)
- UI_score:int( 每秒 Jank 数 / 每秒帧数) * 100,可以理解为 UI_score 越高越流畅,越低越卡顿。
多次测试,每次两种方式统计的数据差距都很大
(1)FPS 差距不大,说明统计的帧数差不多
(2)UI_score 差距巨大,SurfaceFlinger 搜集数据计算帧耗时非常不准确
(3)场景视频,视觉角度 gfxinfo 统计的准确,而 SurfaceFlinger 数据严重失真
Youku