Sidenote: New Graphics Cards and VRAM – How Much Is Enough?

The rumor mill is heating up with just a week left until AMD unveils the Radeon RX 6000-series graphics cards.

The current rumors have 3 cards being announced to compete with Nvidia’s RTX 3000 lineup – an RX 6900 XT, 6800 XT, and 6800. The performance teaser at the end of the Ryzen event earlier this month, it is rumored, was on the 6800 XT and not the higher-tier 6900 XT, which means that, in theory, AMD may have a card on their hands that beats the RTX 3080 in raw performance.

What I find most interesting about these rumors, however, is the VRAM amounts on each card. The Radeon lineup is, supposedly, launch with the top 2 cards both having 16 GB of memory, with the lowest of the 3 announced next week to have 12 GB. On top of this, rumors have indicated that the whispers of 20 GB RTX 3080s and 16 GB RTX 3070s won’t come to pass, as Nvidia cancelled plans for the doubled-memory cards, at least in the form they were originally planning.

This is interesting to me because of a few things. One, my own hangup with memory – I’ve come around on the idea of getting an RTX 3080 even with 1GB less VRAM than my 1080 Ti after reflecting on the performance and seeing how things have panned out, but also, because I think that video memory is one of those black box things people intuitively think of as a “more = better” situation without really analyzing what VRAM does for them and how it is used.

So, today, with those rumors setting the stage, I thought I’d talk about VRAM on new GPUs and where the line is for what modern gaming needs.

Firstly, the explainer to start – what is VRAM used for? Broadly speaking, VRAM holds anything that your GPU needs to render and display a scene on your computer. At your desktop, it can store app icons, your wallpaper, and OS elements, in a game, it stores textures, models, shader code, and all sorts of data used to composite the final image – bounding-volume hierarchy testing results for ray-tracing, viewport frustum data used to cull undisplayed objects and reduce GPU processing load, and a variety of other data. Most importantly, it also serves as the frame buffer, holding the completed scene and sending it to your display to be shown to you.

VRAM size has grown over time to accommodate new features and increasing resolutions. When 1080p became a common screen resolution, GPUs started moving towards 1 GB+ of VRAM. As 1440p got more popular, cards with 4 GB of VRAM became commonplace. As we’ve moved to 4k, 8 GB and higher has become more normal, and the only card stupid enough to be advertised as 8k capable has 24 GB of VRAM onboard. Resolution is not the only driver of VRAM size, but it is one of the most substantial, as the role of frame buffer tends to occupy a large portion of the VRAM’s size. However, resolution also has knock-on effects that drive other increases in memory consumption. Higher rendering detail means low-resolution textures and low-detail polygonal models look bad, so those both have to increase in detail (and memory consumption). Shader code needs to run on more pixels and report back with the results for rendering the final scene, increasing the size it takes up. BVH testing for ray-tracing has to run on a greater number of objects, increasing the memory demands there.

For the last 5 years or so, 8 GB has been sort of an upper-bound for cards marketed as 4k capable, but as with much of technology, the cards sold to gamers wanting a 4k experience have crept up in VRAM amounts. Until the 30-series, Nvidia sold their top end gaming cards with 11 GB of VRAM, which allowed them to disable a memory controller for silicon yield purposes and sell the cards with odd (and cheaper!) amounts of VRAM. The same thing is happening with the RTX 3080 as well, it just has two memory controllers disabled, from 12 to 10 – the 3090 runs two memory chips per controller to get 24 GB, while the 3080 runs 1 per channel to get to 10 GB. What the marketing spin wants you to buy into is that 10 GB is really the floor for 4K, and anything less won’t do, but in truth, it gets a bit murky.

Firstly, games are wildly different in terms of texture resolution and detail, file formats and compression methodologies used, and how large other assets like models and the amount of shader code used are. Comparing WoW and FFXIV in the MMO space, as an example, and WoW uses lower-resolution textures and assets, on average, while FFXIV uses higher fidelity assets. However, FFXIV also has a lot of optimizations for console play on the PS4, so while you might think that FFXIV is the more demanding of the two games, there are scenarios in which WoW is more demanding. WoW in particular seems to have particle systems that are less optimized, with some effects capable of bringing even an extreme system to its knees.

