FNiagaraScalabilityManager::ProcessSignificance()中使用了一个变量导致Shipping和非Shipping逻辑不同

FNiagaraScalabilityManager::ProcessSignificance()

{

bool bEnableCullProxy = SysData.CullProxyCount < ScalabilitySettings.MaxSystemProxies

&& CompState.bCulledByVisibility == false;//Don’t allow proxies on invisible systems. Keep them all for those culled by distance and budget etc.

}

在这里使用了一个CompState.bCulledByVisibility == false判断.

但是CompState.bCulledByVisibility的赋值, 是被DEBUG_SCALABILITY_STATE宏包起来的

FNiagaraWorldManager::ViewBasedCulling()

{

OutState.bCulled |= bCull;

#if DEBUG_SCALABILITY_STATE

OutState.bCulledByVisibility = bCull;

#endif

}

这会导致Shipping版本没有赋值,导致前面ProcessSignificance结果发生变化, 导致develop版本的性能分析不能反应真实情况(Shipping版本).

求确认这个预期的哪边才是正确效果?

我查了下代码5.6和5.7都是这么写的.

重现步骤
不需要重现.代码上就这么写的

你好,

Development build上的效果是符合预期的, 被visibility剔除掉的system不创建proxy.

这应该是个bug, 我也反馈给了开发同学, 后面有更新我反馈在这里, 谢谢!

好的, 那我先按照Dev的作为参考标准.

好的, 有问题再沟通~