Hi Basile,
I appreciate the extra data you have been providing, which will help further investigate your issues. Regarding the long hitches in UWorld::UpdateWorldLevelStreaming, this is likely caused by packing too many static mesh instances into a single component. The logic for that is in UInstancedStaticMeshComponent::CalcBoundsImpl. We have introduced some logic in 5.6 to cache the results, but I am not too familiar with that code myself. Since the conversation has moved away from rendering, could you please file a new ticket regarding the world partition streaming? That way, someone with more experience with that system can field those questions.
To wrap up some threads here based on your questions:
I found out that if you are using the Launcher version of the engine, Superluminal has had issues in the past in properly capturing traces, which is likely why I have not been able to view them. If you still want to use Superluminal moving forward, please file a new ticket with the engine and Superluminal logs collected during the capture so we can get some extra eyes on it.
How do you name the threads which are getting into the traces? I started noticing (most likely related to our simulation connectivity) “unknown” threads activity
The engine names its own threads via UE::Trace::ThreadRegister(), which emits a $Trace/ThreadInfo event containing the thread ID, system thread ID, sort hint, and name. See TraceAuxiliary.cpp for an example. I am not sure what you mean by the “Unknown” threads you are seeing, but assuming you are referring to the greyed-out threads, those are OS-level threads that run alongside the engine and for which we do not capture any direct information.
Am I right to consider the final phase as GPU-limited?
Looking at the trace you uploaded and ignoring the big spikes due to the memory allocation issue we discussed earlier, I wouldn’t say you are GPU-bound. Your average frame time is around 16-17ms on the GPU (see screenshot as an example), which is great, so most of your time should be spent getting your CPU utilization in line and then seeing if you need to make another pass on optimizing GPU frame times.
[Image Removed]
If you still have questions about the GPU side of your project or rendering-related questions. For anything else, I would like to ask you to make some new tickets.
Cheers,
Tim
[Attachment Removed]