不管是手机端仍是PC端,画面的流畅度一直被用户视为衡量应用视觉体验的重要标准。用户每每经过主观感受把视觉体验分为两种状态:shell
流畅视觉:行云流水,一鼓作气;canvas
非流畅视觉:“卡顿”、“抖动”、“迟钝感”;浏览器
而对开发者来讲,FPS一般做为衡量应用是否流畅的标准。安全
1、FPS是什么?微信
FPS即Frames per Second(每秒显示的帧数),用于测量显示帧数的度量。帧数为0说明页面处于静止,只要页面动起来,这个帧数就会有变化,而后再趋于静止,页面滚动起来帧数总体呈现“非对称”抛物线走势。架构
能够想到FPS值的大小对画面流畅度的影响,每一帧都是静止的图像,快速连续地显示帧便造成了运动的假象,所以高帧率能够获得更流畅、更逼真的动画。工具
2、何为帧延迟?卡顿如何形成的?性能
帧延迟的高低能够经过帧时间(Frame Time)来断定。咱们参考显示器的60Hz刷新率进行计算,它意味着每秒刷新60帧,每帧大约用时16.7毫秒。画面中每帧生成时间若是与16.7毫秒很接近,那么全程画面的帧数就很稳定,更接近理想的60帧每秒。学习
若是每帧生成时间高于16.7毫秒,也就意味着渲染这一场景所花费的时间比其余帧更多,形成画面跟不上,进而带来显示卡顿。测试
举一个简单的例子,咱们看到的早期动画片其实就是用一张张手绘图片连贯翻页制做而成的。当一张张独立图片切换速度足够快时,咱们的眼睛就会觉得这是连续的动做。反之,当图片切换速度不够快时,就会被人眼看出破绽,相应的视觉体验就是卡顿。
3、如何进行应用帧率测试?
既然帧率的高低影响着用户对应用视觉体验的好坏,那做为开发者该如何进行应用的帧率测试?
华为终端开放实验室选取购物、实用工具、旅游住宿、社交通信、影音娱乐等常见分类中的TOP应用采用如下方法进行FPS测试,测试结果显示,如下TOP应用的FPS都知足安卓绿色联盟帧率不小于55fps的性能标准,可见如下应用开发企业在为用户提供流畅视觉体验方面下足了功夫,给其余应用开发企业树立了良好的榜样,但愿广大开发者一道,为更好的用户视觉体验不断努力!
测试环境:
硬件环境:Pixel 2 XL 4+64G
软件版本:Android 8.0
测试次数:5次取平均值
APP帧率测试标准:不小于55fps;
测试前提条件:手机root,adb shell手机链接正常
非游戏类应用帧率测试方案:
测试范围:
购物类应用手机淘宝、京东、惟品会、网易严选;
实用工具类应用QQ浏览器、360浏览器、UC浏览器、百度;
旅游住宿类应用途牛旅游、飞猪、携程旅行、去哪儿旅行;
社交通信类应用微博、MOMO陌陌、微信、QQ;
影音娱乐类应用搜狐视频、爱奇艺、优酷、腾讯视频;
注意:
实用工具类应用针对“华为终端开放实验室(https://deveco.huawei.com/)”网站首页帧率信息进行统计;
购物、旅游住宿、社交通信、影音娱乐类应用针对首页(跳过登陆以及广告页面后的用户首个可滑动页面)进行帧率信息统计;
按照如下流程执行帧率信息收集和计算过程:
①页面滑动帧率收集:
②页面滑动帧率计算:
③非游戏类应用测试数据展现:
4、如何进行应用帧率优化?
手机的CPU处理速率、屏幕尺寸、内存及显存的大小都影响着APP帧率的大小,这些因素在必定程度上约束着准备数据和数据传到屏幕的时间。再者,GUI软件架构在必定程度上也影响着应用帧率的大小。
在同等机器环境下,除去CPU、屏幕尺寸及系统GUI等固有数据传输耗时,要提高应用FPS就要减小视图渲染的时间。
经过如下几种方式能够有效提高应用FPS:
一、尽可能不要在刷新时作耗时操做,例如准备数据,建立图片,图片变换等,数据和图片都应该在以前就加载到内存中,图片变换用canvas的变换来实现。
二、同一个界面中多个动画重叠出现时,尽可能将动画的刷新过程统一刷新,避免频繁的invalidate,尤为是多个动画有时序上的关系时更应该统一。
三、尽可能使用带有参数的invalidate来刷新,这样能够减小不少运算量。
欢迎有需求的小伙伴使用上述方法进行应用FPS测试,若是您有更好的解决方法与看法,欢迎在文章下方留言交流!后续咱们将针对应用FPS状况进行重点分析,想了解应用FPS不一样的缘由么,想学习更多应用FPS优化的方法么?欢迎持续关注!
目前,华为终端开放实验室已上线FPS测试功能,欢迎广大应用开发者前来使用!
①登陆 DevEco 平台
进入 https://deveco.huawei.com/ ,登陆帐号,选择“测试服务-云测试-性能测试”
②选择机型,点击“当即体验”
③根据要求上传应用 APK,获取帧率测试结果。
若有疑问,可发送邮件至deveco@huawei.com
*本报告最终解释权归华为全部。
DevEco 云测平台已开放能力概览
云测试:
兼容性测试——全自动化验证,保证应用无兼容性死角
稳定性测试——基于控件识别技术的随机遍历测试
性能测试——深刻分析应用性能薄弱点
功耗测试——检测影响手机应用功耗的各项关键指标
安全测试——进行广告拦截、病毒扫描、安全漏洞分析和隐私泄露分析
云调试:
远程真机——华为全机型+谷歌原生真机,7*24小时在线
功能测试:
录制回放——解决应用功能逻辑测试诉求
*以上内容都已面向安卓绿色联盟会员免费开放,可登陆deveco.huawei.com使用体验。