1.蓝图效率没有c++高,但本身效率并不低,开发人员放弃使用蓝图主要原因并不是效率而是出于工作流程和协作方面的考量
2.总的来说,蓝图是慢了一些,大概慢了十倍,具体取决于你做什么,为什么效率这么低?
(1)因为要执行大量节点,效率降下来主要是因为节点的链接数量而不是节点的具体功能,如果节点很多或者逻辑很复杂,效率就低,比如这两个节点数量一样,效率总体上是一样的
(2)对于逻辑类的节点,性能开销很大,比如循环节点中会有很多连线,因此开销大
(3)任何需要遍历大量actor的节点,开销大(能直接保存变量的,尽量保存,少用这种)
(4)大量使用每帧更新节点是性能开销增大的主要原因
3.蓝图总是以单线程执行,默认最大次数100万次,每帧执行次数大概25万次,可以在项目中设置它的大小,如果超过这个次数,系统会报无限循环的异常
4.循环也会导致性能增大,如果100个物件都用SetTimerByEvent来不断循环,好的做法是,设置Time的时候用一个随机值,避免某个时刻所有物件同时调用循环事件导致性能开销骤增