Is there a ceiling for recognizable Video Ram

piscian18

[H]F Junkie
Joined
Jul 26, 2005
Messages
11,020
Going to be running tests on an 9600GSO 768MB SLI setup this week and I have an odd question. Gaming wise is there a ceiling for how much GPU ram can be recognized? I have heard that some new 2GB cards coming out perform better than their 1GB counterparts. Is this architecture or are games actually absorbing as much ram as you can throw at them?
 
Your question is a bit confusing, since it seems to be asking two things at once...

There is no inherent ceiling for recognized video memory by the OS with any modern day graphics card.

However, there is an amount of video memory above which you don't really benefit anymore.. of course this varies game to game, and completely depends on what settings you use (higher settings i.e. resolution/AA use more video memory).

So the answer is yes and no... if you know what resolution and settings you want to use are, sure you could probably get away with less than a 1GB card. But similarly, for certain configurations, 512MB is just too little memory, and you will run out of video memory, at which point your framerate will tank because when you run out of video memory, the system uses RAM for "overflow capacity", meaning much slower access times and throughput for the GPU to fetch data.

In general, for most people playing 1280x1024 (with AA) to 1920x1200 (little to no AA), 512-800MB should be fine. If you want to run lots of AA and detail at 1920x1200 or up to 2560x1600, I'd say you should go for 800MB-1GB+ of video memory.
 
Well, a 64-bit operating system would allow you to use up to 17,179,869,184GB of memory. Let's say you go crazy and get an i7 with 24GB of RAM inside. Then let's take another GB off just for all the other devices inside your computer that like to eat up little bits of memory. That leaves you with a theoretical 17,179,869,159GB limit to your VRAM.

Don't worry about running out of address space any time soon. :p
 
Well, a 64-bit operating system would allow you to use up to 17,179,869,184GB of memory. Let's say you go crazy and get an i7 with 24GB of RAM inside. Then let's take another GB off just for all the other devices inside your computer that like to eat up little bits of memory. That leaves you with a theoretical 17,179,869,159GB limit to your VRAM.

Don't worry about running out of address space any time soon. :p

lol.

Don't forget also, that even on a 1GB video card, only 256MB or so will be mapped into your address space :)
 
Your question is a bit confusing, since it seems to be asking two things at once...

There is no inherent ceiling for recognized video memory by the OS with any modern day graphics card.

However, there is an amount of video memory above which you don't really benefit anymore.. of course this varies game to game, and completely depends on what settings you use (higher settings i.e. resolution/AA use more video memory).

So the answer is yes and no... if you know what resolution and settings you want to use are, sure you could probably get away with less than a 1GB card. But similarly, for certain configurations, 512MB is just too little memory, and you will run out of video memory, at which point your framerate will tank because when you run out of video memory, the system uses RAM for "overflow capacity", meaning much slower access times and throughput for the GPU to fetch data.

In general, for most people playing 1280x1024 (with AA) to 1920x1200 (little to no AA), 512-800MB should be fine. If you want to run lots of AA and detail at 1920x1200 or up to 2560x1600, I'd say you should go for 800MB-1GB+ of video memory.

benchmarking 1900x1200 with AA and without using 3DMark, Stalker, L4D, and FC2.

I'm just curious as to how much the 1536MB Vram is gonna to end up getting used. I wish I had a tool that could measure that. the memory interface is going to be 192-bit or will it be combined 384-bit? whats the limit on how much bus bandwidth you can have shared two cards?
 
benchmarking 1900x1200 with AA and without using 3DMark, Stalker, L4D, and FC2.

I'm just curious as to how much the 1536MB Vram is gonna to end up getting used. I wish I had a tool that could measure that. the memory interface is going to be 192-bit or will it be combined 384-bit? whats the limit on how much bus bandwidth you can have shared two cards?

you don't have 1536mb of vram, you 768mb of it. the memory is mirrored
 
