Graphics Memory Sizes Compared: How Much Is Enough?
EconolineCrush writes "Trying to decide between whether or not to get a 64MB graphics card, or spring for that 128MB version? Hit up this article, which explores the performance of ATI and NVIDIA-based cards with 64 and 128MB of memory, before swiping your credit card. Not so long ago 32MB was the top end for graphics memory on consumer video cards, but now even budget cards are available with 128MB. 128MB might seem excessive now, but a year from now 64MB cards might just be obsolete."
a year from now 64MB cards might just be obsolete
Bah. Next thing you'll be trying to tell me my Voodoo 3 2000 PCI is obsolete!
this might be offtopic, but why can't the RAM on graphics cards be modular, like the stuff we stick in computers? Is it a card manufacture conspiracy? a different type of RAM? I would be willing to buy a high end Graphics card if I could eventually stick 256, or 384 MB on the card.
Sig (appended to the end of comments you post, 120 chars)
How can you say that a 64Meg Video card may be obsolete in a year!?
If a piece of hardware is doing what you need it to do, then it is not obsolete. Not every plays/needs/wants the latest UT2003/Doom3 game.
"This must be a Thursday, I never could get the hang of Thursdays."
"...but a year from now 64MB cards might just be obsolete."
So? A year from now, 128MB might be a low-end card, too. So in a year, buy a new card. Don't invest in tomorrow's technology today at a premium, when you can get it tomorrow at a discount. That's why smart buyers invest in modular components. When your hardware gets outdated, pluck and chuck.
I never invest in the top-end. I buy in the middle ground. Why? Because components drop from high-end to mid-range very quickly, but then stay there a long time before obsolescing to the low-end (or dead-end). And when a product drops from the high-end to the middle ground, the pricetag typically gets cut in half.
Here's something you should consider before buying a 128 MB GeForce Ti-series card. There are four choices you can make right now:
;) .....
Ti-4600: Highest price, best features, 10.4 GB/s memory bandwidth, 650 MHz memory clock
Ti-4400: High price, excellent features, 8.8 GB/s memory bandwidth, 550 MHz memory clock
Ti-4200 (1): Decent price, great features, will handle BF1942 and UT2003, 64 MB limit, 8 GB/s memory bandwidth, 500 MHz Memory clock
Ti-4200 (2): High price, great features, slowest out of all 4 thanks to memory speeds, will handle BF1942 and UT2003, 128 MB limit, 7.1 GB/s memory bandwidth, 444 MHz memory clock.
Basicly, on the 4200's, if you go for double the memory for almost double the price, you will see a performance hit.
After my research (urged on by PNY's box), I decided that by the time I need 128 Mhz, I'll also want the features of a chip beyond the current Nvidia line.
Of course, if you want anything that performs beyond the 4200, then why bother reading anything here in slashdot? You're getting at least 128 MB on your card
So, this weekend, I found a 64 MB Ti 4200 for $129, and it printed out a $30 rebate at the counter. Happy day, indeed. I spent the rest of the weekend playing OpenGL-boosted Doom and Hexen.
BTW, if you are completely out of the know, but love gaming, do not but the MX series of cards. They are not for you.
Frame, depth, and stencil buffer: 1024x1024x(32 bits + 32 bits + 8 bits) = 9 megabytes
9 megabytes so far. No problem. Double that when I push the resolution up to 1600x1200 for demos, but we'll ignore that for the moment. Now, the model I'm using has 19MB of surface texture, so we're up to 28MB. The system I'm running on this poor hypothetical card uses 512x512 textures to replace distant geometry. Each one takes up 768K of memory and I've generally got a working set of between 40 and 60 textures. There's another 30-45MB, so total usage is somewhere between 58 and 73MB. Add in shadow maps and we lose another 20 or 30MB. The 64MB card is now swapping to AGP memory. The 128MB card is filling fast. It's adequate for the current generation of the system I'm running, but before I can write the next couple versions I'm going to have to implement some serious resident-texture-set cache management.
Now, you can certainly argue that this is an atypical application. You would be quite correct. However, I do need that much video memory and I do use it. Yes, it's massive overkill if you want to play Quake, Unreal, whatever, but once you start looking into more exotic applications it's easy to get into situations where you can use arbitrary amounts of texture RAM. Real-time shading can get you there in a hurry, too, once you start using textures as lookup tables for expensive-to-compute functions (e.g. light fields or factorized BRDFs) or caching the framebuffer for later re-use.
So yes, 90% of the programs 90% of users will run will currently fit neatly in 64MB of video memory, but there definitely exist systems that require more than that.
These card use up to about 4MB - more like 2MB or less for 16-bit modes, for the framebuffer, and the rest is used solely for storing textures.
If you do not use OpenGL/Direct3D, then any RAM above, say 8MB (you may be doing dual or triple-head at 1600x1200 32bit or more), is completely useless.
The extra bandwith on the cards is also useless, as only 3D operations are accelerated across the super-fast busses built into these cards.
Everything else, including 2D blits in the majority of available OpenGL/Direct3D drivers are handled by the host CPU and involve reading from system RAM and passing that data across the AGP bus.
I am not aware of many (any?) games that can take advantage of more than 64MB of texture RAM, and while games that *may* take advantage of >64MB are on the horizon, the big news for games is vertex/pixel shaders, rather than the ability to texture map hundreds of megabytes of pixel data per frame.
There are applications that will benefit from the availablity of 128MB or more texture RAM, but these are typically custom-written scientific visualisation apps, or conceivably you could use 128MB of textures to do realtime previews in your lightwave/3DS Max/Maya/Blender scenes.
However, the actual utility of this RAM for most desktop users and even gamers is rather questionable. I don't doubt that the Radeon 9700 and the NVidia Ti4600 are fast cards, but they still rely heavily on the host CPU to achieve their stellar performance, as opposed to some of the professional cards which provide much more capable geometry engines and accelerate practically all of the openGL pipeline, as opposed to the consumer cards which are focussed mostly on texturing and fillrate optimization, ideal form games but not necessarily optimal for other forms of 3D activity.
That being said, the pace of development from Intel and AMD have made it more difficult to justify using dedicated hardware for these seteps, as a 2GHz Athlon will probably out-light-and-transform dedicated OpenGL hardware, which is much more costly and low-volume to produce.
The SGI O2 is a good axample of a machine that simply uses system memory to store textures, and while the SGI's graphics system is not in the same class as some of the more modern 3D boards from NVidia and 3DLabs, it is certainly sufficient to do impressive texture-mapping demos. This is really not an option on the current x86 architectures, but is a useful example of the 'other' way to handle texture memory, as it allows the user of the system to make maximum use of the resources available - i.e. when 3D graphics are not used, the 'texture memory' is available to the apps, and vice-versa.
I think it is amazing that we now have consumer cards that contain more texture memory than was typically available as system RAM in a mid-range 3D workstation a few years ago, but the unfortunate thing is that very, very few people are able to put those capabilities to real use with the current crop of system architectures, applications and games available
I gots ta ding a ding dang my dang a long ling long
Quartz Extreme.
:-D
Ok Ok, so it's a Mac OS X thing, so what? How long before M$ innovates this feature into Windows? How long before it's patched into XFree86?
Think of all the cool things you can do, both for visual pleasure and UI functionality by operating in an accelerated, 3D enviroment, while the main CPU is free to crunch away at whatever it is you have your CPU doing, thus improving overall speed. Yes, I realize the CPU still has to intruct the card of what to do, but at least we're not blitting as we're trying to host web pages, for example.
For that you're going to need texture memory. Lots of texture memory. When you run out of memory on the card, the framebuffers must be stored in RAM. When those framebuffers are needed, you'll need to swap them into the card's RAM. This will cause the main CPU to stutter as it pumps a couple 8-9MB buffers through the system & PCI bus, which, needless to say, will get old fast, especially if the framebuffers get paged out to a swap file. Yuck!
Of course, maybe you should wait until the other 2 of the Big Three implement this in some form (I know some work as been done on a 3D window manager for X, no idea if it's meant to take advantage of acceleration, though). I've heard rumor that M$ is working on it for Windows XP(ensive) 2005 or 6 or whatever it is, and I'm sure some Linux hacker has it working on his overclocked Athlon box already. Either way, you probably want to be ready for this. Or wait and buy a card when it finally happens, when 128MB will be standard.
Since color depths will probably never exceed 48-bit (32-bit + alpha), screen resolutions are fine at 2???X???? or whatever the current highest is, it'd take quite a few windows open at once to framebuffer all that memory up. Assuming about 8 megs per window, which is admittedly above average for most windows (sans Photoshop or web browsers), you'd get about 14 or 15 windows open at once.
Oh well, someday, you'll be sorry your card doesn't have 512MB on-board
CAn'T CompreHend SARcaSm?