当前位置: 首页 > news >正文

使用 UWA Gears 测试小游戏性能

UWA Gears 是UWA最新发布的无SDK性能分析工具。针对移动平台,提供了实时监测和截帧分析功能,帮助您精准定位性能热点,提升应用的整体表现。

随着小游戏的规模和用户量持续增长,玩家对于小游戏的性能要求也越来越高。为了能够给玩家带来流畅的体验,留住更多的玩家,性能问题的优化也是迫在眉睫。本文将详细介绍使用Gears-Realtime模式进行小游戏测试的流程,以及Android现网的性能评测标准。

评测标准

从小游戏的运行周期来看,主要是在启动和运行两个阶段容易产生性能问题。
启动阶段:启动时长,该数据将显著影响用户打开留存率
运行阶段:内存峰值、内存Crash率、CPU占用、流畅度、网络等
兼容性问题:包括JS异常、黑屏等严重问题

根据微信官方文档提供的现网真实玩家上报的性能数据,对Android现网性能评测标准进行了汇总,具体图表如下。

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问答 | 游戏开发者互动问答社区 | 侑虎科技


http://www.mrgr.cn/news/34998.html

相关文章:

  • 研究生如何远控实验室电脑?远程办公功能使用教程
  • JS爬虫实战之TikTok_Shop验证码
  • Hadoop学习--第一章 Hello大数据分布式
  • VUE3+Three.js搭建教程
  • 设计模式之责任链模式(Chain Of Responsibility)
  • 自动化爬虫DrissionPage
  • 828华为云征文 | 在华为云上通过Docker容器部署Elasticsearch并进行性能评测
  • vue2 实现简易版的模糊查询功能
  • 1.1 HuggingFists简介(二)
  • 华为云长江鲲鹏深度赋能,大势智慧稳居“实景三维+AI”领域排头兵
  • 解决银河麒麟桌面操作系统V10SP1 SSH连接“connection reset by ip地址 port 22”问题
  • Qt 每日面试题 -3
  • Linux:文件描述符详解
  • RocketMQ简介与应用场景
  • x-cmd pkg | hurl - 强力的 HTTP 请求测试工具,让 API 测试更加简洁和高效
  • PCIe configuration 包分析
  • 【深度学习|地学应用】glacier——让我们一起看看深度学习在冰川研究中的应用是怎么样的呢?
  • np.pad实现零填充
  • Python知识点:如何使用Python与Java进行互操作(Jython)
  • js中正则表达式中【exec】用法深度解读
  • 云服务器(华为云)安装java环境。
  • 使用Adobe XD进行制作SVG字体
  • vulnhub(13):Digitalworld.local JOY(ftp 的未授权文件读写漏洞、文件覆盖提权)
  • LeetCode题练习与总结:二叉树的最近公共祖先--236
  • Miniconda 安装教程
  • 【算法业务】基于Multi-Armed Bandits的个性化push文案自动优选算法实践