首先附上原文地址:https://unity3d.com/cn/learn/tutorials/temas/best-practices/guide-optimizing-unity-ui
优化UGUI是一门艺术。硬性规定非常少,但是每种情况都必须参照系统的运行原理仔细评估。UGUI的优化核心是draw calls和batching花费的平衡。尽管运用一些常识技术可以减少前者或者后者,但是一些复杂的UI必须要做权衡。
诚然,正如其他地方的做法一样,UGUI的优化常识应该从性能分析开始。在开始尝试优化UGUI系统之前最主要的工作就是准确定位性能问题产生的原因。UGUI的开发者经常遇到四类问题:
1.GPU片段着色器利用率过高(也就是填充率过渡使用)。
2.CPU时间过长的花费于rebuild一个Canvas的batch上。
3.过多的Canvas的batch数量引发过多的rebuild(dirty太多)。
4.过多的CPU时间花费在建立顶点上(通常来自文本)。
理论上,可以创建一个性能完全受到发送到GPU的drawcall数量限制的UGUI,然而实际上任何GPU因为drawcall过载的项目更倾向于被填充率过度使用限制。
本指南将讨论UGUI底层的概念、算法和代码,以及常见问题和解决方法。总共分为五章:
1."UGUI基础理论章节"定义了UGUI的特定术语和执行渲染UI的基础过程,包括对batch的几何体的build。强烈建议读者从本章开始。
2."UGUI的分析工具章节",探讨通过开发者可以使用的多种工具收集性能信息。
3."填充率、Canvas和输入章节"讨论了改善UGUI的Canvas和输入组件性能的方法。
4."UI控制章节"讨论了Text、ScrollView及其他特殊组件的优化,连同一些不适合放在其他地方的技术。
5."其他技术和提示章节"讨论了一些不适合放在其他地方的问题,包括一些对UI系统中"陷阱"的提示和解决方法。