High res textures- do you need VRAM, or bandwidth?

NTMBK

Lifer
Nov 14, 2011
10,242
5,033
136
I got wondering about high res textures because of integrated graphics. These can have access to gigs and gigs of memory to use as VRAM, but at a very low bandwidth. Would high-res textures run okay on this sort of setup, or not? Because the textures would certainly fit into "VRAM", but the bandwidth to sample them would be low.
 

Red Hawk

Diamond Member
Jan 1, 2011
3,266
169
106
You need both. If you have low bandwidth, the framerate will drop with high resolution textures.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
Certainly requires both. On an APU I suspect texture access isn't much more performant than a GPU going across the PCI-E bus to memory.
 

NTMBK

Lifer
Nov 14, 2011
10,242
5,033
136
Why is that the case? I mean, the game will still be making the same number of texture samples per polygon, so it won't be pulling a greater number of texels in... although I suppose memory locality will drop in proportion to texel density. Hmm.

I'm just trying to get my head around what settings have the most effect on different aspects of a GPU/APU- I'm sick of my graphics setting choices coming down to guesswork. ;)
 

Elixer

Lifer
May 7, 2002
10,376
762
126
Well, once the game loads the textures, and assuming they are NOT dynamic/streaming, then, you just need lots of VRAM.

If they are dynamic/streaming, then you need the bandwidth to get the textures to the VRAM.
 

Wall Street

Senior member
Mar 28, 2012
691
44
91
Mostly memory capacity. Because of mipmaps, most of what you see isn't the high res textures, even when you have a high res pack loaded. Only the closest objects use the higher res. Anisotropic filtering is very bandwidth efficient compared to antialiasing and certain shader effects.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
Why is that the case? I mean, the game will still be making the same number of texture samples per polygon, so it won't be pulling a greater number of texels in...
No, it won't. With higher res textures, it will be using more samples per pixel, and thus per polygon, so more bandwidth will be needed. The additional samples processed per pixel are what make the game look better, with higher-res textures.

For the most part today, only <$200 cards might be limited in bandwidth at 1080P, though. They tend to do a lot more bandwidth-intensive work than just processing textures, and it's mostly the fairly close surfaces that need the highest res version of a texture.
 
Last edited:

Wall Street

Senior member
Mar 28, 2012
691
44
91
No, it won't. With higher res textures, it will be using more samples per pixel, and thus per polygon, so more bandwidth will be needed.

Only on nearby textures that take up more pixels on the screen than the resolution of the texture. On far away textures, it will not take more samples per pixel.
 

NTMBK

Lifer
Nov 14, 2011
10,242
5,033
136
Aha, okay, I was looking at the problem wrong. I was only considering distant polys where there are fewer pixels than texels, i.e. increasing texture res doesn't increase # texels sampled. But of course, the opposite case is far more likely- more pixels than texels, hence you can basically guarantee that more texels are sampled for a higher res texture on the same poly. Makes sense. Feels like a bit of a dumb question now, thanks.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
Only on nearby textures that take up more pixels on the screen than the resolution of the texture. On far away textures, it will not take more samples per pixel.
That's what I said:
(...) it's mostly the fairly close surfaces that need the highest res version of a texture.
If every detail level were increased, we would need 512+ bit RAM interfaces in short order, when 256 does for now. However, while that does happen, it pretty much only happens with consolized games, where lower texture detail is implemented in a way friendly to GPUs starved of bandwidth and ROPs (in which case most any PC GPU will be fine at the highest settings, anyway)).
 
Last edited: