[Memory/Unloading] ; Master flag - enable the resource runtime unloading system ; This system is using refcounting instead of the Garbage Collector EnableUnloading = 0 ; How many cleanup iterations we should do in one purge ; To few - we may risk delaying destruction of resources to much ; To much - stalls. Should not be bigger than the biggest dependency chain any way (which is around 10) MaxCleanupIterations = 10 ; Minimal amount of frames between each resource purge AutoPurgeDelay = 30 ; Resource grace period - resource will not be released even if it has no references for this amount of frames GracePeriod = 30 ; Validation that the resources we thing we can free we can really free ; This is done by dependency scannig (kind of like in the GC) - VERY SLOW EnableValidation = 0 ; Report potential memory leaks - objects that were referenced from the resources that we freed but did not get deleted EnableLeakCheck = 0 [ResourceLoading] ; Size of the file queue during game (when loading screen is not there) ; The bigger, the better FileQueueSizeGame = 100 ; Size of the file queue during loading perios (when loading screen is there) ; The bigger, the better FileQueueSizeLoading = 500 ; Number of files to load for which we do not bother with starting fully async process ; Basicaly - if we only have to load few file it does not matter if we use prefetching or not AsyncLoadingFileCountTreshold = 1 ; Do we allow async loading to be used UseAsyncLoading = true ; Should we use dependency cache UseDependencyCache = true ; Streaming offset distance in meters (stream in Xm before autohide distance kicks in to allow dissolve to work) StreamingOffset = 2; [ResourceLoading/Decompression] ; Maximum number of AsyncIO requests that can be in flight from the resource loading system ; Note that anything more than 50 has a HIGH CHANCE of crashing/freezing the game ; The internal maximum number of pending async requests is 64 and we need to leave some slots avaiable for other systems (caches) MaxRequests = 256 ; Reserved number of AsyncIO requests per priority ; Non zero value guarantees that there'll always be some free slots to service high priority trafic RequestsPriorityReserve = 4 ; Maximum memory budget for compressed data ; The bigger, the faster the loading ; Note: the memory is not pre allocated, it's just tracked and limited MaxCompressedBudget = 30 ; Maximum number of compressed blocks that are in-flight ; In general does not matter that much, do not make it to small MaxCompressedBlocks = 4096 ; Maximum memory budget for uncompressed data ; The bigger, the faster the loading ; Note: the memory is not pre allocated, it's just tracked and limited ; Note2: this should always be bigger than MaxCompressedBudget value, usually x2.5 times (average compression ratio) MaxUncmpressedBudget = 70 ; Maximum number of uncompressed blocks that are in-flight ; In general does not matter that much, do not make it to small MaxUncompressedBlocks = 4096