优化

简介

Godot遵循平衡的表现理念. 在效率表现中,总是有需要权衡交易的东西,可用性和灵活性. 一些实际的示例是:

  • 有效地渲染大量的物体是很容易的,但是当必须渲染一个大的场景时,效率就会变得很低.为了解决这个问题,必须在渲染时加入可见性计算.这使得渲染的效率降低,但同时,被渲染的对象也减少了.因此,整体的渲染效率得到了提高.

  • 为每个需要渲染的对象配置每个材质的属性也很慢.为了解决这个问题,物体被按材质分类以减少成本.同时,排序也是有成本的.

  • 在3D物理中,也有类似的情况发生.处理大量物理对象的最佳算法(如SAP)在插入/移除对象和射线传输方面都很慢.允许更快的插入和移除以及射线传输的算法,将无法处理那么多的活动对象.

而这样的例子还有很多!游戏引擎在本质上努力成为通用的.平衡的算法总是受到青睐,而不是那些在某些情况下可能很快而在另一些情况下很慢的算法,或者那些快但更难使用的算法.

Godot在这方面也不例外.虽然它被设计成可以为不同的算法交换后端,但默认的后端将平衡和灵活性置于性能之上.

明确了这一点后,本教程部分的目的是解释如何从Godot中获得最大的性能.虽然这些教程可以按任何顺序阅读,但最好从 一般优化提示 开始.

常见的

CPU

GPU

2D

3D