实例化/销毁时,移动设备上的突然帧速率会下降吗?

时间:2015-05-08 04:16:42

标签: unity3d frame-rate

我目前正在开发一款手机游戏,我不禁注意到,每当一个对象(我的情况下是一个障碍物)被实例化或被破坏时,我会突然发现FPS掉落,这对我的游戏玩法至关重要。

为了帮助提出一个想法,我每隔1.5秒在屏幕上显示障碍物,然后我将它们向下滚动。如果障碍物已经到达屏幕的底部,我会销毁它们以防止内存泄漏/浪费。

我对Unity开发还很陌生。我虽然走在正确的轨道上吗?什么是防止这种突然帧速率下降的更好的解决方案?

1 个答案:

答案 0 :(得分:2)

作为实例化的一部分,您是否有任何大/嵌套循环或复杂进程(请查看您的唤醒/启动方法)?

无论如何,请将object pooling作为处理此类事情的更好方法。

对于一个基本的例子,不是每次使用时都会制造/摧毁枪的射弹,而是给它一个“射弹池”,在水平加载时产生n个射弹。然后,在射击时,只需将射弹的位置设置回枪,并将射弹设置为活动状态。在撞击之后,让射弹停用(或者如果没有击中则在几秒钟之后)。