报告目录:
一、ARPG手游总体性能开销分析
二、ARPG手游CPU模块性能开销分析
三、ARPG手游内存模块性能开销分析
四、ARPG手游资源管理分析
五、UWA对于ARPG手游研发团队的建议
一、ARPG手游总体性能开销分析
我们选择了测评次数最多的四款机型来进行统计,这四款机型分别是红米2、红米Note2、华为6Plus和三星S6。
下面我们就来具体分析这些主流模块的开销情况。
二、ARPG手游CPU模块性能开销分析
1、渲染模块
严重程度:地狱
为了能够更好地反映出各个性能参数的整体使用情况,我们统计了每种性能参数的主体使用范围,其范围区间是[5%~95%],以下数据中P5代表5%,P95代表95%。
2、UI模块
严重程度:地狱
下面我们将分别说明NGUI和UGUI的CPU耗时和堆内存占用情况。
3、逻辑代码
严重程度:噩梦
4、动画模块
严重程度:噩梦
5、粒子模块
严重程度:普通
6、物理模块
严重程度:普通
三、ARPG手游内存模块开销分析
1、总体内存
严重程度:地狱
2、总体堆内存
严重程度:地狱
- 严格关注配置文件的使用,避免一次性加载过大的配置文件而撑大堆内存;
- 不少项目的堆内存增大是由于热更新所致。因此,对于过大的数据Data的使用,建议通过分帧进行,并及时进行GC回收;
- 避免不必要的代码堆内存分配,虽然是老生常谈,但从趋势上可以看出,大多数研发团队仍需加强重视。
项目的内存占用很大一部分来自于资源的使用,下面我们将对项目中主流资源的使用情况进行分析。
3、纹理资源内存
严重程度:地狱
4、网格资源内存
严重程度:噩梦
5、动画资源内存
严重程度:噩梦
6、Shader资源内存
严重程度:噩梦
7、RenderTexture资源内存
严重程度:地狱
8、粒子系统资源内存
严重程度:噩梦
四、ARPG手游资源管理分析
五、UWA 对于ARPG手游研发团队的建议
一、警惕渲染模块和UI模块这两大性能杀手!随着精品化ARPG项目的日益增多,在日后很长一段时间内,这两项依然将是研发团队在性能优化方面的重中之重!
- 渲染方面,Draw Call的控制技术已被越来越多的团队所熟练掌握,并且随着设备的发展,Draw Call的影响将越来越小,反观渲染Triangle数量将逐步成为渲染模块的新的性能瓶颈,越来越大的渲染Triangle量会给GPU、耗电和发热方面带来巨大的压力;
- UI方面,UI网格重建开销在未来相当长的一段时间内仍然是研发团队头痛的问题,UI优化的原则非常简单:动静分离,但真实操作起来则是非常困难。90%项目中的UI性能问题是由于动静元素没有分离导致,但没有任何两个项目的具体原因是一致的。这是UI性能优化方面非常困难的主要原因。
二、逻辑代码方面,Instantiate实例化开销虽然在2017 Q2呈现较为明显的下降趋势,但仍需要研发团队持续对资源管理进行监控。同时,GC开销的上升趋势明显,需要研发团队加强对Mono堆内存的优化意识;
三、在内存优化方面,与MMORPG游戏类似,Mono和RenderTexture内存占用在2017年的上升趋势非常明显,对此,建议研发团队在接下来的项目研发中密切关注这两项的内存使用;
四、在动画模块方面,ARPG游戏的CPU耗时明显高于MMORPG游戏。对此,我们的建议如下:
- 尝试动画片段的精度缩减技术,该技术在UWA Blog和UWA问答上(http://answer.uwa4d.com)都有详细的讲解和代码分享;
- 由于ARPG游戏对于动作表现力的要求很高,因此,相比于Humanoid模式,Generic模式更加适合于ARPG项目,它可以让你的动画表现与3DMax、Maya等制作表现更加一致;
- 随着ARPG中怪物角色的数量持续增加,GPU Instancing技术会受到更多游戏团队的青睐,具体做法可参加UWA Blog相关文章。但同样需要注意的是,研发团队需要控制同屏的渲染面片数。
五、资源加载方面,Resources.Load依然是比较主流的资源加载方式。但UWA建议尽可能尝试通过AssetBundle.Load来加载相关资源。在2017 Q2以后,LoadFromFile(Async)已经成为ARPG研发团队的主流AssetBundle加载方式,对于仍然没有使用该方式的研发团队,建议查看UWA的相关直播信息,并找到对应的性能比较和分析;
六、以上数据是我们对于ARPG手游性能数据的整体研究和趋势分析,旨在从宏观上为大家展现项目中普遍存在的性能瓶颈和研发团队容易忽视的潜在性能问题。但同样需要说明的是,优化是一个“抽丝剥茧”的过程,需要研发团队花费大量的时间和耐心去完成。UWA建议:多做测试,以数据说话,空杯心态,将经验归零。
以上就是UWA发布的2016-2017年ARPG手游性能测评汇总和分析。此次,我们从性能参数上增加了资源加载、资源卸载等数据扩充了报告的完整性,在测评参数上加入了机型、历史数据等方便研发团队能及时进行横向和纵向的比较。我们深信数据是会说话的,总有规律值得我们追溯求实、鉴往知来。同时我们也会不断细化评析的标准、划分,以使得这些数据更有代表性和说服力。
关于UWA
由侑虎科技开发的游戏/VR应用性能优化平台,目前提供 1)性能检测与优化 2)资源检测与分析 3)UWA GOT 三大工具。同时,我们也会为大家开发更省心的功能,希望通过它们可以减少开发者反复测试定位问题的时间,从而将更多的精力集中在项目开发和解决问题中,能为大家项目研发省下的任何一分一秒,都是UWA团队的骄傲。