Hi Marius,
The pictures you’ve sent show a few things:
First, your obvious culprit is ‘Generate On Region’.
Second, there’s definitely a few things in play:
(1) yes, we made the PointArrayData by default, which has a definite impact on perfs if you aren’t accounting for it.
Seems like this is already out of the picture with what you’ve written here.
(2) your actual execution times are an order of magnitude smaller than the wall time,
This highlights that your graph in its current form is very much game-thread (GT) bound.
In this case, that brings me to something we did change in 5.6, which we should have put a bit more emphasis on.
We’ve lowered the execution budget (per frame on the GT) in PCG to be more in line with what we were expecting, after internal tests.
However, clearly it can impact the wall time of the generation depending on your respective bottlenecks.
In 5.6, we lowered the runtime value from 16.66ms to 5ms (“pcg.FrameTime”) and the editor budget from 50ms to 15ms (“pcg.EditorFrameTime”).
I would suggest you adjust your local cvar for this (or better yet, find the “right” value for your use case), and that should have a significant impact.
Otherwise, it’s possible we’ve moved things around to the GT in order to prevent race conditions and crashes, but I could not summon an example from memory.
Hopefully that helps - please let me know!
Cheers,
Julien