为什么开放世界游戏会不断创建/销毁对象,但仍能平稳运行?

时间:2019-01-07 07:31:43

标签: unity3d memory-management

有人告诉我,不断创建和销毁对象会严重影响性能(这就是为什么我使用对象池来防止这种情况的原因)。但是开放世界游戏不仅可以创建和销毁对象(RAM),而且还可以从光盘上加载和卸载资产,并且仍然可以平稳运行。

这个问题不是关于如何制作开放世界游戏(我认为范围太广),而是关于我应该考虑使用Unity中的API来创建/销毁对象,加载/卸载开放世界游戏的资产。

>

我用Object.Instantiate()创建对象并用Object.Destroy()销毁。我听说API的Application.LoadLevelAdditiveAsync()可以使开放世界成为可能,但是我仍然不了解在不影响性能的情况下创建和销毁对象。

1 个答案:

答案 0 :(得分:0)

建议您不要过于频繁地创建游戏对象,因为引擎必须在后台进行额外的工作,从而影响移动设备上的帧速率。但是,如果您在台式机上并且具有一定的性能余量,则没有任何理由不愿意在每个帧上创建对象。

对于开放世界-对象创建/解构仅偶尔执行一次,而不是每帧一次,因此总体性能影响不必那么大(尤其是您的PC是最新的)