legacy-froudeg
03-23-2004, 01:27 AM
Hi,
I've been looking into the long map load, in game stutter problem - that in the majority of cases seems to be from hard drive access during the game. This is our old friend 'page file swapping' - some of you don't believe this is the cause and in some cases, based on the type of freeze/stutter you are getting it may not be, but the following will shed some light on why some of you with high end systems are getting disk swapping:
The problem lies with the sheer amount of ram ut2k4 uses, mainly in ONS mode - far more than people realise, and far more than the developers have let on. It's true that their minimum system spec of 256mb with occasional disk swapping is correct - but as you will see there are a few unmentioned restrictions.
Anyway, i have tested on 2 systems just what the true physical memory usage is of ut2k4 when playing different game modes, with different texture settings and options. By the way, looking at the memory usage in the task manager, via the process list is pointless - this is only half the story...it doesnt show usage by system drivers such as the gfx driver, the sound drivers...dll modules such as the openal driver and many other bits nd bobs that go into the whole memory usage equation.
Below is a table showing the true memory usage of ut2k4 after playing a few different rounds (and server swaps), of differing game modes. Please note the game was reloaded between switching game types - so as too acurately see the memory usage of just that game mode, without any bits of memory still allocated from a different game mode:
http://www.coolmods.com/generalpics/ut2k4memusage.jpg
As you can see the memory usage is quite high. You will notice ive colour coded the memory usage values - i'll get on to that in a moment.
Initial thoughts from looking at that might be 'hey its only using 400mb, and i've got 512mb so i should be fine'. Well unfortunately, windows xp consumes about 200mb b4 you even start the game, of which about 100mb can be swapped out at best. Which basically leaves you with no breathing room when the game is using 400mb.
Under these situations, what happens is that you cant fit all the world textures, sounds, character textures etc into physical ram in one go...stuff has to be swapped back nd forth to the virtual memory page file. This results in large stutters during the game when you see something new, or an event happens (like an air strike)...some stuff has to be swapped to hd from ram, to load in whatever you just seen, eg the air strike. Then you find as you go on playing the thing that was swapped is now needed and something else is swapped out - and so on...resulting in multi-second pauses.
Map loads can take ages...the maps are big and take a while to load as is, now if you have got swapping going on as well - then as with all hard drives, you ask them to read/write multiple things at once, and they will not just take twice as long to do it, but 10 times as long - as the access time of the heads comes into play flying back and forth doing multiple file reads/writes in blocks...thats what all that rattling noise is from your hd - it having to load the map, and swap stuff to the page file on the hd, at the same time...making the heads go frantic.
Now this does vary some what from one system to the next with the same amount of ram. When you are so close to the edge of available physical memory, little things like what sound card, gfx card, or other hardware you got can tip the balence - as drivers for all sorts of hardware use varying amounts of ram...some more than others etc.
Anyway, back to the chart. The colours indicate what the minimum ram you should have to ensure you dont get swapping on the big ONS maps with lots of players.
Green = 512mb
Blue = 768mb
Red = 1024mb
High isn't it. This is why a lot of people with 512mb ddr are getting swapping...even with normal textures on, a huge ONS map with a lot of players is too much. Notice tho, how DM maps are fine - they are much smaller, far less textures and no vehicles to deal with.
As for why the demo plays so much better - it uses less ram...why? - well for starters it has only a few characters, this saves like 50-100mb's of ram in character models. On a server with a lot of players, the demo characters dont take up much ram...but the full game has so many possible characters that the ram usage is far greater.
Secondly the demo has only normal textures, and it comes with a relatively small ONS map, compared to the goliath's like dria. I also think the sound files for the demo r of a slightly lower quality - saving more ram.
Finally, some people may say that their DM maps are also swapping...well if the case is you have just come out of an ONS map, then you porbably have got what i call a 'groggy' windows/ut2k4 - this is the result of nearly everything but the kitchen sink being swapped to the hard disk. Also having things like Norton Antivirus installed doesnt help (disabled or not) - that memory hog will lock near on 50-100mb or ram up, which cant be swapped out. So your effective memory usage is upto 100mb + the above readings.
After a big ONS map thats been playing for a while, huge parts of windows and the game itself that wasnt in use during your ONS game have been swapped to the hard drive, now comes the time to load a DM map, large parts of the game are still swapped to the hard drive, the map will take ages to load and that DM map will stutter like hell until it all gets back in - which can take a while, as its only called as needed..resulting in stuttery play.
Ok, so now you have heard why your getting hard drive swapping - whats the solution.
Well the most obvious is more ram! lol - but there are others, some of which people with 512mb are not going to like.
For people with 512mb you need to get the game usage down to about 350mb with the big ONS maps....you should first attempt just putting characters on low - least this doesnt sacrifice gfx too much and could save you 50mb on the big player servers. If its still a bit glitchy, well then you got no choice but to cut into other things - low sound quality is a good one, that can save a load...then start knocking down the texture detail from normal.
Of course, also dont even think about using preload player skins unless you have 768mb or more ram.
Finally - as for Epics 256mb minimum ram with little swapping - yep you can play with 256mb with not much swapping...just have textures on lowest, low sound detail, characters on lowest detail, and close everything you can b4 you run the game and big ONS maps with lots of players will probably be playable lol - look crap, but playable lol.
Of course 256mb and normal textures is playable for most dm and ctf maps.
To recap, the memory issues only tend to crop up with big ONS maps - unfortunatley this just so happens to be the most popular game mode, and the most fun :)
UT2004 is the best game i have ever played, its also one of the most graphically and texture intensive multiplayer games out there...combine that with the incredible game physics...and you have got one heck of a pc ball buster! - its pushed the envelope, just like the original unreal did, it just needs more ram! :)
I've been looking into the long map load, in game stutter problem - that in the majority of cases seems to be from hard drive access during the game. This is our old friend 'page file swapping' - some of you don't believe this is the cause and in some cases, based on the type of freeze/stutter you are getting it may not be, but the following will shed some light on why some of you with high end systems are getting disk swapping:
The problem lies with the sheer amount of ram ut2k4 uses, mainly in ONS mode - far more than people realise, and far more than the developers have let on. It's true that their minimum system spec of 256mb with occasional disk swapping is correct - but as you will see there are a few unmentioned restrictions.
Anyway, i have tested on 2 systems just what the true physical memory usage is of ut2k4 when playing different game modes, with different texture settings and options. By the way, looking at the memory usage in the task manager, via the process list is pointless - this is only half the story...it doesnt show usage by system drivers such as the gfx driver, the sound drivers...dll modules such as the openal driver and many other bits nd bobs that go into the whole memory usage equation.
Below is a table showing the true memory usage of ut2k4 after playing a few different rounds (and server swaps), of differing game modes. Please note the game was reloaded between switching game types - so as too acurately see the memory usage of just that game mode, without any bits of memory still allocated from a different game mode:
http://www.coolmods.com/generalpics/ut2k4memusage.jpg
As you can see the memory usage is quite high. You will notice ive colour coded the memory usage values - i'll get on to that in a moment.
Initial thoughts from looking at that might be 'hey its only using 400mb, and i've got 512mb so i should be fine'. Well unfortunately, windows xp consumes about 200mb b4 you even start the game, of which about 100mb can be swapped out at best. Which basically leaves you with no breathing room when the game is using 400mb.
Under these situations, what happens is that you cant fit all the world textures, sounds, character textures etc into physical ram in one go...stuff has to be swapped back nd forth to the virtual memory page file. This results in large stutters during the game when you see something new, or an event happens (like an air strike)...some stuff has to be swapped to hd from ram, to load in whatever you just seen, eg the air strike. Then you find as you go on playing the thing that was swapped is now needed and something else is swapped out - and so on...resulting in multi-second pauses.
Map loads can take ages...the maps are big and take a while to load as is, now if you have got swapping going on as well - then as with all hard drives, you ask them to read/write multiple things at once, and they will not just take twice as long to do it, but 10 times as long - as the access time of the heads comes into play flying back and forth doing multiple file reads/writes in blocks...thats what all that rattling noise is from your hd - it having to load the map, and swap stuff to the page file on the hd, at the same time...making the heads go frantic.
Now this does vary some what from one system to the next with the same amount of ram. When you are so close to the edge of available physical memory, little things like what sound card, gfx card, or other hardware you got can tip the balence - as drivers for all sorts of hardware use varying amounts of ram...some more than others etc.
Anyway, back to the chart. The colours indicate what the minimum ram you should have to ensure you dont get swapping on the big ONS maps with lots of players.
Green = 512mb
Blue = 768mb
Red = 1024mb
High isn't it. This is why a lot of people with 512mb ddr are getting swapping...even with normal textures on, a huge ONS map with a lot of players is too much. Notice tho, how DM maps are fine - they are much smaller, far less textures and no vehicles to deal with.
As for why the demo plays so much better - it uses less ram...why? - well for starters it has only a few characters, this saves like 50-100mb's of ram in character models. On a server with a lot of players, the demo characters dont take up much ram...but the full game has so many possible characters that the ram usage is far greater.
Secondly the demo has only normal textures, and it comes with a relatively small ONS map, compared to the goliath's like dria. I also think the sound files for the demo r of a slightly lower quality - saving more ram.
Finally, some people may say that their DM maps are also swapping...well if the case is you have just come out of an ONS map, then you porbably have got what i call a 'groggy' windows/ut2k4 - this is the result of nearly everything but the kitchen sink being swapped to the hard disk. Also having things like Norton Antivirus installed doesnt help (disabled or not) - that memory hog will lock near on 50-100mb or ram up, which cant be swapped out. So your effective memory usage is upto 100mb + the above readings.
After a big ONS map thats been playing for a while, huge parts of windows and the game itself that wasnt in use during your ONS game have been swapped to the hard drive, now comes the time to load a DM map, large parts of the game are still swapped to the hard drive, the map will take ages to load and that DM map will stutter like hell until it all gets back in - which can take a while, as its only called as needed..resulting in stuttery play.
Ok, so now you have heard why your getting hard drive swapping - whats the solution.
Well the most obvious is more ram! lol - but there are others, some of which people with 512mb are not going to like.
For people with 512mb you need to get the game usage down to about 350mb with the big ONS maps....you should first attempt just putting characters on low - least this doesnt sacrifice gfx too much and could save you 50mb on the big player servers. If its still a bit glitchy, well then you got no choice but to cut into other things - low sound quality is a good one, that can save a load...then start knocking down the texture detail from normal.
Of course, also dont even think about using preload player skins unless you have 768mb or more ram.
Finally - as for Epics 256mb minimum ram with little swapping - yep you can play with 256mb with not much swapping...just have textures on lowest, low sound detail, characters on lowest detail, and close everything you can b4 you run the game and big ONS maps with lots of players will probably be playable lol - look crap, but playable lol.
Of course 256mb and normal textures is playable for most dm and ctf maps.
To recap, the memory issues only tend to crop up with big ONS maps - unfortunatley this just so happens to be the most popular game mode, and the most fun :)
UT2004 is the best game i have ever played, its also one of the most graphically and texture intensive multiplayer games out there...combine that with the incredible game physics...and you have got one heck of a pc ball buster! - its pushed the envelope, just like the original unreal did, it just needs more ram! :)