PDA

View Full Version : Frame buffers, what happens when you run out?


neologan
03-09-2006, 04:12 PM
If you have a GPU with a 256MB frame buffer and you run a game at a super high res with every image quality setting (aa, af, hdr) on, and then you run out of frame buffer memory, what happens then?

Does the rest of the data get passed onto system memory, what effect does it have on performance?

any technical answers would be appreciated :)

Jarrod1937
03-09-2006, 06:41 PM
if you're on an agp system there is an option in the bios called agp aperature size, this tell your computer how much system ram can be used when video ram runs out. i'm not sure about pci-e but i think it has a similar feature but dynamically allocates system ram when needed.
well it hurts performance a bit because you're sharing some of your system ram with your video card so you have less, the system ram is slower, if you have little system ram and a high aperature limit then system stuff will be pushed into the page file... etc. its best to get the most ram on both sides (video card and system). however most games don't use more than 256 mb of ram for textures and rendering, some do though. i say, don't worry about it :)

nn_step
03-09-2006, 07:19 PM
Actually the massively increased latencies invoked because of the use of system ram is a penality one should seek to avoid..

neologan
03-09-2006, 08:05 PM
So as soon as you over run the 256MB on the card you end up incurring latency penalties all round or just under situations where it needs to access something in the system memory?

nn_step
03-09-2006, 08:14 PM
Generally all around but it is extremely rare these days to be running an application that requires more than 256MB of Ram. infact Only on Extremely High settings would such a thing occur.

neologan
03-09-2006, 08:20 PM
thanks for the info guys, cleared up a few things.

One last thing. We see recommendations that 2GB of system memory is needed for games such as BF2 when you use highest settings. Is this a totally indepedant requirement from the frame buffer? Even if you had a 1GB card, would you still need to have 2GB to stamp out stuttering?

Essentially is it other game engine bits that will use up up the system memory and make you need 2GB?

nn_step
03-09-2006, 08:23 PM
it is something completely different.
256Mb is suggested for the Graphics card unless you just love Eye candy, then 512MB is the way to go.
and 1-2Gb is what is suggested for onboard RAM..
Hopefully that makes everything clear to you.

neologan
03-10-2006, 07:39 AM
last question, what the hell is stored in 800MB of system memory in a game like battlefield 2 that requires that much main memory? I mean, if you use medium texture settings it will use less system memory than if you use the highest texture settings from what i see, but why should that requirement increase if your storing textures in the frame buffer?

nn_step
03-10-2006, 07:41 AM
The game and all the files it needs and the OS. it really shouldn't change much.

neologan
03-10-2006, 07:44 AM
well if i use medium settings the game runs very smooth, if i try and put them on high i get major stuttering from hard disk access, this is wth 1GB RAM and a 256MB card.

If system memory requirements don't change much depending on the texture settings used, why would it start to cause hdd access on using higher settings?

neologan
03-10-2006, 07:54 AM
hmmmm would that experience actually be going beyond the 256mb framebuffer limit, needing to access sytem memory and thus hitting the latency penalty?

nn_step
03-10-2006, 07:56 AM
Simple answer More EyeCandy=more Ram needed.
the Game it self never changes, but the files it needs often changes and thus the amount needed in the ram Changes.

Jarrod1937
03-10-2006, 08:52 AM
speaking as a person who designs and makes games i will tell you.
the system ram is mainly used for such things as game models (higher the poly the more space needed), actual level information (such as placement of these objects), things needed by the os (base os stuff and stuff used by opengl or dx, dx 9 takes up a lot of ram), things and .dll's needed by the game engine itself, if its online then the human characters and thier placement and movements...etc.
video ram is mainly used for textures, because textures unless they are .dds compressed, take up a lot of ram. say you have a 2 mb .jpg texture (which in all reality is usually not going to happen for a .jpg file for a game texture)... in the video memory uncompressed (it has to be uncompressed to be used) it would be close to 6mb in size. now you can see why you need a lot video memory. however video memory can also be eaten up by increased resolutions, fsaa, af, temporal fsaa, and other image quality settings. of course some video card ram is also needed for the actual rendering too.
with doom 3 with a 128mb card i was able to play the game at ultra quality, meaning it actuall used completly uncompressed textures (usually on lower settings it would use dxt compression) which equals close to 512mb of total texture size, however because of the system ram i was able to play it fine, what this does result in is slower and longer loading times (by a lot) and the occasional stutter when new textures are being moved from the system ram to the video card ram (the textures being displayed at the time get the maion priorty and therefore get moved to the video card ram).
hope that helps.