Unity最佳实践-Unity UI优化指南

Best Practices(6) - A guide to optimizing Unity UI

  • 适用版本:2017.3
  • 原文地址:https://unity3d.com/cn/learn/tutorials/topics/best-practices/guide-optimizing-unity-ui?playlist=30089

优化基于Unity UI的UI系统是一门艺术。 硬性规则很少; 相反,你必须仔细评估每种情况,并考虑游戏系统的行为。 优化任何Unity UI时的核心压力是draw calls与批处理成本的平衡。 虽然可以使用一些常识技术来减少其中一种,但如果UI很复杂就必须进行权衡。

不过,正如其他地方的最佳实践一样,优化Unity UI的尝试应该从分析开始。 尝试优化Unity UI系统之前的主要任务是找到观察到的性能问题的确切原因。 Unity UI用户遇到四种常见问题:

  • GPU片段着色器使用过多(即填充率过高)
  • 重建Canvas批处理所花费的CPU时间过长
  • 过多的Canvas批次重建(过度污染(dirty))
  • 生成顶点所花费的CPU时间过长(通常来自文本)

原则上,一个UI,其性能受到发送到GPU的draw calls数量的影响。但是,实际上,任何使用draw call重载GPU的做法更有可能受到填充率过度使用的影响。

本指南将讨论Unity UI的基本概念,算法和代码,以及讨论常见问题和解决方案。它分为五章:

  • Unity的基础知识UI章节定义了Unity UI特有的术语,并讨论了为呈现UI而执行的许多基本过程的细节,包括批量几何的构建。强烈建议读者从本章开始。
  • Unity UI分析工具章节讨论了使用开发人员可用的各种工具收集并分析数据。
  • 填充率,Canvas和输入章节讨论了提高Unity UI的Canvas和输入组件性能的方法。
  • UI控件章节讨论了UI文本,滚动视图和其他特定于组件的优化,以及一些特定场景下的技术。
  • 其他技巧和提示章节讨论了一些特定问题的处理的问题,包括解决UI系统中“陷阱”的一些基本技巧和方法。

UI Source Code

记住Unity UI的图形和Layout 组件是完全开源的。 他们的源代码可以在UI的Bitbucket存储库中找到。

你可能感兴趣的:(Unity,最佳实践)