在我用PHP编写的播放器类中,我已经使它$this->forceMove
在玩家可以移动时为空,并在他不能移动时设置为特定坐标。
例如,
//Player joins
$this->forceMove = null //Player can move now.
好的,所以玩家现在可以移动了。当他激活一个动作时,为了锁定他的动作,我做了:
$this->forceMove = new Vector3($x, $y, $z); //Player locked in this position.
现在由于多种原因,玩家可能会陷入游戏,崩溃或失去联系。
虽然垃圾收集会每30分钟或更短时间收集一次数据,但为了提高内存使用率,我将播放器数据(主要是大型数组)粉碎为空。
所以我的问题是,如果玩家在锁定的情况下离开游戏,我应该将$this->forceMove
重置为null以便立即记忆回来,或者让垃圾收集在30分钟左右之后完成它。< / p>
我正在寻找性能最优化的方式。