Hey guys,
I think I have got a good answer to how Vram is allocated in a typical game.
Check this out:
http://katmai3.co.uk/1/gameprofile.mp4
Download the video or watch it if your connection is fast enough.
This is me profiling a typical game world level live, look at about half way through the video I use the profiler then after that I take a memory snapshot all while the game is running live.
The memory snapshot shows what's in Vram and what takes the most of the memory.
As you can see the 2D texture maps (with mipmaps etc) take a huge chunk of the Vram, then meshes. the 179 shaders Don't take much Vram.
For people claiming I will turn down a few graphical effect to cut Vram usage, it Won't work! You have to turn off hires textures so you go from 4k tex (or a mix of 4k/2k) to no 4k tex = more blurry if viewed on a 4k monitor!
The caches in there using Vram are not significant and are dynamically resized or made very small if a programmer wishes to almost totally fill up Vram.
NOTES
--------
I had to drop down to 1080p screen to record this due to file size so it looks blurry!
The level was created by an industry pro artist so all the proper LOD's, mipmaps, texture compression are in there, this was about 5 years ago so todays games will have much more large textures.
Its mostly 2k (2048*2048) textures with a few 4k tex, I have put in a few 4k tex which are used for the female soldier and left them Uncompressed so you can see the size in Vram.
Some larger meshes were added by me so triangle counts and Vram use would be a bit less for a game from 5 years ago but not for todays games.
The 179 shaders are a huge amount such as ambient occlusion, anti aliasing, particle effects, terrain shaders etc but ONLY use 127 MB of Vram so people claiming to turn down a few graphical effects to
reduce Vram usage won't be able to.
Get a card with the most Vram you can afford so it lasts a bit longer.