当项目进入优化阶段时,我该如何根据项目的实际情况安排优化工作的进度?针对每个模块的优化做哪些工作才最高效呢?怎样的排查才算全面到位,是否还有一些我们平时忽视却很致命的优化细节呢?今天,UWA就推荐一个可以快速掌握上手的“分析框架”,帮助大家更有章法地开展优化工作。
我们结合了UWA性能测评报告中的“性能简报”功能,梳理了研发团队需要关注的各个引擎模块,以及针对各个引擎模块大家可以着手排查的维度,简化示意图如下所示:
细看在这个分析框架图,我们不难发现,在实际优化过程中不仅要从宏观上分析项目运行时的整体趋势,包括总体CPU性能、引擎各模块性能等,也需要从微观上深入剖析运行时的代码堆栈、资源管理等情况,以确保百密无一疏。
我们以渲染模块的优化为例做解释说明,上图中显示可以从以下两方面入手:
一、分析渲染模块的总体性能
如下图所示,我们需要在UWA测评报告的“渲染模块性能”页面中关注一些重要参数的使用情况,比如DrawCall和Triange的峰值、半透明渲染和不透明渲染的使用趋势等。
二、查看Camera.Render函数的代码堆栈
Camera.Render的代码堆栈中包含了大部分渲染相关的函数操作,通过总体堆栈信息、指定场景堆栈信息、指定帧堆栈信息,配合运行截图,研发团队能更全面、更精准地定位性能瓶颈。
看到这里你也许有了新的疑问,UWA提供的分析框架图中的信息量太大,并且还伴随着大量繁琐的细节问题的定位,我该怎么快速上手呢?小编建议大家快来解锁“
UWA性能简报
”!
如上图所示,性能简报就渲染模块中的各个问题分别进行罗列,并建议开发者分别通过以下三个维度去优化:
1)查看Camera.Render代码堆栈
2)减小同屏渲染面片数
3)优化Draw Call数量峰值
再例如,当通过LoadFromFile加载的次数过多时,性能简报不仅明确指出通过该API加载过高的AssetBundle总数,并指引研发团队跳转至对应的分析页面做进一步的排查。
目前,UWA分析引擎中的性能规则已经超过1000种,它将引擎性能模块的数据有序地汇总成一个完整的优化体系,通过“分析与建议”中提供的精准优化方案,帮助研发团队达到对症下药的优化效果。
临危不惧,在于胸中自有章法;
高手优化,在于胸中自有UWA!
https://www.uwa4d.com/#feature
领取专属 10元无门槛券
私享最新 技术干货