博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MMO移动游戏性能分析报告:渲染、UI、逻辑代码和内存需重点关注
阅读量:6005 次
发布时间:2019-06-20

本文共 1509 字,大约阅读时间需要 5 分钟。

总体性能

请输入图片描述

1)iOS设备的CPU性能普遍高于Android设备。

2)Android设备上项目性能普遍偏低,CPU达标比例仅为28.5%。

请输入图片描述

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

一、渲染模块

严重程度:噩梦

Draw Call的主体使用范围为45~185,峰值平均为215;

渲染三角面片的峰值集中在62K~152K,峰值平均为75K面。
UWA推荐:渲染三角面片峰值< 100K,目前达标比例: 53.9%。
请输入图片描述

不透明物体的渲染耗时平均为3.5ms,半透明物体的渲染耗时平均为4.5ms。

58.3%的项目使用了相机后处理特效,其CPU耗时主要集中在0.1~8.0ms,具体分布如下:
请输入图片描述

1)MMORPG游戏的场景渲染三角形面片数量普遍较高,仅53.9%的项目能够将场景的渲染三角形面片数控制在10w以下;

2)相机后处理特效在该类型游戏中已经开始较为广泛的使用。

二、UI模块

严重程度:地狱

请输入图片描述

请输入图片描述

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

2)UI模块的性能开销很高,将近80%的研发团队都面临较为严重的性能问题;
3)从性能上来看,UGUI无论从CPU占用还是堆内存分配,均大幅领先于NGUI。

三、逻辑代码

严重程度:地狱

请输入图片描述

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

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

请输入图片描述

1)Instantiate实例化操作平均每次调用的CPU耗时主要分布在: 2.0~20.5 ms,均值为6.2ms,每1万帧总调用次数主要分布在: 109~1933 次。

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

请输入图片描述

Log输出操作平均每次调用的CPU耗时主要分布在: 2.6~22.2 ms,均值为7.2ms。

请输入图片描述

1)Shader解析操作平均每次调用的CPU耗时主要分布在: 6.5~217.5 ms,均值为28.8ms。

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

四、粒子系统

严重程度:普通

请输入图片描述

五、动画模块

严重程度:普通
请输入图片描述

目前仅使用Mecanim动画系统的MMO游戏项目占比为35.3%,仅使用Unity 3.x老版本动画系统的占比为19.3%,两种系统混合使用的占比为44.4%。


内存模块

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

总体内存

严重程度:地狱

请输入图片描述

总体堆内存

严重程度:普通

请输入图片描述

项目的内存占用很大一部分来自于资源的使用,下面我们将对项目中主流资源的使用情况进行分析。

纹理资源

严重程度:噩梦

请输入图片描述

Mesh资源

严重程度:噩梦

请输入链接描述

Render Texture资源

严重程度:噩梦

请输入图片描述

字体资源

严重程度:普通
请输入图片描述

Shader资源

严重程度:普通

请输入图片描述

AnimationClip资源

严重程度:普通
请输入图片描述

以上是UWA第一次尝试以项目类型的属性分类发布性能总结报告,之后我们将不断与大家分享其他类型的数据,如ARPG,ACT,SLG等。我们深信数据是会说话的,总有规律值得我们追溯求实、鉴往知来。同时我们也会不断细化评析的标准、划分,以使得这些数据更有代表性和说服力。

当然,UWA提供的不仅是性能深度测评的工具,解决开发过程中千变万化的需求才是服务的宗旨。简单优化,优化简单!我们会将服务至上的态度和诚意,努力延伸至每个开发者的身边。

原文出处:侑虎科技
本文作者:admin
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

你可能感兴趣的文章
如何Windows分页控件中增加统计功能
查看>>
ExpandableListView 箭头样式
查看>>
【单页应用巨坑之History】细数History带给单页应用的噩梦
查看>>
推荐系统那点事 —— 基于Spark MLlib的特征选择
查看>>
【jQuery】select动态追加的option选中
查看>>
linux系统下安装两个或多个tomcat
查看>>
使用eclipse生成html格式注释文档 [ javadoc ]
查看>>
ProtoBuffer 简单例子
查看>>
Winform开发框架中工作流模块的表设计分析
查看>>
一小时了解数据挖掘⑥数据挖掘的评估和结果可视化展示
查看>>
sklearn
查看>>
iOS多线程开发系列之(一)NSThread
查看>>
微信小程序初体验(上)- 腾讯ISUX社交用户体验设计成员出品
查看>>
python 回溯法 子集树模板 系列 —— 16、爬楼梯
查看>>
实战使用Axure设计App,使用WebStorm开发(6) – 迈向后端
查看>>
SAP WM Physical Inventory Method ST & PZ
查看>>
jenkins自动发布java代码
查看>>
一道趣味数学算法问题
查看>>
版权协议
查看>>
我的女儿二三事
查看>>