在项目中放置1000只怪物,并在场景中游荡,会触发Actor的全量复制.全量复制的时候GA的复制占用了很多时间,想请问一下有没有推荐的方案可以优化GA的复制效率
重现步骤
[Image Removed]
你好,从图片上看应该开启了iris,消耗200us倒并没有消耗很多时间而且当前帧同步下去后下一帧应该不会再同步这些数据,我想问下在BP_Crocodle里你们是不是用了一个数组作为replicate subobject将多个GA放进来了?
我们在项目代码中并没有通过数组来存放subobject,但是GAS似乎是有类似的操作.这样的作法有什么问题吗?另外现在看起来这些同消耗是符合预期的是吗?我们项目中测试发现如果进出视野的单位比较多,这些全量复会很多很耗时.有什么方式可以优化吗?比如GA的子对象好像没有什么网络复制字段,为什么写一个子对象要这么久?是不是可以不复制这个子对象呢?
这些GA的Replication Policy都设置了复制吗?还是ASC中的FGameplayAbilitySpecContainer默认OnRep_ActivateAbilities同步了这些数据
Replication Policy 是复制的,看起来是这些GA对象的数据。
具体是哪些数据勾选net的trace,在networking insights里应该能看到,要么可以试下看看哪些GA不用复制,要么在同步框架层面去做优化
如果GA上没有需要复制的字段,应该没有必要开GA的复制对吧
是的,大部分情况下不需要开