大家好!
我正在开发一个城市建造游戏,游戏中有模拟功能,而当前模拟功能都是在主线程中执行的。
因此,当模拟一个新天时,如果花费了很长时间,玩家可能会感到明显的卡顿。
例如:
玩家旋转摄像机
模拟更新(想象一下持续1秒)
玩家看到卡顿
模拟更新结束
玩家摄像机最终旋转
我想问一下更有经验的朋友们,是否可以让模拟代码在非主线程中执行,即使模拟花费了很长时间,玩家也不会因为模拟而感到卡顿。
重要:
我不是要并行执行模拟。
我只想在非主线程中执行模拟。
模拟基本上只使用Unity API(除了可等待的),所以我认为我可以做到平滑的执行。几乎所有模拟代码都是C#类。
这是否可以消除卡顿?我应该这样做吗?我可能会遇到的问题是什么?
感谢提前!
评论 (0)