As I've noticed:
1) Game preloads all textures no matter map size or tech level
2) With small-to-standard maps game preloads all geometry, so any in-game HDD activility is only swapping, it creates nothing new.
3) With large/huge maps the game initially creates geometry data for visible part of the map (I mean visible, not opened). When you scroll, it allocates more geometry data for new tiles you previously didn't look it.
So, allocation strategy is a little different for large/huge maps - game continues to allocate something during gameplay. What is strange:
a) It never frees what it additionally allocates
b) With initial load of about 650Mb, after scrolling through entire map it gets to around 700Mb, so there is no need in this "lazy preallocation".
In 'memory leak' thread Kangaroo offered a solution "SyncInput=1" in 'ini file', and it helped a lot for people with CTD. I think this eliminates some threading problems with those dynamic allocations on large/huge worlds.
I'd also recommend to set 'DynamicAnimationPaging=0' (or something like this - search .ini file for "dyn"). I haven't noticed any effect on performance, but it might reduce amount of in-game allocations (as its name states), thus it can only improve stability being set to '0'.
1) Game preloads all textures no matter map size or tech level
2) With small-to-standard maps game preloads all geometry, so any in-game HDD activility is only swapping, it creates nothing new.
3) With large/huge maps the game initially creates geometry data for visible part of the map (I mean visible, not opened). When you scroll, it allocates more geometry data for new tiles you previously didn't look it.
So, allocation strategy is a little different for large/huge maps - game continues to allocate something during gameplay. What is strange:
a) It never frees what it additionally allocates
b) With initial load of about 650Mb, after scrolling through entire map it gets to around 700Mb, so there is no need in this "lazy preallocation".
In 'memory leak' thread Kangaroo offered a solution "SyncInput=1" in 'ini file', and it helped a lot for people with CTD. I think this eliminates some threading problems with those dynamic allocations on large/huge worlds.
I'd also recommend to set 'DynamicAnimationPaging=0' (or something like this - search .ini file for "dyn"). I haven't noticed any effect on performance, but it might reduce amount of in-game allocations (as its name states), thus it can only improve stability being set to '0'.