APP性能测试(1):FPS测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APP性能测试(1):FPS测试相关的知识,希望对你有一定的参考价值。
参考技术A adb 计算帧率: https://zhuanlan.zhihu.com/p/67056913adb 计算帧率: https://www.huaweicloud.com/articles/12566219.html
帧率:FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。30FPS是一般录像的常用帧数,30FPS在快速动作的时候会感觉不流畅。60FPS是一般游戏的常用帧数。
绝大部分时间两者(android和ios)都能保持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测试的主要内容,如果未能解决你的问题,请参考以下文章