APP性能测试(1):FPS测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APP性能测试(1):FPS测试相关的知识,希望对你有一定的参考价值。

参考技术A adb 计算帧率: https://zhuanlan.zhihu.com/p/67056913
adb 计算帧率: https://www.huaweicloud.com/articles/12566219.html

帧率:FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。30FPS是一般录像的常用帧数,30FPS在快速动作的时候会感觉不流畅。60FPS是一般游戏的常用帧数。

绝大部分时间两者(androidios)都能保持60FPS左右的满帧率。但都会有偶尔的掉帧。并且Android上要比IOS上严重很多。掉帧导致卡顿,用户必然会感觉到掉帧那一刻的不流畅。

FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅一般来说,Android设备的屏幕刷新率为 60帧/s ,要保持画面流畅不卡顿,要求每一帧的时间不超过 1000/60=16.6ms ,这就是16ms的黄金准则,如果中间的某些帧的渲染时间超过16ms,就会导致这段时间的画面发生了跳帧,因此原本流畅的画面变发生了卡顿。

FPS 通常作为衡量应用是否流畅的标准。

FPS 即 Frames per Second(每秒显示的帧数),用于测量显示帧数的度量。帧数为 0 说明页面处于静止,只要页面动起来,这个帧数就会有变化,然后再趋于静止,页面滚动起来帧数整体呈现 “非对称” 抛物线走势。接下来看一张图直观感受一下:

通过上图我们能看出 FPS 值的大小对画面流畅度的影响,每一帧都是静止的图像,快速连续地显示帧便形成了运动的假象,因此高帧率可以得到更流畅、更逼真的动画。

帧延迟的高低可以通过帧时间(Frame Time)来判定。我们参考显示器的 60Hz 刷新率进行计算,它意味着每秒刷新 60 帧,每帧大约用时 16.7 毫秒。画面中每帧生成时间如果与 16.7 毫秒很接近,那么全程画面的帧数就很稳定,更接近理想的 60 帧每秒。

如果每帧生成时间高于 16.7 毫秒,也就意味着渲染这一场景所花费的时间比其他帧更多,造成画面跟不上,进而带来显示卡顿。
手机的 CPU 处理速率、屏幕尺寸、内存及显存的大小都影响着 APP 帧率的大小,这些因素在一定程度上约束着准备数据和数据传到屏幕的时间。再者,GUI 软件架构在一定程度上也影响着应用帧率的大小。

在同等机器环境下,除去 CPU、屏幕尺寸及系统 GUI 等固有数据传输耗时,要提升应用 FPS 就要减少视图渲染的时间。

1、尽量不要在刷新时做耗时操作,例如准备数据,创建图片,图片变换等,数据和图片都应该在之前就加载到内存中,图片变换用 canvas 的变换来实现。

2、同一个界面中多个动画重叠出现时,尽量将动画的刷新过程统一刷新,避免频繁的 invalidate,尤其是多个动画有时序上的关系时更应该统一。

3、尽量使用带有参数的 invalidate 来刷新,这样可以减少很多运算量。

APP也需要关注FPS、Jank及卡顿率。只是需要区分使用场景,如:

只需关注FPS,理论FPS应该为0,否则,说明有冗余刷新,容易引起手机发热及耗电。

只需关注FPS,FPS处于合适值即可,无需高频刷新。

需要关注FPS、Jank及卡顿率。手机交互灵敏度就是来源于此,Android系统才出黄油计划Jank。一般滑动状态下,帧率越高越好,Jank越小越好。

需要关注FPS、Jank及卡顿率,视频卡顿直接影响用户。视频一般帧率18-24帧,Jank=0。比如微信播放视频、视频播放器等。

注:
引用来源

APP测试入门之性能测试

一、APP性能测试点主要是这3个大的维度:响应时间、启动性能、接口性能,以下是各维度的测试点。


二、响应时间测试点

1.APP启动:首次安装启动、冷启动、暖启动、热启动

2.APP交互:事件响应、内部加载速度、首屏渲染、帧率fps、静默CPU占用率、内存泄漏、流量、过度渲染、耗电量等

3.接口性能:DNS加载时间、http/https请求次数、download时间

4.H5性能测:cache、资源加载时间等


三、启动性能测试点

1.查看启动的时间

2.首次安装启动:首次安装会耗费较多的时间初始化,比如缓存数据、下载资源等

3.冷启动:进程不存在

4.暖启动:进程存在,界面不存在

5.首屏启动:第一屏加载完整


四、接口性能测试点:单个接口数据返回的时间


五、iOS性能查看工具:可以通过XCODE工具查看内存消耗、CPU、GPU等


六、Android性能查看工具:可以通过android studio工具的DDMS查看


以上是关于APP性能测试(1):FPS测试的主要内容,如果未能解决你的问题,请参考以下文章

APP测试入门之性能测试

Android App性能测试

面试测试总结

app常见性能测试点

APP性能测试—帧率

Android性能测试(内存、cpu、fps、流量、GPU、电量)——adb篇