二.脚本优化策略
由于编写脚本在我们的开发过程中占据着举足轻重的地位,所以学习一些优秀的编程实践经验会使我们获利颇丰。脚本编程是一个很宽泛的概念,所以在这一章我们会把所讲述的内容限定在适用于Unity的一些情况,问题均围绕着MonoBehaviours ,GameObjects和与其相关的函数功能。
我们将会在第八章“专横的内存管理”去具体介绍C#语言,.NET库和Mono框架之间才细微差别和彼此的优势。
在这一章中,我们会讲述如何在下面一些范围内去实施性能优化
- 获取组件
- 组件函数调用(Update(),Awake()等等)
- 协程
- GameObject和Transform的使用
- 对象间的通信
- 数学计算
- 反序列化,例如场景和预设的加载
无论你是想解决面临着的疑难问题,或者想为以后的开发学习一些技巧,本章节内容将会介绍一系列的提升编程效率的方法。在每个案例中,我们会说明为何会发生如此的性能问题,并对此问题提出解决方案。
1.使用最快的函数获取组件
GetComponent()获取组件有很多与其类似功能的变种方法,每一种的性能消耗都不同。所以选择消耗最小的函数明智的选择。有三个可用的重载函数:GetComponent(string),GetComponent
让我们编写一些测试脚本俩证明这个结论:
上面代码中我们对GetComponent()的变种函数进行百万次调用。这样调用在项目中很少见,但是这样可以使性能的微小差异最大化。