Why Does 4K Gaming Require so Much VRAM? Baca Sekarang

Diposting pada

When you’re looking to buy one of the best graphics cards, performance often ranks as the most important aspect (along with pricing for many of us, naturally) — check our GPU benchmarks hierarchy if you want to see how the various cards stack up. But lately, we’re seeing more games that seem to need lots of VRAM, possibly 16GB or more. Star Wars Jedi: Survivor, The Last of Us Part 1, Warhammer 40K: Darktide, Hogwarts Legacy, Final Fantasy 7 Remake, Elden Ring… the list is getting quite large for games that can exceed 8GB or even 12GB of VRAM use, depending on your chosen settings and resolution. What exactly is going on, though, and how much VRAM do you really need?

Superficially, you might think it’s just a case of higher resolutions naturally requiring more VRAM. 3840×2160 (4K) is four times as many pixels as 1920×1080 (1080p), and 2.25X as many pixels as 2560×1440 (1440p). But while that can dramatically increase the number of calculations your GPU needs to perform, on its own it doesn’t actually make a game use that much more VRAM.

Games have lots of buffers these days. There are framebuffers, depth buffers, geometry buffers, buffers for shadow maps and lighting, deferred rendering buffers, and potentially buffers for upscaling techniques like DLSS and FSR2. There can also be additional storage requirements for ray tracing, like the bounding volume hierarchy (BVH) structure. Anyway, not to get too far into the weeds, but there are many things that need memory.

Those memory requirements scale with resolution. Even though the framebuffer as an example can be losslessly compressed in VRAM, going to a resolution that’s four times higher will generally mean using four times as much memory. Doing that for each buffer seems like it might be a big deal. But when you do the math, it’s actually not that bad.

Fully uncompressed, 1080p means 8,294,400 bytes are required for each buffer (1920 * 1080 pixels, with four bytes per pixel). 4K quadruples that to 33,177,600 bytes, while the in-between 1440p requires 14,745,600 bytes. Suppose there are ten such buffers used in a game. The difference between 4K and 1080p would still only end up being about 237 MiB — and again, there are real-time compression / decompression techniques present in modern GPUs that mean all those buffers can use even less memory.

Most modern graphics cards have at least 8GB of VRAM, so an increase of around 0.2GB in memory requirements shouldn’t matter much. But if you’ve ever gone from running a game mostly fine at 1440p to seeing your graphics card choke at 4K, you know something is causing problems. It may not be the larger buffers causing issues at 4K, but there’s clearly something going on.

GeForce RTX 30-series lineup

The RTX 3070 fell down, due to having only 8GB VRAM. (Image credit: Nvidia)

The actual culprit ends up being all the textures, which includes shadow maps, environment maps, and any other texture-related items that get stored in VRAM. You’re probably saying, “Duh! Everyone already knows that.” But it’s not just a case of there being higher quality textures. There’s more going on than you might have considered.

Take a game like Far Cry 6 as an example. This is one of the games in our current test suite where we know it can experience VRAM issues when you have the HD texture pack loaded and try to run it at 4K on a graphics card with 8GB of VRAM. Far Cry 6 will run just fine at 1440p with ultra settings (but without ray tracing) on the RTX 3070, averaging just over 100 fps. Bump to 4K however and performance can tank. Sometimes it will get just under 60 fps, but in testing we’ll also get instances where it only runs at 10–20 fps. It’s a bit weird in that it fluctuates so much between runs, but that’s a different story.

Total War: Warhammer 3 is another game that can show a big drop in performance when going from 1440p to 4K on cards with 8GB VRAM. The RTX 3070 averages 65 fps at 1440p ultra and only 28 fps at 4K ultra, a 57% decrease in performance. AMD’s RX 6650 XT drops from 36 fps at 1440p to just 14 fps at 4K, a 61% drop. Meanwhile, an RTX 3060 with 12GB goes from 44 fps to 23 fps — still a significant hit to performance, but now it’s ‘only’ 48% slower. That has all the earmarks of running out of VRAM, but what exactly is happening behind the scenes?

Example mimap, credit to Wikipedia

Example mimap, via Wikipedia Commons (opens in new tab) (Image credit: Wikipedia)

