FLevelRenderAssetManager::IncrementalBuild is causing hitches for us in the range of 10-20ms when we stream a level and make it visible. Following advice from other threads, I’m keeping the level in a loaded state until the code in EStaticBuildStep::ProcessComponents has had chance to run. This prevents a hitch in the EStaticBuildStep::ProcessComponents case, but it ends up just pushing the work further down the process. Since no components are actually registered, everything gets added to the PendingComponents list. Then once the level does finally become visible, all of the components are processed all at once in EStaticBuildStep::WaitForRegistration.
If I add some time slicing to the EStaticBuildStep::WaitForRegistration case where it only allows registration for a specific amount of time, then tries to do the remaining work in subsequent frames, is that going to be a problem? Is having pending work with a visible level going to break anything?
[Attachment Removed]