繁体   English   中英

如何在虚幻引擎4中优化actor的生成?

[英]How do I optimize the spawning of actors in Unreal Engine 4?

目前,我正在使用蓝图脚本来生成和删除飞行棋子半径内的约60个演员。 这会产生帧率峰值,而且我已经读到这是一个很繁重的过程。

所以很明显,我想通过在C ++中放置相同的逻辑来提高此过程的性能。 但是我想先了解几件事,以确保我正在做的事情是正确的。

1)C ++中的spawnActor函数本身是否比蓝图节点快?

2)蓝图的哪种属性会增加生成的处理时间? 我知道例如启用物理学会增加处理时间,但是我还需要考虑更多属性吗?

我感谢大家花时间阅读本文,非常感谢您提供任何帮助:)

您不能说C ++的SpawnActor更快,因为蓝图的SpawnActor最终导致了C ++ SpawnActor。 但是,当然,如果直接编写C ++代码,则可以节省调用将Blueprint节点路由到C ++函数的多个函数的时间。 因此,对于SpawnActor的峰值,我不认为这是因为调用Blueprint SpawnActor,即调用C ++无法解决。

SpawnActor本身确实有成本,因此连续调用60次肯定会导致费用飙升。 我不太确定SpawnActor中有多少开销,但是至少我可以猜测为这些新Actor分配内存需要一些时间。 同样,如果您的Actor模板包含很多组件,则将花费更多时间。 因此,一种常见的技术是使用Actor池预生成一些Actor并重用它们。

C ++总是比Blueprints更快,因为C ++最终基于模板,因此您的编译和错误修复将变得不那么容易。 由于CPU时间的原因,字符数量将始终影响性能,但是可以。 您必须考虑到基于UE4迭代器和专用容器访问字符的能力,因此它们已经过优化并且是线程安全的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM