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