Secondly and perhaps most importantly, though, is that it is damn near impossible to get actual usage numbers for VRAM. A lot of monitoring tools can only detect how much VRAM an application has reserved for use, and not the actual total usage. It is common to see games reserve as much as they can – even up to the full amount on the card – and then not use all of it. Benchmarks like these older ones from TweakTown, then, give us some picture of what the games think they’ll need, but may not tell the full story. It leads to people being worried that the 10 GB of VRAM on an RTX 3080 isn’t enough, where in truth, even a lot of modern games cap out near 8 GB of VRAM reservation with all the settings maxed out at 4k, with less being used in actual fact.

There are future factors in play too, though. The next-gen consoles, which launch in about 3 weeks, increase their shared system memory from 8 GB/12 GB to 16 GB (not talking about the Xbox Series S in this one), and while this 16 GB is shared for main system memory and graphics memory, the majority of it will end up allocated to the GPU in each system. This will likely mean around 8 GB of VRAM in use for both systems, which are intended to offer 4k/120 FPS gameplay for at least the next 5 years. Now, a PC graphics card is not perfectly optimized to run in this same way, so 8 GB of VRAM is probably what I would call the floor for PC gamers going forward – if you want to play 4k.

Given this, let’s revisit the rumors then. Is 12/16 GB of VRAM overkill for most people? Yes, and for that matter, so is the 10 GB on the RTX 3080. Both AMD and Nvidia are kitting their next-generation cards out for 4K gameplay to be a finally mainstream standard, as the upcoming RTX 3070 will use 8 GB of VRAM and the cards lower on the tier are still going to likely end up being capable of 4k for esports and casual games, even if they have less (rumors are the 3060 from Nvidia will have 6 GB of VRAM).

One final factor we should discuss at a hardware level is that capacity is not everything. Speed also matters, and two factors determine this – the bus-width of the memory controller and the per-pin speed of the memory chips. The RTX 3080 has a 320-bit memory controller with 19 gigabit per second per pin memory chips, giving it a bandwidth of 760 gigabytes per second. This speed matters because things often don’t need to be kept in VRAM forever, and a fast memory system allows a GPU to cycle more data in and out rapidly. AMD’s new Radeon lineup is rumored to be compromised here, using a maximum 256-bit memory bus with 16 Gbps GDDR6 memory chips, which means the maximum bandwidth is 512 GB/s. This is slower, but not awfully so, and if another rumor/patent find comes true, AMD may be using an on-GPU cache to facilitate other memory speed improvements by storing small bits of data in the cache instead of having to push to the main VRAM.

Because of this, larger memory pools aren’t inherently better, because if a memory system is fast enough, it can overcome a smaller allocation of memory by being able to cycle data more effectively.

And our last software point of contention is high memory usage features like anti-aliasing. While higher resolutions do offset the need for FSAA (full-screen anti-aliasing), some users prefer the use of AA to remove jagged pixel lines and leave a smooth, soft image, but full-screen anti-aliasing can double memory usage. Luckily, it has fallen out of favor for features like temporal anti-aliasing and FXAA, which use vastly more efficient mechanisms to get a similar smoothness into the finished image.

So, how much VRAM do you even need for 4k?

Well, honestly, it depends on the game, but 8 GB is likely to be more than enough for years to come. Higher amounts will let you play with higher-resolution texture packs for next-generation games or use high VRAM usage features like anti-aliasing. Nvidia’s 10 GB RTX 3080 is likely just fine and will stay good for years in most games at 4k. Meanwhile, AMD’s Radeon RX 6000 offerings, if rumors are true, will have memory capacity to go around for a long time and should be just as good, especially if the performance targets for the GPU performance are also true!

And I suppose if you want to brag, a 3090 with 24 GB is fine, but you should just save up the 10 grand and get a Quadro RTX 6000 with 48 GB of RAM.

One thought on “Sidenote: New Graphics Cards and VRAM – How Much Is Enough?

  1. Nice write-up. I have certainly found the reservation vs. actual memory requirements element to be some muddy waters to navigate. Like you though ultimately I found the performance to speak for itself. Also the fact I’ll be using a 5120×1440 monitor with a lower (albeit slightly) pixel count than full 4K. I don’t see this changing over the lifespan of this card so that alleviated some of my concern too.

    …Now just to actually get my card back again. xD Hopefully with a replaced power connector block!

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.