The main culprit is textures, and it ties into something called MIP mapping (opens in new tab). Mipmaps have been used in computer graphics for decades (they were invented by Lance Williams in 1983, according to Wikipedia). The idea is to pre-calculate lower resolution versions of a texture, typically using a high quality resize operation like bicubic filtering. That might be too expensive to run in real-time, or at least it was back in the earlier days of computer graphics, so game developers would pre-compute the mipmaps.

The benefit of doing so is that you can improve the image quality, reducing moiré patterns, aliasing, and other artifacts. But a potentially bigger benefit is that mipmaps can also reduce the amount of memory required to store all the textures — a GPU only needs to keep the highest accessed resolution of a texture in VRAM. That last bit is the key to understanding the difficulty with 4K compared to 1440p, but it’s not very clear, so let’s unpack that a bit.

Optimizing Memory Use

I should note that there are different ways of handling texture storage in VRAM. What I am describing here is one way of handling things, where for example only the 1K and lower resolution mipmaps are loaded into VRAM if 1K is the highest resolution that’s been accessed. I’m also not accounting for things like virtual textures, where only part of a texture is put into VRAM.

However, it can be beneficial to keep everything in VRAM if possible. For example, this would avoid a potential stutter when an object goes from using 512×512 to 1Kx1K textures and the higher resolution texture needs to be pulled into VRAM. This is why some games have strict VRAM requirements (Red Dead Redemption 2 and Doom Eternal come to mind — though note that even RDR2 at 4K and max settings only needs 8GB). If you don’t have enough VRAM, they’ll try to prevent you from even attempting to use certain settings.

How a game engine actually implements VRAM allocation can vary, in other words.

Typically, when a game engine applies textures, it will use a texture resolution that’s one step higher than the number of pixels (proportionally) that the object will cover on the display — assuming such a texture resolution is available. So let’s say there’s an unobstructed rectangular polygon that covers a third of a 1080p display. That would mean the polygon occupies 640×360 pixels, so at most the game engine would use a 1024×1024 texture for it.

Move the viewport closer to the polygon, so that it exactly fills the whole display. Now it covers 1920×1080 pixels, and the game engine would select a 2048×2048 mipmap. Move closer still so that only half of the polygon is visible but it fills the whole screen. Then and only then would (typical) mipmapping opt for a 4096×4096 texture — assuming one is available.

What that means is that games that support 2K textures (2048×2048 resolution) are nearly “maxed out” on texture quality if you’re only gaming at 1080p. And with the more complex geometry and environments used in modern games, most polygons and textures are likely getting nowhere near needing even 2K textures — 1K would suffice. Even 1440p will often only need to use 2K (or lower resolution) textures. That’s because, even if 4K textures (4096×4096) are technically available, most polygons will cover less than 2048 pixels in width or height, the exception being if you’re very close to the surface and so it passes that boundary.

You can probably see where this is going. Bump up the display resolution to 4K, and suddenly the game engine and GPU will see a need to store and use higher resolution textures in VRAM far more often. The image quality probably won’t even increase that much, but the VRAM requirements can basically triple. Hello fractionally higher image quality, goodbye performance — at least if the game exceeds the capacity of your VRAM.

The above gallery shows Redfall at epic settings, except we’ve turned down the texture quality to high, medium, and low in the subsequent images. (You’ll want to view the full-size images on a 4K display if you’re trying to pixel peep.) The differences, in this case, are very limited, with only the carpet on the right really showing a loss in fidelity at the medium preset, while the low preset shows a reduction in detail on some of the other objects. While we don’t know for certain, we’d guess that the epic setting allows for 4K textures, high uses 2K textures, then 1K for medium, and 512 for low. Maybe we’re off by a factor of two in each case, but either way, you can see that it’s not a dramatic change.

There’s plenty of debate that could be had over whether 4K textures are even necessary. Most GPUs can do a 2X upscale of a texture without drastically reducing the image quality, and things like DLSS, FSR2, and XeSS can potentially regain some of the quality through accumulation of data over multiple frames. Certainly, using 8K textures wouldn’t help image quality much at all on 4K and lower resolution displays — some people would (and have) said that a simple sharpening filter looks better than extreme resolution textures.