Well, a 64-bit operating system would allow you to use up to 17,179,869,184GB of memory. Let's say you go crazy and get an i7 with 24GB of RAM inside. Then let's take another GB off just for all the other devices inside your computer that like to eat up little bits of memory. That leaves you with a theoretical 17,179,869,159GB limit to your VRAM.

Don't worry about running out of address space any time soon. :p


Dude, I would love 17 BILLION GBs of Ram....
 
Then how much ram can be used or are you just correcting my wording?

2x768MB?

When you have two 768MB cards in SLI, the game will only see 768MB. The cards are not able to share the RAM (the bandwidth required to do that would be insane). To quote HardOCP, each GPU has 768MB of memory to work with, and each set of memory must contain the same data.

This holds true even on the SLI/Crossfire cards like the 9800GX2, GTX 295, 4850X2 and 4870X2. Those are really two cards sandwiched into one board. They have two GPUs, each with their separate pool of RAM. So a GTX 295, while it has 1792MB of RAM on board, the game only has 896MB to work with, and on a 2GB 4870X2, the game will only have 1GB to work with. Yes, this is terribly misleading, but the marketing departments in the video card world just can't resist going with the larger number.
 
Then how much ram can be used or are you just correcting my wording?

2x768MB?

like said above your system will only see (that is address from the system) 768mb. If you run outside of sli mode then you will have two video cards with 768mb. to keep the cards in sync the memory in the frame buffers has to be mirrored (this is a limitation of both ATI and Nvidia setups). it also accounts for some of the overhead associated with running multiple GPUs

I wasn't trying to nitpick your wording, I was under the impression that you had misunderstood the difference.
 
lol.

Don't forget also, that even on a 1GB video card, only 256MB or so will be mapped into your address space :)

Fairly sure you're wrong here -- I had 4GB of RAM and a 768MB 8800 GTX running Vista 32bit briefly and only got to use ~3GB of my RAM, so the GPU's memory was certainly all mapped in such a way that it used up address space. Might not technically have been 'mine', but it was certainly space that I was trying / needed to use.
 
What happens if you try to use a 4+ GB video card in a 32-bit OS?

Good question. We should ask someone with Quadfire to install XP32 or Vista32 and see, given that's the nearest to a 4GB card you can get right now.

If I had to guess, the OS will show little or no available tradition RAM, and may not function, if the behavior with lesser amounts of video memory is any indication.
 
Good question. We should ask someone with Quadfire to install XP32 or Vista32 and see, given that's the nearest to a 4GB card you can get right now.
I think if you use four separate 1 GB cards, the OS just recognizes a total of 1 GB memory. Or does using SLi/CF cause the OS to allocate less system memory, too?

I was referring to something like this:
http://www.newegg.com/Product/Product.aspx?Item=N82E16814133253

A card that actually has 4 GB of total effective memory.
 
Good question. We should ask someone with Quadfire to install XP32 or Vista32 and see, given that's the nearest to a 4GB card you can get right now.

If I had to guess, the OS will show little or no available tradition RAM, and may not function, if the behavior with lesser amounts of video memory is any indication.

Nope you'd be fine with 4GB in a 32-bit OS even with 2 4870X2's, as long as whatever software you had running didn't go over 2GB of RAM usage or so. People actually had a pretty lengthy discussion about this exact issue over in this thread. Without having to parse through the hogwash in that thread though, the XFire 4870X2 it shows up in windows as 2x1GB cards, meaning that only 1GB of address space is actually reserved for the video card since that will be mirrored on the second 4870X2, which will be mirrored between its own twin banks of 1GB VRAM. In essence the OS sees this setup when addressing the VRAM as ((1x1)x(1x1)) = 1GB, while physically the cards are ((1+1)+(1+1)) = 4GB. It all boils down to how much VRAM is alloted per GPU and not per logical card. Someone correct me if I'm wrong.
 
