• 《代号:魂之刃2》- 身处黑暗的勇者游戏


    2019年8月,天魂网络的一款名为《巨龙城堡》的手游横空出世。作为“魂之刃”系列的第一款产品,同时也是市面上少有的魂系动作游戏,其一经推出便收获大量玩家的关注。有了“一代魂之刃”的经验积累,《魂之刃2》项目很快就在众多玩家的呼声中正式确立。而随着前几日魂之刃系列的续作《代号:魂之刃2》在各大游戏平台上的限量删档测试结束,当各位玩家回味这次测试之时,UWA也想借此机会从性能表现的角度聊聊这款备受关注的游戏。

     虽说魂系游戏的玩家数量偏少,但该类型玩家群体的游戏忠实度却是最高的。因此,如何在移动设备上更为流畅地运行动作类游戏,同时又能保留游戏最核心的硬核玩法,成为了《代号:魂之刃2》当下所需要面对的主要问题。在上线测试后不久,收到了大量新老玩家的反馈,有批评也有赞扬,研发团队在这其中认真汲取各种建设性意见,并在每次的测试中进行不同的改进,以达到更适合玩家游玩体验的水平。

    很有幸这次UWA能与天魂网络合作,为这款游戏提供了UWA深度优化服务,希望本文能够从测试工程师这个参与者的角度,来描述这款游戏的优化历程,向玩家朋友们展示这款游戏的不断进步。

    通过UWA对《代号:魂之刃2》的两次相同机型、间隔一段时间的测试数据来看,其在两次测试间进行了较大优化,最直观的感受就是FPS和卡顿的趋好。下图中的Jank均值可以理解为平均每分钟内的卡顿次数,可以发现优化前的Jank每分钟高达63.46次,与优化后的每分钟13.53次相比,提升巨大,这也意味着玩家在实际体验中对卡顿的感觉会大幅减少,能够拥有更好的游戏体验。

    从上图中也能明显发现大于40ms帧数的占比也有明显下降,该指数说明的是在游戏运行过程中,CPU耗时大于40ms的帧数占总帧数的百分比,占比越低则游戏运行更流畅。虽然FPS均值在数值上的提升不是那么明显,但是在总体帧率的运行中还是能够发现,优化后的较低帧数的场景大多数为非战斗场景,对游戏主要战斗场景不会产生明显影响。

    通过对比优化前后的总体测试帧率可以发现,优化前的游戏帧率波动幅度大、全程较难稳定在30帧;优化后的帧率波动大幅度减小、能够较长时间稳定在43帧左右,帧数和卡顿的优化无疑是《代号:魂之刃2》的巨大提升。而从玩家在游戏社区内的评论反馈来看,优化提升的效果是明显的,很多玩家都对优化后的结果表示肯定。

    除了直观感受层面的体验提升,在更多细节层面,项目组也花了不少心思去优化,以达到更优的结果。对比优化前后的CPU耗时均值可以发现,逻辑代码、渲染耗时都有一定程度的优化。通过UWA的测评结果来看,逻辑代码耗时均值的降低是CPU总体耗时降低的主要原因,直观的表现就是游戏运行更流畅了。

    此外通过查看渲染模块的耗时,可以发现该项耗时降低主要是WaitForPresent.CPU的耗时均值从7.27ms大幅降低至1.47ms(该函数是开启了多线程渲染之后的CPU等待GPU的耗时统计)。GPU耗时过高可能会引起卡顿、发热等直观层面的诸多问题,当此函数均值较低时,通常说明GPU的渲染压力较小。

    转到GPU模块查看相关性能可以发现,GPU耗时均值从18.82ms降低到12.41ms,进一步证明GPU的压力变小,说明项目组努力优化的方向正确,并具有一定的成效。

    关于GPU的优化,UWA给出的建议主要是针对场景渲染面、特效Shader复杂度以及Overdraw等方面。从优化效果看,在对画质影响不明显的情况下,部分画面的Triangle可以从100W面降低到50W面。

    在Shader复杂度方面,UWA通过深度优化来分析高GPU压力Shader的相关代码指令,根据不同Keyword对于GPU压力以及画面效果的影响,帮助团队更好地权衡性能与表现。UWA经过两周与项目组的深入沟通和尝试后,游戏中大部分特效可以在效果几乎无损的情况下降低其在移动设备上的GPU性能压力,即大幅降低了同等视觉效果下的GPU ALU和带宽压力,从而达到GPU压力和设备发热大幅降低的效果。

    此外,对比优化前后的GC调用频率可以发现,优化后的GC次数大幅度降低,这也表示GC触发得越少,反映在直观感受上即运行时的卡顿次数越少。

    敢于静下心来深耕魂系游戏的开发,在这个快节奏的互联网时代属实是一件难得可贵的事情。研发团队的积极优化与运营团队的及时响应,代表了《代号:魂之刃2》团队对游戏的严谨态度,同时这也是团队凝聚力的一种表现。在这“版号寒冬”的大环境中,加之来自市场其他游戏的影响,经历过多轮测试但依旧没有正式上线,这一举动遭到不少玩家的不解。但是团队依旧顶住了所有压力,细心、耐心打磨游戏的每一处细节,只为了正式上线时能够交出一份更好的答卷,做出更精品、对得起玩家期待的游戏。

    或许在一些重度主机游戏玩家看来,这款游戏还没能达到他们的高标准高要求。但在小编看来,研发团队正在用他们的热情和真心去浇灌他们所热爱的一切。真心希望《代号:魂之刃2》团队能够继续坚持自己最初的梦想,在这场属于勇者的游戏中取得最终的胜利,早日将优质稳定的游戏呈现给玩家!

  • 相关阅读:
    【Flink】 FlinkCDC读取Mysql( DataStream 方式)(带完整源码,直接可使用)
    基于ArcGIS进行空间方向性研究
    经历了源码的痛苦,掌握DRF的核心序列化器
    JMeter + InfluxDB2
    测试人即用宝典,全网最全的功能测试点,有这一篇完全足够......
    MySQL 从入门到实战,看这篇就够了
    yolov6训练完模型如何得到每个类别的ap值
    基于Qt的目录统计QDirStat
    terraform简单的开始-简单分析一下内容
    HTML中的文本标签:微观排版的艺术
  • 原文地址:https://blog.csdn.net/UWA4D/article/details/126760262