branchrust_reboot/main/async_loadingcancel
18 Commits over 30 Days - 0.03cph!
Add global.asyncWarmup as a convar for client too
Defaults to true but when set to false it will turn off running asset warmup in the background and will add it back to the loading screen using the old logic
Will only fully work if set on the command line
Don't use async asset loading when spawning world with preloadConcurrency set to 1
Change monument unloading threshold to 24GB of RAM
Call UnloadUnusedAssets even if we don't unload monuments, just in case
Add server-only convar global.asyncWarmup to enable the async asset loader for asset warmup (default true, except on linux)
Should revert to the old logic by default on Linux to improve server boot times
Don't run the preprocess step on the client unless the loading screen is open to avoid stuttering
Actually fix asset warmup exiting before preprocess is called for all the assets
Reduce the frequency of asset warmup messages being printed in the server log
Exclude assets/scenes/prefabs/ and assets/content/structures/ from asset warmup since they would be required when spawning the world
Dynamically adjust the frame budget for asset warmup depending on if the loading screen is open
Split convars so global.warmupConcurrency will only affect asset warmup (and halved it)
Disable unloading the monument bundle when the client has 16GB or more RAM for faster server joins the second time around
Set global.forceUnloadBundles to true if you want them unloaded anyway
Also fixes the server not unloading the bundle on this branch
Reduce asset warmup spam in server log
Fix asset warmup not actually running for non-poolable assets
Sort the asset list before starting async loading
Run asset warmup with a higher priority for poolable assets so prewarming the pools doesn't need to wait as much
Fix asset warmup loading but not preprocessing the last few prefabs in the list
Max out backgroundLoadingPriority for dedicated servers since they have no load screen
Start asset warmup in the background as soon as the main menu is ready
Run asset warmup in the background with a relatively low frame budget
Prioritize loading prefabs needed to spawn the world when loading
Automatically adjust backgroundLoadingPriority when the loading screen is shown/hidden
Load prefabs in the background while spawning world
Preprocess prefabs on the main thread while loading continues in the background
Implement AssetDatabase backend
Experimenting with async loading things from bundles