在之前发布过《MMO移动游戏性能分析报告:渲染、UI、逻辑代码和内存》,近日,侑虎科技对提交测试(登陆www.uwa4d.com)的所有ARPG手游进行了客观的分析和汇总,并将其具有属性特征的几大性能模块数据在此分享,希望能给相关行业的研发人员一些更为明确和建设性的意见。

  总体性能


1341201h4ao054vwvowww0.png
  (1)iOS设备的CPU性能普遍高于Android设备;

  (2)Android设备上项目性能普遍偏低,CPU达标(超过33ms帧数比例<10%)比例仅为38.6%。

134120q5qglzq6flcfsqc0.png
  相较于MMORPG游戏,ARPG游戏的渲染和UI模块比重明显下降,自身逻辑代码的开销基本一致,加载模块比重明显上升。这是出于以下原因:

  (1)相对于MMORPG来说,ARPG游戏的场景一般较小,UI界面相对简单,因此,渲染模块和UI模块的压力要小于MMORPG游戏;

  (2)ARPG游戏重点突出打斗的丰富性和爽快感,所以ARPG游戏研发团队会为角色创建非常复杂的动画状态机,并且为了保证游戏副本打斗的流畅性,研发团队更倾向于在场景切换时将大量资源一次性载入,因此,ARPG游戏的自身逻辑代码和加载模块的压力更高。

  下面我们就来具体分析下这些主流模块的开销情况。

  主流模块性能

  一、渲染模块

  严重程度:噩梦

  Draw Call的主体使用范围为32~166,峰值平均为209;

  渲染三角面片的峰值集中在68.8K~268K,峰值平均为90.2K面。

  UWA推荐:渲染三角面片峰值< 100K,目前达标比例: 55.2%。

13412130tc7y8s09hs7t8f.png
  不透明物体的渲染耗时平均为2.9ms,半透明物体的渲染耗时平均为4.6ms。

  54.4%的项目使用了相机后处理特效,其具体分布如下:

134122trvgql3iqwle7tq4.png
  (1)ARPG游戏无论是在Draw Call上还是在渲染的三角形面片数量上,均小于MMO游戏;

  (2)但ARPG游戏的场景渲染三角形面片数量依然较高,仅55.2%的游戏能够将场景的渲染三角形面片数控制在10w以下。

  二、加载模块


  严重程度:地狱


13412245ks88pwnkzwpwg9.png
  (1)GC触发频率很高,是造成卡顿的主要原因之一;

  (2)90%以上的游戏团队需要对GC的调用进行进一步规划,对代码的堆内存分配进行大力优化。

13412397itp5rlyrdilsrx.png
  (1)Instantiate实例化操作平均每次调用的CPU耗时主要分布在: 2.6~44.1 ms,均值为9.4ms,每1万帧总调用次数主要分布在: 139~1941 次;

  (2)Instantiate的频繁实例化是大多数研发团队非常容易忽视的问题。

134123gpcag6p7gc671m61.png
  Log输出操作平均每次调用的CPU耗时主要分布在: 3.0~33.1 ms,均值为9.8ms。

134124fej7eqej8imdqd8d.png
  (1)Shader解析操作平均每次调用的CPU耗时主要分布在: 4.3~146.8 ms,均值为25.1ms;

  (2)Shader解析时间较高,且大多数情况是相同Shader的重复开销,值得研发团队密切关注。

  三、UI模块

  严重程度:地狱




134124o1hgqlo1haxhj1b9.png
13412629gppq9h2v1971p7.png
  (1) 使用NGUI作为UI解决方案的项目占据了相当高的比例,NGUI目前仍然是研发团队对于UI系统使用的主要解决方案;

  (2) UI模块的性能开销很高,将近70%的研发团队都面临较为严重的性能问题;

  (3) 与MMORPG不同的是,ARPG游戏UI模块的性能压力相对较小,优化难度相对较低。

  四、粒子系统


  严重程度:普通


134126kkq45446km44xf3g.png
  五、动画模块


  严重程度:普通

1341267w74p9p9l149s79i.png
  经过统计,目前仅使用Mecanim动画系统的ARPG游戏项目占比为45.3%,仅使用Unity3.x老版本动画系统的ARPG游戏项目占比为17.7%,两种系统混合使用的项目占比为37.0%。

  内存模块

  内存泄露几乎是所有手游都难避开的问题,其在ARPG手游中出现的情况占比为34.9%。

  总体内存

  严重程度:地狱


134127ccv526cxz9cm5ydz.png
  总体堆内存


  严重程度:地狱


134128o01dhr4x40eeacar.png
  纹理资源


  严重程度:地狱


134128pteb1nerqmen9b31.png
  网格资源


  严重程度:普通


134129tm3ts0rmtytllppl.png
  音频资源

  严重程度:普通

134129tls1nh4q7shlls1n.png
  Render Texture资源


  严重程度:噩梦


134130n1y7aen1ce8n8nyz.png
  字体资源


  严重程度:普通


134130xfamjafjjjeeprpb.png
  Shader资源


  严重程度:普通


1341310qbz38ls3qz5hynl.png
  动画片段资源


  严重程度:普通


134131nc7s21lqnczyt730.png
  希望以上数据能给大家的开发提供帮助。之后侑虎科技将不断与大家分享其他类型的数据,如ACT,SLG等。
锐亚教育

锐亚教育,游戏开发论坛|游戏制作人|游戏策划|游戏开发|独立游戏|游戏产业|游戏研发|游戏运营| unity|unity3d|unity3d官网|unity3d 教程|金融帝国3|8k8k8k|mcafee8.5i|游戏蛮牛|蛮牛 unity|蛮牛