UWA Gears 是UWA最新发布的无SDK性能分析工具。针对移动平台,提供了实时监测和截帧分析功能,帮助您精准定位性能热点,提升应用的整体表现。
随着小游戏的规模和用户量持续增长,玩家对于小游戏的性能要求也越来越高。为了能够给玩家带来流畅的体验,留住更多的玩家,性能问题的优化也是迫在眉睫。本文将详细介绍使用Gears-Realtime模式进行小游戏测试的流程,以及Android现网的性能评测标准。
评测标准
从小游戏的运行周期来看,主要是在启动和运行两个阶段容易产生性能问题。
启动阶段:启动时长,该数据将显著影响用户打开留存率
运行阶段:内存峰值、内存Crash率、CPU占用、流畅度、网络等
兼容性问题:包括JS异常、黑屏等严重问题
根据微信官方文档提供的现网真实玩家上报的性能数据,对Android现网性能评测标准进行了汇总,具体图表如下。
性能测试方法
- 启动性能:采用录屏分帧方法获取,取10次测试平均值
- 运行性能:完成游戏主流程对局5~10min, 记录性能数据并取平均值,每种机型测试3组数据再取平均值,内存峰值取最大值
注意: 每次测试均要尽可能保证测试用例的一致性。
获取性能测试数据流程
- 确定小游戏的进程pid和进程名
打开小游戏后,使用命令“adb shell dumpsys activity top | findstr ACTIVITY” 获取小游戏的进程pid。
使用“adb shell ps pid”命令获取小程序的进程名。
- 获取性能测试数据
在Realtime模式中,使用“选择进程”的方式选择小游戏对应的pid和进程名的选项,进行性能数据的采集。
分析性能数据
- 启动阶段
启动耗时微信推荐使用的是“采用录屏分帧方法获取,取10次测试平均值”,我们可以在Realtime模式左侧的参数面板中勾选“Screenshot(设备截屏)”的参数,在小游戏测试的过程中截取游戏画面,轻松获取耗时信息。
从上图中获取的信息来看,在0:06启动小游戏,游戏加载完成时间为0:13~0:15之间,由此得出本次的启动耗时为7000~9000ms。
需要注意的是后续启动,需要使用冷启动来启动小游戏,冷启动指的是小游戏第一次打开或者是销毁后再次打开,即在后台中清理掉小游戏再进行启动。
第二次是在0:06启动小游戏,在0:12时小游戏已经加载完成进入主界面,所以本次的启动耗时为:6000ms。如此重复十次,然后计算出启动耗时的均值,依据计算出的均值再去评测标准的表格中去确定小游戏的性能情况。
注意:如需清除缓存,可在微信的“我”-“设置”-“通用”-“存储空间”-“缓存”中清除掉小程序和游戏的缓存即可。
- 运行阶段
小游戏运行阶段的性能测试,我们需要完成游戏主流程对局5~10min,记录其平均值,每种机型测试3组数据再取平均值,内存峰值取最大值。
在Realtime模式中,我们可以直接框选性能曲线中游戏主流程的区域,便可直接获取该区间内的均值、最大值等数据。
该阶段我们以帧率和PSS Total两个参数为例,每一次的测试数据截图便不做展示,整理后的测试数据见下表。
根据表格的测试数据来看,FPS的均值为27.94帧/秒,PSS Total的最大值为975MB。依据计算出的数据,我们可以对照评测标准的表格来确定小游戏运行阶段的性能情况,并进行针对性的优化。
希望这篇文章能够帮助大家快速上手使用Gears-Realtime模式测试小游戏性能,高效定位性能问题。
如果您在使用过程中遇到任何问题,可以通过私信找到我们,或者前往问答社区进行提问,我们将竭诚为您提供支持。
问答社区链接:UWA问答 | 游戏开发者互动问答社区 | 侑虎科技