c# - 使用physics2D时帧数大幅下降
问题描述
在过去的几天里,我一直在为此苦苦挣扎。
基本上,随着时间尺度的增加,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 来检测命中
我使用完全相同的功能来移动敌人和子弹和敌人的pooler
分析器截图1:https ://gyazo.com/9f13b5ed1deaec1eb5a331ff75a839e0
Profiler 截图2:https ://gyazo.com/b0be11a871e2897fe89f50009406f7f9
我确实尝试在 FixedUpdate 中注释掉其他所有内容,没有区别。我真的很感激任何提示/帮助。我确信我应该能够在没有 fps 下降的情况下射出大量子弹。虽然炮塔没有射击并且敌人即使在高时间尺度(x16)下也没有产卵,但 fps 稳定在大约 270。一旦他们开始射击,它就会下降到大约 90-120,即使它只有 1 个炮塔。
解决方案
推荐阅读
- javascript - Crbug/1173575,非 JS 模块文件已弃用。chromewebdata/(索引)꞉5305:9:5551
- php - Laravel 广播私人频道不起作用
- typescript - Vue js,使用 TypeScript 从 Vue 中的表单获取数据
- javascript - 从数组创建对象并将这些对象收集到一个数组中
- .net - Visual Studio - 在 MacOs 中将 Nuget 包添加到项目时,拒绝访问路径“/Users/.local/share/NuGet”
- python - 我有一个基于 4 个值的动态 xpath,如果我使用 OR 条件,xpath 看起来很大,还有其他处理方法吗?
- ios - 如何在 iOS 中为 WKWebView 启用 GamePad 功能?
- xamarin.forms - 使用 xamarin.forms 为 android 和 ios 的警报消息设置自定义字体
- c# - C# 用一个属性满足两个接口的成员
- flutter - 当Inner ScrollView到达Bottom-Flutter时如何滚动BottomNavigationBar