UE4 为Actor添加碰撞体与实时进行Trace查询的性能比较

版本:4.26
条件:初始Actor只有一个StaticMesh组件。

生成1000个Actor,在初始Actor的基础上添加一个球形碰撞体。
在这里插入图片描述
当性能趋于稳定之后:
在这里插入图片描述

生成1000个初始Actor,在Tick中实时调用球形多物体检测。
初始打开时:
在这里插入图片描述
当性能趋于稳定之后:
在这里插入图片描述
记录实验过程:
(1)启动时差距,使用碰撞体时,游戏明显卡顿,启动需要花大于2-4秒的启动时间,而Trace检测则初始化速度很快,打开时基本没有什么卡顿的现象。猜测,可能是生成物体时,物体过于密集导致物体间发生碰撞,导致性能开销较大。
(2)中间过程中,使用碰撞体时,游戏的帧率会较快提高,但起始值会比较低,一开始也就几帧。使用Trace检测时,游戏的帧率大约是15-20帧左右,帧率提升速度较慢。
(3)结束过程中,使用碰撞体时,由于没有任何计算的发生,导致游戏能够稳定在120帧左右。而使用Trace检测时,则因为需要实时进行Trace,导致Tick消耗过大,只能稳定在40帧左右。
注:经过博主测试过后,当生成物体时,物体没有过于密集时,使用碰撞体的方式,打开游戏时,并不会导致明显的卡顿,并且过程中帧率较之使用Trace检测更高,所以不要使用实时Trace查询,该使用碰撞体时,还是使用碰撞体为好,

猜你喜欢

转载自blog.csdn.net/qq_41487299/article/details/122606417