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都是这么写的.