《流浪方舟》- 废土世界的冒险之旅
- 作者:admin
- /
- 时间:2022年09月23日
- /
- 浏览:1652 次
- /
- 分类:博观约取
废土、末日、方舟......这些元素的组合会让你想到什么?放心,你身处的既不是核战后的《辐射》地表,也不是蜷缩在《地铁》中的生活。这里是未来的废土世界,欢迎来到《流浪方舟》。
与印象中的废土背景游戏不同,该作给我的第一印象竟然是有些“清新脱俗”,优秀的立绘、丰富的操作角色、听一遍就想跟着哼的背景音乐,都让我对这款游戏产生了极大的兴趣。
随着对游戏的不断深入体验,我仿佛看到了赛场上像素风的小人们在擂台中彼此撞来撞去,赛场下的英雄们聚在酒馆中谈天说地交流着今日的战斗。当然,仅从游戏的实际体验在别人看来说服力不大,但是从性能数据层面的解读或许对我自己来说更具吸引力,也希望让各位玩家从另一个角度了解《流浪方舟》这款游戏。
很荣幸UWA参与了《流浪方舟》的深度优化工作,通过查看UWA对《流浪方舟》优化前后的性能数据对比,可以在FPS子类指标中发现,不同模块的耗时均值出现了不同幅度的下降。其中同步等待耗时均值和物理均值耗时出现了较大的降低,这两项耗时的降低直接影响到的是项目整体卡顿率的下降从而提升FPS的均值,而这也将会是本篇主要向大家展示的两项优化数据。
由于《流浪方舟》的主要玩法是在擂台上不断与对手进行碰撞,所以物理模块成为了本作优化中比较重要的方面。查看CPU耗时均值可以发现,优化前的物理模块耗时在总体耗时中占比最高,均值达到了15.02ms,峰值最高甚至能够超过500ms以上。
通过查看UWA对《流浪方舟》物理模块的性能优化前后对比的数据,可以发现Physics.FetchResults、Physics.ProcessReports、Physics.Simulate、Physics.Processing等函数的CPU耗时均值在优化后都出现了不同幅度的降低,进一步证明了物理模块的优化是显著的。
物理模块耗时的显著降低,呈现在CPU整体耗时中的降低很明显,查看优化后的耗时均值可以发现物理模块耗时占比已经不再“高居首位”,均值已经降低至7.12ms,且几乎未出现异常峰值的情况。
通过查看同步等待耗时WaitForPresent函数,UWA发现该函数存在持续性的高耗时,证明GPU存在着较大压力。针对《流浪方舟》的GPU深度优化,UWA向研发团队提供了更快速准确定位的优化方向,从而有效降低GPU的耗时开销。
在游戏主界面中,GPU的耗时为19.1ms。通过UWA排查发现是使用了Cycles为36-197的Shader进行渲染,该Shader中包含了非常多没有真正产生渲染效果的Feature的计算,因此复杂度非常高。换句话说就是使用了复杂的Shader来绘制较为“简单”的效果,如下图中绘制边框的DrawCall。UWA推荐使用了复杂度仅为7.0的Shader进行绘制,渲染效果是一致的但是GPU开销极大的下降,由原来的4ms下降为0.2ms。
在主线战斗场景界面,UWA发现了一个耗时非常高,但画面效果几乎不明显的DrawCall,或者仅在特殊时间节点才显示,但是却一直在渲染。在优化后,此效果被移除,这个DrawCall耗时13.4ms,如下图所示。
UWA通过排查还发现,有非常多的UI界面出现了UI叠层的问题,如阵容选择页面中除了可见的内容外,GPU依旧在渲染不可见的主界面的内容,而主界面此时是被完全遮挡、不会被玩家所看见的,这也造成了高达21ms的耗时。优化后,GPU只渲染阵容选择界面的内容,耗时降低至6.25ms。
此外,UWA还对一些特效进行了耗时分析,力求大幅度降低各种技能的耗时。例如此技能优化前GPU耗时是18.2ms,优化后GPU耗时可直接降低到2.1ms。我们通过对于Shader的优化,在尽可能保障视觉效果的同时,大幅降低了GPU Cycles的占用,从而达到该特效GPU大幅优化的效果。
最后通过对比查看《流浪方舟》优化前后的整体GPU模块能够发现,在耗时均值、使用率均值、频率均值等方面都出现了明显改善。
处快节奏的生活中,难得一见如《流浪方舟》般能够放松下身心去游玩的休闲游戏,而作为一款同时拥有PVP、PVE等多种模式爽快战斗的手游,优秀的性能势必会让战斗过程更为流畅,也能够成为游戏的加分项。笔者作为一名参与该作的测试,很希望能够看到越来越多的游戏在UWA服务的支持下性能表现得更为出色,获得更多玩家在游戏体验上的认可。同时作为一名热爱优质游戏的玩家,衷心希望《流浪方舟》能够潜心经营,争取在未来能够用实力征服更多人加入这场流浪的冒险之旅!