书接上文 Android 性能测试初探(三)
自从 cpu 及内存后,GPU 这个词对于 PC 性能测试者也不陌生了,什么 3Dmax,安兔兔之类的第三方软件让 GPU 在移动端性能测试领域都知晓,但对于应用的 GPU 该如何来测试呢,我们先引入几个名词:
过度绘制是指界面显示的 activity 套接了多层而导致。帧率是指屏幕刷新率。帧方差是指屏幕刷新帧间隔方差。
对于 GPU 的测试主要包括以下几个测试子项
对于过度绘制的测试主要通过人工进行测试,通过打开开发者选项中的 显示 GPU 过度绘制 来进行测试(PS:只有 android4.2 及以上的版本才具备此功能),验收的标准为:
对于屏幕滑动帧速率主要有 2 种方法。
先说说软件测试的方法:
1.手机端需打开开发者选项中的 启用跟踪 后勾选 Graphics 和 View
2.启动 SDK 工具 Systrace 插件,勾选被测应用,点击 Systrace 插件,在弹出的对话框中设置持续抓取时间,在 trace taps 下面勾选 gfx 及 view 选项,
3.人滑动界面可以通过节拍来进行滑动或者扫动,帧率数据会保存到默认路径下,默认名称为 trace.html
4.将 trace.html 文件拷贝到 linux 系统下 通过命令进行转换,生成 trace.csv 文件
grep 'postFramebuffer' trace.html | sed -e 's/.*]\W*//g' -e 's/:.*$//g' -e 's/\.//g' > trace.csv
5.用 excel 打开文件计算得到帧率
接下来我们说说硬件的方法,这里需要引入高速相机,打开高速相机,开启摄像模式,录制人滑动或者扫动被测应用的视频,再通过人工或者程序数帧的方法对结果进行计算得到帧率
对于屏幕滑动平滑度的测试,方法如同帧率测试,唯一的差异就是最后的结果计算公式的差异
GPU 的测试目前业界使用的均为硬件来进行,软件测试的数据相较硬件差异较大,对于帧率及帧方差的测试标准而言,需对待不同机型设定不同的标准
好了,对于 GPU 方面的测试介绍到此,相信大家对于这块不会陌生了:)
预知下文,请听下回分解