Published on January 30, 2007 By Zydor In Beta Reports
Whenever there is a game crash due to memory problems - the "save aborted, out of memory, try increasing vertual memory and save again" message - the current .sav file is eaten. (whichever .sav file was last saved before the memory problem, is eaten, beit autosav, quicksav, or a custom named game-sav file). Nearly always increasing vertual memory is not an option - especially if you have it set to the maximum vertual memory XP will recognise anyway. (I have 2Gb Ram and 4Gb vertual memory on the PC).

It is intensly irritating, at times downright infuriating, as most times almost by definition most memory full errors will occur mid-late game when things are getting complex, a lot of work and time consuming between saves (on Gigantic / Huge maps). Memory leaks are always hard to erradicate, some never are as the 'buffer' provided by the User's PC memory hides them long enough for them not to be an issue. But they will always occur, especially on Gigantic maps, as with the best will in the world its nearly impossible to stop it with the huge number of objects being manipulated.

However when it does happen, you loose the current .sav file, which is nuts. With me its usually when I do a safety save after a lot of work to guard against a crash etc - only to find I hit the memory full saga and the existing sav file has been eaten for lunch as well. End result is I loose the current efforts, plus all the work prior to the previous save as well because not only was there a memory problem its eaten the last .sav file, that could be a looooong time and ..... grrrrr   

The deleted save file does not appear in the XP TrashCan, so it cant be retrieved from there either. Whichever way you look at it, your stumped.


The Save routine should be changed to initially copy the current .sav file as "SafeSav.sav" - or something - then proceed with the processing. If the processing falls over due to lack of memory, the file is then renamed back to whatever .sav file it was at the start of the save routine - either automatically within the save routine, or is there for the user to manually rename. At least then "all" you loose are your efforts during the time between the last save, and the current memory problem - not the whole of the last efforts as well.

Its a small defensive programming measure very easily implemented that would save a lot of grief.

Regards
Zy
Comments
on Jan 31, 2007
My condolences, that is very troublesome...

I wonder why the memory performance is so poor on some machines; I've played gigantic/abundant-everything through to an influence victory and I keep task manager open next to the game window and I don't think I've ever seen it get to 900 megs (or at least not to 1 gB or more).
on Jan 31, 2007
I wonder why the memory performance is so poor on some machines


There is a thread somewhare about memory leakage (i didn't read it). Besides that, it is my experience that such things are a result of a minor weakness in your ram. swapping the positions of the ram or adding new ram can solve the problem.

Personally i always keep 3 saves and rotate between them, that way if one save gets eaten, i still have two backups. It is just a matter of saving the game every time you do allot of stuff ingame.