I think if you use four separate 1 GB cards, the OS just recognizes a total of 1 GB memory. Or does using SLi/CF cause the OS to allocate less system memory, too?

I was referring to something like this:
http://www.newegg.com/Product/Product.aspx?Item=N82E16814133253

A card that actually has 4 GB of total effective memory.

in quadfire your right, only 1gb of memory is mapped. a card that had 4gb on would either have to be paged by the driver (I am not sure how the newer opengl cards work) or use a 64bit system to address it. If you put 4gb on a gaming card it would require a 64bit system but it may be possible to use other solutions, think back to dos using expanded memory and extended memory (I am showing my age here).

so to answer your question I don't know but I suspect that a 64bit system is required but probably does not have to if workarounds are used.
 
Nope you'd be fine with 4GB in a 32-bit OS even with 2 4870X2's, as long as whatever software you had running didn't go over 2GB of RAM usage or so. People actually had a pretty lengthy discussion about this exact issue over in this thread. Without having to parse through the hogwash in that thread though, the XFire 4870X2 it shows up in windows as 2x1GB cards, meaning that only 1GB of address space is actually reserved for the video card since that will be mirrored on the second 4870X2, which will be mirrored between its own twin banks of 1GB VRAM. In essence the OS sees this setup when addressing the VRAM as ((1x1)x(1x1)) = 1GB, while physically the cards are ((1+1)+(1+1)) = 4GB. It all boils down to how much VRAM is alloted per GPU and not per logical card. Someone correct me if I'm wrong.

no, your right, the issue here is how much memory the system has to be able to address, as the memory is mirrored the system still only has to deal with 1gb.
 
Nope you'd be fine with 4GB in a 32-bit OS even with 2 4870X2's, as long as whatever software you had running didn't go over 2GB of RAM usage or so. People actually had a pretty lengthy discussion about this exact issue over in this thread. Without having to parse through the hogwash in that thread though, the XFire 4870X2 it shows up in windows as 2x1GB cards, meaning that only 1GB of address space is actually reserved for the video card since that will be mirrored on the second 4870X2, which will be mirrored between its own twin banks of 1GB VRAM. In essence the OS sees this setup when addressing the VRAM as ((1x1)x(1x1)) = 1GB, while physically the cards are ((1+1)+(1+1)) = 4GB. It all boils down to how much VRAM is alloted per GPU and not per logical card. Someone correct me if I'm wrong.

You could not take them out of Crossfire, though, as they'd then show up as 4GB of addressable space (4x1GB). I don't see XP (or even Vista 32bit) having provisions in place to deal with that.
 
You could not take them out of Crossfire, though, as they'd then show up as 4GB of addressable space (4x1GB). I don't see XP (or even Vista 32bit) having provisions in place to deal with that.

actually that is a good question, xp normally takes care of such things buy truncating the system ram, would not help it here. I wonder how that is dealt with. I am sure there is some mechanism to handle it though
 
The OS ram limitation was in the back of my mind but I figured it most likely only applied the addressable space on the system memory.

So going back then if processing stacks up on both my GPU's then each shared process will be loaded into Vram on whichever card the process was run on so theoretically I can make full use of each set of 768MB?
 
So going back then if processing stacks up on both my GPU's then each shared process will be loaded into Vram on whichever card the process was run on so theoretically I can make full use of each set of 768MB?

Are you going back to post 8? With SLI, each GPU has to have the exact same data in memory. So even though you have 1536MB of RAM chips on the card, it's divided into two copies of the same 768MB of data. The card can only handle 768MB of data from the game, not 1536MB. If you were to tri-SLI another 768MB card into that setup, the setup would still only be able to handle 768MB of game data. You'd have 2304MB of RAM, but it would be three copies of the same 768MB of data. With SLI, you're adding another GPU to work on the same pool of data (each GPU just gets its own copy of the data).
 
