Been optimising my save game system in #UE5, and saw an opportunity to abuse a render fence to saturate the idling game thread with tasks *without* hitching.

#UnrealEngine #GameDev

And the results for a few of the frames (straight after a savegame and level load).

Tasks are as follows:
1. Spawning of 1000 actors distributed over 4 frames
2. Serialisation of 1000 actors over 2 frames

Tasks finish halfway through frame 2090, and we're back to full idle on 2091.

Have implemented optional minimum and maximum runtimes for each task, just in case a project using the plugin has other jobs getting dumped into that final frame sync idle (and also if a game is game thread bound instead of render thread bound).

Next job... multithreading the serialization (some actors have interface events exposed to BPs, fun!)