奇正科技_ADOBE福建的唯一授权金牌经销商_微软公司的核心经销商_autodesk的福建区核心经销商_COREL福建省独家经销商_Unity福建授权技术服务商_金山公司(WPS)福建金牌经销商_PTC核心经销商_Altium福建核心经销商

优化实践系列教程 | 新手入门:优化的基本流程以及Unity分析工具介绍

奇正资讯 > Unity资讯 更新时间:2022/3/17

优化工作一直是游戏开发中必不可少的一环。尤其对于移动平台而言,高中低档设备众多,为了尽可能满足更多的玩家,性能优化就显得更为重要。因此,Unity 也一直在提升和开发更多的优化工具,并分享最新的优化案例。


在之前的一些文章中,可能更多的是偏重工具本身以及优化理论的一些介绍,对于新手来说有一定的门槛。而这一次,我们将技术支持团队中总结出来的优化流程,常用工具及优化方法分享给大家,希望对大家的优化工作有所帮助。


首先,在本教程的第一部分,我们先介绍下基本的优化流程及常用工具。


基本优化流程介绍


通常来说,我们在做优化的时候遵循如下一个基本流程:


图片


01  确定优化目标


这是首先要明确的事情,比如是做一次针对内存或者渲染的局部优化,还是为确保在低端机上运行流畅进行的全面优化。相信对于任何项目来说,开发时间都是宝贵的,只有明确了目的才能有的放矢,确保项目的有序推进。


02  收集数据


通过各种常用或自定义工具收集相关数据。常用的工具包括,Unity Profiler,XCode Instruments,以及优化服务平台 UPR,这一部分我们将在后一节重点介绍。


03  解决问题


基于各类分析工具收集的数据,寻找合适的解决方案。当然,从分析数据到解决问题也是优化过程中最不容易的部分,这需要熟悉分析工具中各个指标的含义并深刻理解 Unity 各个系统的运行原理,才能得出最有效的优化方案。而这也是本系列教程会不断通过实例会重复讲述的内容。


常用分析工具介绍


常用分析工具大概可以划分为两大类:综合分析和专项分析。在收集数据进行性能分析的时候,我们常常会先使用综合分析工具对项目进行测试,得出总体评价,再通过专项分析对局部问题进行深入研究。


  综合类分析工具


Unity Pofiler,这是最常用的分析工具。在编辑器中可以直接打开使用,可以监控编辑器或者目标平台上的应用。收集的数据包括每一帧中的函数热点,内存使用,物理及音频模块开销等多种关键性能数据。


图片


具体使用方法可以查看 Profiler 的使用手册,也可以观看视频教程《Unity Profiling 介绍》进行详细的了解。


Profiler 的使用手册:

https://docs.unity3d.com/Manual/Profiler.html


Unity Profiling 介绍:

https://resources.unity.com/unitenow/onlinesessions/introduction-to-profiling


UPR,这是最新的 Unity 性能综合分析平台。在 Profiler 的基础上,增加了更多的性能指标及功能,比如常用的资源检测及 Lua 性能分析。此外,基于 Web 的数据中心,提供了更强大的数据展示及对比功能,且同时对接性能报告解读服务。因此,该平台也逐渐成为我们在帮客户做优化时主要使用的工具。


图片


当然该工具也是对广大开发者开放的,详细使用方法可以查看使用手册。


UPR 官网:

https://upr.unity.cn


UPR 使用手册:

https://upr.unity.cn/instructions/instructions


  专项分析工具


Frame Debugger,用于展示每个帧如何由单独的绘图调用构成,以及相应的着色器属性,可以帮助你排查渲染流程是否正确,是否正确合批。


Frame Debugger:

https://docs.unity3d.com/Manual/FrameDebugger.html


图片


平台相关工具,iOS 和 Android 都提供自身的性能测试工具:Xcode Instruments 和 Android Profiler,这些工具可以侦测更详细的内存及 GPU 信息。比如 Xcode Instruments 也提供了 Frame Capture 的功能,可以用于查看每一帧详细的绘制流程,以便判断是否存在多余而耗时的绘制。


图片


此外,某些硬件还可以提供了额外的分析工具,例如,Arm Mobile Studio、英特尔 VTune 和 Snapdragon Profiler。有关详细信息,请参阅教程《基于 Unity 应用程序的性能分析》。


基于 Unity 应用程序的性能分析:

https://learn.unity.com/tutorial/profiling-applications-made-with-unity#5c7f8528edbc2a002053b5b8


本文转自unity公众号

Copyright©2018-2022 www.qizsoft.com All Rights Reserved 奇正科技(厦门)股份有限公司 版权所有
备案号:闽ICP备05021918号-1
服务热线 0592-2208610
点击QQ咨询
微信客服扫一扫 微信客服