过去两天我一直在为此苦苦挣扎。
基本上,随着时间刻度的增加,fps会令人难以置信地下降,刻度越高,fps越低。它还取决于所使用的子弹数量,玩家/炮塔射击的子弹越多,fps越低。
子弹移动脚本
rb.position = Vector2.MoveTowards(transform.position, oldTargetPosition, speed * Time.deltaTime);
if (transform.position == oldTargetPosition) { gameObject.SetActive(false); }
我也尝试过rb.position += dir * speed * Time.deltaTime;
,但似乎没有什么区别。
rb.MovePosition()
也没有区别。
我正在使用OnTriggerEnter2D来检测匹配
我使用完全相同的功能移动子弹和敌人的池子和敌人
Profiler屏幕快照1:https://gyazo.com/9f13b5ed1deaec1eb5a331ff75a839e0
Profiler屏幕截图2:https://gyazo.com/b0be11a871e2897fe89f50009406f7f9
我确实尝试过注释掉FixedUpdate中的所有其他内容,并且没有区别。我真的很感谢任何提示/帮助。我确定我应该能够在不丢fps的情况下射击大量子弹。虽然炮塔没有开火,即使在较高的时间比例(x16)下也不会产生敌人,但fps稳定在270左右。他们开始射击后,即使只有1座炮塔,其帧速也下降到90-120。