开展优化工作前,这些你需要熟知!

开展优化工作前,这些你需要熟知!

当项目进入优化阶段时,我该如何根据项目的实际情况安排优化工作的进度?针对每个模块的优化做哪些工作才最高效呢?怎样的排查才算全面到位,是否还有一些我们平时忽视却很致命的优化细节呢?今天,UWA就推荐一个可以快速掌握上手的“分析框架”,帮助大家更有章法地开展优化工作。

我们结合了UWA性能测评报告中的“性能简报”功能,梳理了研发团队需要关注的各个引擎模块,以及针对各个引擎模块大家可以着手排查的维度,简化示意图如下所示:
请输入图片描述


细看在这个分析框架图,我们不难发现,在实际优化过程中不仅要从宏观上分析项目运行时的整体趋势,包括总体CPU性能、引擎各模块性能等,也需要从微观上深入剖析运行时的代码堆栈、资源管理等情况,以确保百密无一疏。

我们以渲染模块的优化为例做解释说明,上图中显示可以从以下两方面入手:

一、分析渲染模块的总体性能

如下图所示,我们需要在UWA测评报告的“渲染模块性能”页面中关注一些重要参数的使用情况,比如DrawCall和Triange的峰值、半透明渲染和不透明渲染的使用趋势等。
请输入图片描述

二、查看Camera.Render函数的代码堆栈

Camera.Render的代码堆栈中包含了大部分渲染相关的函数操作,通过总体堆栈信息、指定场景堆栈信息、指定帧堆栈信息,配合运行截图,研发团队能更全面、更精准地定位性能瓶颈。

请输入图片描述
看到这里你也许有了新的疑问,UWA提供的分析框架图中的信息量太大,并且还伴随着大量繁琐的细节问题的定位,我该怎么快速上手呢?小编建议大家快来解锁“UWA性能简报”!

请输入图片描述

如上图所示,性能简报就渲染模块中的各个问题分别进行罗列,并建议开发者分别通过以下三个维度去优化:

1)查看Camera.Render代码堆栈
2)减小同屏渲染面片数
3)优化Draw Call数量峰值

请输入图片描述

再例如,当通过LoadFromFile加载的次数过多时,性能简报不仅明确指出通过该API加载过高的AssetBundle总数,并指引研发团队跳转至对应的分析页面做进一步的排查。
请输入图片描述

下图为点击蓝色超链接后的跳转页面,详细罗列了通过LoadFromFile加载的AssetBundle的具体使用情况。
请输入图片描述

目前,UWA分析引擎中的性能规则已经超过1000种,它将引擎性能模块的数据有序地汇总成一个完整的优化体系,通过“分析与建议”中提供的精准优化方案,帮助研发团队达到对症下药的优化效果。

临危不惧,在于胸中自有章法;
高手优化,在于胸中自有UWA!

解锁更多UWA性能测评功能,请戳:https://www.uwa4d.com/#feature

请输入图片描述UWA合作案例


关于UWA

由侑虎科技开发的游戏/VR应用性能优化平台,目前提供 1)性能诊断与优化 2)资源检测与分析 3)UWA GOT 三大工具,帮助开发者在短时间内大幅度提升性能表现;同时其搭建的知识分享的博客和答疑解惑的互动平台使广大开发者收益,UWA以实力和态度诠释对性能优化的定义:问题的答案永远“在现场”,解决你的性能问题,才叫“优化”。