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.
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.
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!)