Unity优化方向——优化Unity游戏中的垃圾回收(译)
介绍 当我们的游戏运行时,它使用内存来存储数据。当不再需要该数据时,存储该数据的内存将被释放,以便可以重用。垃圾是用来存储数据但不再使用的内存的术语。垃圾回收是该内存再次可用以进行重用的进程的名称。 Unity使用垃圾回收作为管理内存的一部分。如果垃圾回收发生得太频繁或者有太多工作要做,我们的游戏可能会表现不佳,这意味着垃圾回收是导致性能问题的常见原因。 在本文中,我们将了解垃圾回收如何工作的,什么时候发生垃圾回收,以及如何有效地使用内存,从而最小化垃圾回收对游戏的影响。 诊断垃圾回收的问题 垃圾回收导致的性能问题可以表现为帧率低、性能不稳定或间歇性冻结。然而,其他问题也会引起类似的症状。如果我们的游戏有这样的性能问题,我们应该做的第一件事就是使用Unity的Profiler窗口来确定我们看到的问题是否真的是由于垃圾回收造成的。 要了解如何使用Profiler窗口查找性能问题的原因,请查阅 这一篇 教程。 Unity内存管理简介 要理解垃圾回收是如何工作的,以及垃圾回收何时发生,我们必须首先理解Unity中内存的使用是如何工作的。首先,我们必须理解Unity在运行它自己的核心引擎代码和运行我们编写的代码时使用了不同的方法。 Unity在运行自己的核心Unity引擎代码时管理内存的方式叫做手动内存管理。这意味着核心引擎代码必须显式地声明如何使用内存。手动内存管理不使用垃圾回收