Extremely high memory use (leak?) in 0.3.9

Find any bugs in Vega Strike? See if someone has already found it, or report them here!
Post Reply
enlightenment
Mercenary
Mercenary
Posts: 106
Joined: Tue Apr 29, 2003 12:09 am

Extremely high memory use (leak?) in 0.3.9

Post by enlightenment »

The new Windows release uses utterly huge quantities of memory when playing in campaign mode. I've seen it grab 200MB after less than 15 minutes of play and 400MB after a half our or so. The game becomes basically unplayable due to swapping.

The trigger seems to be inter-system jumps. The heap expands by a several megs (read: 40+) every time the player jumps but this memory doesn't seem to be released nor does the heap size reach an equilbrium.

If this isn't a leak, then some tweaking of numoldsystems might be in order if this release is to run on computers with less than a half gig of memory.

System specifics:
Win2K SP2
866Mhz PIII
384MB SDRAM
GeForce2

VS config:
sound & music disabled
800Mhz
High detail graphics
1024x768x32bpp windowed
reflective per-pixel lighting
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

oh I figure everyone has at least a half a gig of ram these days...
but try tweaking the numoldsystems and see if you can get it working at an acceptible rate
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
enlightenment
Mercenary
Mercenary
Posts: 106
Joined: Tue Apr 29, 2003 12:09 am

Post by enlightenment »

hellcatv wrote:but try tweaking the numoldsystems and see if you can get it working at an acceptible rate
It's barely passible with numoldsystems set to 4. Getting decent performance requires a value of 2.

Again, this is on a 384MB system. With VS gulping down upwards of 40MB worth of VM every jump, a 512MB system isn't going to fare too much better.

The 800MHz default of 18 systems would not appear to be viable for Windows computers with less than 1GB of ram.
Shrike
Bounty Hunter
Bounty Hunter
Posts: 128
Joined: Fri Jan 03, 2003 4:51 pm
Location: Somewhere in the Multiverse
Contact:

Post by Shrike »

hellcatv wrote:oh I figure everyone has at least a half a gig of ram these days...
I've said this before but, I think that's a bad assumption. Most people have whatever was in their machine when they bought it.

Looking at the desktop systems for sale today at BestBuy.com:
http://www.bestbuy.com/ComputersPeriphe ... 0&scat=491
we see that almost all of them have 512. But last year, almost all of them had 256, and the year before 128.

What are these "oldsystems" and why do they need to be in ram anyway?
In a democracy, two wolves and a sheep take a majority vote on what's for supper. In a constitutional republic, the wolves are forbidden on voting on what's for supper, and the sheep are well armed. - Anonymous
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

well I shoudl have set the defaults better
if you only save 2 systems then you can't jump around as fast--but the game will play just fine.


the only problem is that it takes forever to load the next system you jump to--might as well keep it in swap sez I...
simulate fewer systems will reduce swapping tremendously


anyhow people are expected to have reasonable sized swap drives--and loading it from swap is a lot easier than loading it from disk.

the var is named "numoldsystems"
you could also change numrunningsystems. experiment to find good values--I use what's good for me...but if I don't get feedback I have no idea what's good for others

so we can say 4 numoldsystems and how about numrunningsystems
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
Shrike
Bounty Hunter
Bounty Hunter
Posts: 128
Joined: Fri Jan 03, 2003 4:51 pm
Location: Somewhere in the Multiverse
Contact:

Post by Shrike »

Hrmm, okay.

Well I've just downloaded 0.3.9.1 and will install it on my Athlon 1400 with 512ram (dualboot win2k/Lunix) and play with the variables.

In particular I'm interested in defining what "takes forever to load" means. For myself, I can handle it taking a while to load a new system, since I spend most time in the system, and very little time jumping between them.

More to come...
In a democracy, two wolves and a sheep take a majority vote on what's for supper. In a constitutional republic, the wolves are forbidden on voting on what's for supper, and the sheep are well armed. - Anonymous
enlightenment
Mercenary
Mercenary
Posts: 106
Joined: Tue Apr 29, 2003 12:09 am

Post by enlightenment »

hellcatv wrote: the only problem is that it takes forever to load the next system you jump to--might as well keep it in swap sez I...
If system memory is fully committed, leaving the OS to push unused (star) systems out into swap can result in the OS being forced to swap swap out in a battle (as VS brings in more ships) or at some other inoportune time.

In contrast, if VS manages unused systems internally, it can get rid of unwanted data--in the process maintaining enough free RAM to allow for new ships to be added to the active system without swapping--seemlessly and at natural breaks in the gameplay.
Post Reply