使用physics2D时,fps会大幅下降

时间:2019-06-04 15:44:13

标签: c# unity3d

过去两天我一直在为此苦苦挣扎。
基本上,随着时间刻度的增加,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。

0 个答案:

没有答案
相关问题