You could not take them out of Crossfire, though, as they'd then show up as 4GB of addressable space (4x1GB). I don't see XP (or even Vista 32bit) having provisions in place to deal with that.

False. First of all, each card (even in crossfire) needs addressing space. Crossfire has zero effect on the OS address requirements. The driver needs access to the GPU RAM, thus it needs addressing space. Second, only 256mb PER GPU is reserved. It doesn't matter if the card has 1GB or 1TB of VRAM, it will only get 256mb of reserved addressing space.

So dual 4870X2s will reserve 1GB of RAM *total* (4x256mb), regardless of its configuration (crossfire or just 4 single GPUs - it doesn't matter. It will still be 1GB of addressing space reserved)
 
False. First of all, each card (even in crossfire) needs addressing space. Crossfire has zero effect on the OS address requirements. The driver needs access to the GPU RAM, thus it needs addressing space. Second, only 256mb PER GPU is reserved. It doesn't matter if the card has 1GB or 1TB of VRAM, it will only get 256mb of reserved addressing space.

So dual 4870X2s will reserve 1GB of RAM *total* (4x256mb), regardless of its configuration (crossfire or just 4 single GPUs - it doesn't matter. It will still be 1GB of addressing space reserved)

Ah I think I can understand what you're saying. Here's some back up material on the whole 256MB deal, also some over here. It now makes a lot more sense why they gave it the name AGP "aperture" in the first place (think lenses). Basically the CPU can only "see" the VRAM through that aperture and the driver takes care of making sure the CPU can see what it needs to and handles the rest itself with the GPU's internal memory controller so that address space isn't needlessly wasted. Beyond that it got kind of confusing about the backing store, kernel vs. virtual address space and changes that were made with DX10.

From part 2 and 3 of this article it actually appears XP32 is somewhat better suited to deal with large VRAM amounts than Vista32 is with respect to how WDDM virtualizes the video memory. Bottom line seems to be that a 64-bit OS is becoming more necessary with high fidelity titles.

Out of all that it appears that the 4GB Quadro card would indeed work inside of a 32-bit OS, but it would be very hard to actually use all 4GB on it effectively with one application that has a lot of textures and graphics data. Any insight on that setup kllrnohj?
 
Out of all that it appears that the 4GB Quadro card would indeed work inside of a 32-bit OS, but it would be very hard to actually use all 4GB on it effectively with one application that has a lot of textures and graphics data. Any insight on that setup kllrnohj?

32-bit vs. 64-bit is irrelevant for VRAM usage. It isn't any harder to make use of the VRAM in a 32-bit system. Remember, that 256mb mapping isn't fixed to a specific VRAM section, it can slide to various positions in the VRAM.

So for example, say you have 1GB of VRAM. The 256mb mapping can be anywhere in that range. It will initially start at the first address, but the driver can shift it to, say, the 512mb point. An application that has 4GB of textures and data (like, say, 3d modeling programs - which is what the Quadros VRAM was designed for ;) ) will be able to fill up the full amount of VRAM quite easily (the application doesn't actually have to worry about it, the driver does). It will just have to shift the 256mb window at least 16 times (most likely it will be quite a bit more than that, but 16 would be the minimum).
 
Fairly sure you're wrong here -- I had 4GB of RAM and a 768MB 8800 GTX running Vista 32bit briefly and only got to use ~3GB of my RAM, so the GPU's memory was certainly all mapped in such a way that it used up address space. Might not technically have been 'mine', but it was certainly space that I was trying / needed to use.

No, he's absolutely correct. There are more devices in your computer that need memory-mapped I/O windows than just your video card - even if the components are integrated, they will still use PCIe lanes. The 256MB PCIe window for your video card is a balance between performance and memory space.

With my system (4850 512MB) I have 3.25GB free.

What it comes down to is how your motherboard and chipset are configured.
 
Never said you wouldn't see /less/ available than 4GB - whatever's on your card, I actually said ... well, exactly what you're saying.
 
Back
Top