How do I calculate video RAM requirements?

I'm upgrading my video card, but I can't decide between 512 or 1024 MB of memory. 512 is cheaper, and do I need 1024?

How do I calculate what's needed? Is it based on resolution, settings, ...?


A graphics card actually requires relatively little memory to function as a simple framebuffer (2D graphics) device:

For example - the framebuffer requirements for 1920x1080 in 32 bit colour would be:

  • 1920 x 1080 = 2073600 pixels
  • 2073600 x 32 = 66355200 bits
  • 66355200 / 8 = 8294400 bytes
  • 8294400 / 1024 = 8100 kilobytes
  • 8100 / 1024 = 7.91015625 megabytes

So even at that high resolution an 8MB card would be able to display an image.

You can double, or even triple that amount if you are using double or triple buffering (display one image while rendering another then switch to that new image while you render a third, etc).

All the rest of the memory is used when the card is working with 3D graphics to store internal copies (and transformed copies) of textures for rendering. The more memory you have the more and higher resolution textures the card can hold internally, so it won't need to be repeatedly sent the same textures over and over again by the gaming engine.

So basically the more memory you have the better it will be for 3D gaming.


It depends on the software (usually games) you want to run. Check their system requirements, maybe look at a few benchmarks. Of course you can't predict the requirements of future games accurately. You might need to reduce graphics detail on future games earlier with the 512 MB card.


I thought about VRAM a long time ago, and this article made the most sense to me. http://www.yougamers.com/articles/13801_video_ram_-_how_much_do_you_really_need-page3/

Now the article dates back to 2007, and uses Oblivion instead of Rift as a benchmark, but what I thought was really nice is how it has a graph showing the impact antialiasing has alongside resolution with the VRAM memory footprint, and that goes towards your question on explaining the calculations.