Comments

rmack350 wrote on 4/17/2007, 9:17 AM
Glenn, this is evidently a Vista thing. I can't really cite the source but I'm looking at a sheet listing an nvidia card with 512 MB on the card and specifying that, on a system with 2GB or greater installed, up to an additional 272 MB may be dynamically allocated to the graphics card.

If you were to look at the Display/Advanced/Adapter control panel in Vista what you'd see is

"Total Available Graphics Memory" = 784 MB
"Dedicated Video Memory" = 512 MB
"Shared Video Memory" = 0 MB (Rob: This is typically used by Intel integrated graphics)
"Shared System Memory" = 272 MB (Rob: This is dynamically allocated for the card or for integrated ATI or NVIDIA graphics)

The shared memory will vary depending on your driver version and amount of memory installed but the main point is that in Vista the driver *can* appropriate system memory even if there's tons of memory on the card.

This is not to say that the driver *will* take system memory, just that it *can*. Since you could easily drive 3 displays at 1920x1080 with just 64 MB the only time you'd ever need that much memory is when storing 3D data.

So. In a way it is better to have a card with a little less memory and let it scavenge what it needs from system memory - at least with a 32-bit system. Why? It's about hardware addressing. Whether it's system RAM, graphics card RAM, or any other device, it all requires addresses. 32-bit windows has a finite pool of addresses and a fat graphics card will take away addresses that could be used for system memory. This is why when you install 4GB of RAM Windows will report far less as being available (in fact, Vista has a 3.12 GB cap). So, if a card has less onboard RAM and scavenges system memory dynamically, that same system memory is still available for applications. It's no different from any other set of applications competing for memory.

Just as an example, our Axio systems with 4.0GB installed only have 2.4 GB available to Windows32 because all the other hardware takes up addresses. (It's galling, to be sure)

Of course the main reason to put so much RAM onto a graphics card is to give it very fast access to the memory. Having to access system memory is much slower. And this is why AMD is pushing forward on a new Hypertransport standard that can give a graphics card more direct access to system RAM, and why intel will be pushing forward on a similar improvement to PCI Express to create a faster link between graphics cards and the memory controller on the northbridge chip.

If you read between the lines, I think all of this points towards graphics processors becoming much more integrated into the system as a whole, providing processing power to the system overall while sharing memory resource in common.

Rob Mack
rmack350 wrote on 4/17/2007, 9:33 AM
BTW, all of this is relevant to 32-bit Vista. in a 64-bit OS you could install 8GB as system memory and put a graphics processor card in the system with huge amounts of memory on it. For instance, in looking up ATI stream proccing articles I came accross one that talked about a card (being demoed) with 4GB RAM. In a 32-bit windows system this would be impossible. The system wouldn't even boot.

Rob
GlennChan wrote on 4/20/2007, 11:58 PM
So in Vista, Windows can *dynamically* RAM to the graphics card or itself/apps? As opposed to the video card having a fixed amount of RAM available to it.

On a vaguely related note, here is some speculation about why AMD bought out ATI
<a href="http://www.dvdoctor.net/content/item.php?item=6541">http://www.dvdoctor.net/content/item.php?item=6541</a>
http://www.dvdoctor.net/content/item.php?item=6541
Coursedesign wrote on 4/21/2007, 12:51 AM
...and today, a financial analyst said AMD has cash for two more quarters...

That ATI buy was a big ticket item. If it doesn't pay off very quickly, AMD will be shark bait.