It’s not just about texture resolution, either. Textures are typically stored in a compressed format: BTC (Block Truncation Coding), S3TC, DirectX’s BCn variants, or some other similar format. These formats all have one major thing in common: they’re high speed and allow for random access, with compression ratios typically falling in the 4X to 8X range. Algorithms like JPEG can achieve much better compression ratios, but they can’t be accessed randomly.

This is one of the reasons why Nvidia’s Neural Texture Compression (opens in new tab) (NTC) sounds so promising. Figuring out ways to store higher-quality versions of textures in the same amount of memory, or use similar quality textures with potentially one tenth as much memory, would be very beneficial. But textures need to be accessible in a random fashion, in real-time, and that adds complexity to the task. AI algorithms may be better able to cope with this than traditional approaches.

But NTC isn’t here yet, at least not for shipping games, and for practical use it may end up requiring new hardware and architectural changes. That means it might also require an Nvidia GPU, so unless Nvidia can get it into a future DirectX (and Vulkan) specification, it could be a while before it gains traction. We’ll have to wait and see, in other words, even if it sounds really promising. (Check out the article and look at some of the images, and then imagine if games could cut texture memory use by 90%. It’s possible but perhaps not fully practical for most graphics cards just yet.)

Back to the subject. Because of the jump texture storage requirements — and yes, larger buffers, more geometry, etc. — brought on by moving to 4K rendering, upscaling technologies like DLSS, FSR2, and XeSS also become a lot more useful as performance boosters. We see this regularly in testing, where the benefits of 2X upscaling (i.e. Quality mode) at 1080p may only be a moderate 10–20 percent increase in performance, while at 4K you could see a 50% improvement. With upscaling, even at 4K, the game engine would have the memory requirements of a lower resolution.

Dell G3223Q 4K Gaming Monitor

The Dell G3223Q is an excellent 4K 144Hz gaming monitor (Image credit: Dell)

Whether or not you want to game at 4K, whether or not you want to enable the highest quality settings, and whether you want to enable some form of upscaling: These are all ultimately a choice you can make. There’s compromise either way: higher image quality on the one hand, higher performance on the other. Regardless, understanding exactly why 4K represents such a big jump in performance requirements from your GPU and VRAM is useful.

Even while AMD has been pushing the benefits of more VRAM, that’s often been limited to its highest-end GPUs. With the RX 6000-series, you needed an RX 6800 or higher to get 16GB. The RX 6700/6750 XT dropped that to 12GB, while the mainstream RX 6600-series cards are back to 8GB and the RX 6500/6400 have just 4GB. Not surprisingly, the RX 6700-series parts were primarily marketed as being good for 1440p, while the RX 6600-series GPUs were targeted at 1080p gaming. Nvidia hasn’t talked about VRAM as much, but higher VRAM capacities typically only come on higher priced parts — the RTX 3060 being an exception to that rule.

With upcoming graphics cards, we’re certainly going to hear more noise about VRAM capacities. All indications are that Nvidia’s rumored RTX 4060 Ti will come with 8GB of VRAM (and possibly a 16GB variant as well), and the same goes for AMD’s alleged RX 7600. Except, Nvidia will probably charge quite a bit more money for its 4060 Ti card, either model, and it will likely be more of an RX 7700-series competitor (whenever such cards arrive). But neither the 4060 Ti 8GB nor the RX 7600 are likely to focus on 4K gaming, and it’s very likely they’ll still prove adequate in most games for 1080p or potentially 1440p at maxed-out settings.

And if not, turning down texture and shadow quality settings a notch should keep them viable. Go look at those Redfall images above again, comparing the epic versus high texture quality. Redfall and many other games simply don’t show much of a visual benefit to using the highest quality textures possible. We might like the idea of having 16GB or more VRAM on all future graphics cards, but realistically there’s still a place for mainstream parts with only 8GB.

Editor’s note: I reached out to both AMD and Nvidia for comment, sending along an earlier version of the text. Representatives from both companies confirmed that the above explanation of how VRAM works is largely correct, though as always individual games and engines may do things in a different manner.