今天的案例分享来自一款1500人的招募测试手游,其玩法中存在非常多的独立关卡场景,玩法丰富、随机性高,研发阶段测试用例可能难以覆盖玩家的操作行为。那让我们来了解一下UWA GPM 2.0产品是否可以协助团队,通过玩家端数据归因出性能问题的瓶颈。

关于GPM 2.0

GPM 2.0 是一款专为上线或测试阶段的游戏项目打造的高效性能监测工具。它不仅深入捕捉宏观性能数据,还通过其独特的性能无损截图功能,让开发者在不影响玩家体验的前提下,全面掌握玩家运行时的关键细节,从多个维度优化游戏的性能表现,提升整体用户体验。

总览

按照周期内各场景下的异常发生次数,得出其中性能表现较差的5个场景。将他们的FPS均值、FPS抖动、FPS低帧、Jank卡顿、帧时间>100ms、场景进入次数、场景加载时间、PSS内存均值、平均电流、平均功耗、耗电量、CPU温度、GPU温度、电池温度的参数 数据下载后整理可得如下汇总。可见有5类指标异常值较多,集中在PSS内存均值和功耗方面的问题,另外在部分场景下也存在有少量的Jank卡顿问题。

‍‍‍‍


PSS内存

通常在此类PSS内存偏高的项目中,我们能够在报告下发现一些比较具有代表性的PSS内存走势。例如:当经过游戏中的某个场景后,PSS内存开始线性增长;或者当玩家打开某些UI后PSS内存突然暴涨了一节。 在该项目中,我们就在多份Session报告中发现了如下的PSS内存走势。玩家在3小时以上的游戏过程中进行了非常频繁的场景切换,但是游戏应用的PSS内存并没有回收,而是出现了随着游戏的进行越涨越高的趋势。



虚线为场景分割线 ‍ ‍ ‍

结合报告中的显存数据我们可以看到,PSS内存曲线呈现出来的走势与显存数据的走势基本保持一致,根据经验,UWA怀疑此处疑似发生了一些PSS内存泄漏的情况。另外,在该报告的第260s和第6300s左右都出现了一些较大幅度的PSS内存暴涨,差值在300MB~500MB不等,且后续并没有发生回落。因此可能是在部分场景下存在一些疑似缓存过度的情况,也都是需要项目团队重点注意的位置。


我们还统计了玩家设备上PSS内存过高情况的占比,在「异常Session筛查」模块下我们统计了“PSS≥2000MB的Session数/总Session数”,发现有超过30%的游戏Session中的PSS内存都达到了2GB以上。根据UWA经验,2GB以上的PSS内存不仅在4GB RAM的设备上会有较高的OOM闪退风险之外,即使在一些大内存设备上也会有加大游戏闪退崩溃的可能性,因此通常会建议项目组尤为注意。


功耗

UWA在多个场景下通过「异常场景筛查」功能中的玩家画面截帧来协助项目团队尝试发现一些高压力场景。



在帧率相对稳定的主场景异常报告中,我们经常可以看到当玩家打开一些诸如“角色”、“背包”等UI界面的时候,功耗会产生一些比较明显的峰值。这很有可能是当玩家打开UI时,主场景相机并没有被关闭而是被叠在UI相机下方,从而造成了不必要的开销。

而在压力更大的大地图场景中,通过玩家画面截帧我们可以看到当玩家打开一些UI时也会产生一个较高的功耗峰值,另外当玩家角色身处一个较为复杂的大地图场景中时,功耗也会产生一些相应的增长,在部分Session中甚至达到了12000mW,此处的高功耗导致了后面一段时间CPU的过热降频,从而最终导致了FPS的下降,影响到玩家的游戏体验。



Jank卡顿和FPS

UWA结合项目相应场景下的异常报告,通过FPS曲线上的异常点标记和玩家画面截帧把较容易产生Jank卡顿的界面进行了归纳总结,主要有以下几种玩家行为。

1. 进入角色展示页面;

2. 返回主页面;

3. 出现弹窗UI时(获取道具、弹窗二次确认等);

4. 抽卡;

5. 七天登录。


关于如何更好分析卡顿问题,我们将在下一期为大家进行专题讲解,以便研发团队更高效地定位造成Jank卡顿的原因。大家可以期待一下哦!

随机问题

GPM 2.0的截帧功能还让研发团队有了意外的收获。 截帧信息展示出玩家端的色彩表现方面的异常,需要及时修复。


抽卡时UI显示异常 ‍ ‍ ‍ ‍ ‍


背景出现红色马赛克样格纹

本期案例的研发团队在对外测试的周期内,通过GPM 2.0直接从真实玩家们游戏的过程中获取到了第一手的性能数据。 UWA相信,对于任何一个团队而言,来自真实玩家们的精准数据永远都是珍贵且有意义的,也希望在今后可以帮助更多团队收获有价值、有意义的线上性能数据。


如果您的项目也希望体验GPM 2.0的强大功能,欢迎随时与UWA取得联系。我们将为您提供免费试用机会,并在试用期间全程支持服务搭建、数据分析与反馈,确保您能够充分体验GPM 2.0带来的价值。

联系UWA:

邮件:sales@uwa4d.com

微信号:17502188376

ad1 webp
ad2 webp
ad1 webp
ad2 webp