Jump to content

VRAM - quick question


Recommended Posts

Hello,

 

I have a question regarding VRAM. What it actually is? I understood that as the RAM that was physically mounted on the GPU, but I don't know if that's the only factor. My GTX 950 has 2GB of memory installed, but the VRAM tester from the site of Boris Vorontsov (the ENB site) says that I have 4000 VRAM.

 

Could somebody explain in the easiest way possible what the VRAM factors are?

Edited by Kruczysko
Link to comment
Share on other sites

"VRAM" is kind of a convoluted term these days - historically (like going WAY back) it was a specific type of memory (if you're really bored: https://en.wikipedia.org/wiki/Video_RAM_%28dual-ported_DRAM%29) but over the years has come to mean, generically, the memory installed on a dedicated graphics card (or dedicated to an integrated graphics card), and/or the overall available "graphics memory" to the system (more specifically, to a 3D API, like DirectX).

 

The memory on the GPU (or dedicated to it) is not the only memory available to the API for graphics operations, nor is it directly mapped by the API or a game (basic model of that: game -> API -> HAL -> driver -> hardware) - the game just makes calls into the API and the API makes calls into the HAL/driver which handle hardware resources. Since Windows (and basically all other modern operating systems) use paged memory, the API is just looking at memory pages, which are then moved around ("behind the scenes") between on-card, on-system, and virtual (on-disk) memory, as needed. The memory on (or allocated to) the graphics card is then best thought of as a buffer or cache - its often faster/higher-speed than what's built into the system (and generally orders of magnitude faster than disk) and therefore can offer improved performance if resources can be pulled from it as opposed to waiting on system memory and system I/O (or, god forbid, thrashing the disk for it).

 

The application looking at "VRAM" you have is only able to query DirectX for available graphics memory (that's all any application can do) and DirectX is reporting a combination of what's available on-card and mapped system resources (which is where you get ~4GB from). Windows and the graphics driver will, if possible, map more memory resources than the card has on-board; the bare minimum requirement is 1:1 and MSDN DevNet suggests a system to have double (or more) memory than its graphics card (e.g. if you have a 2GB-equipped GPU, at least 4GB of total system memory is suggested) to ensure that on-card resources are "backed" by system resources (this is a requirement in DirectX since the memory on-card is being used as a buffer/cache not as a separate pool) and that there's still memory available for other tasks (e.g. the Windows kernel).

 

When an application (be it that tester, or Skyrim, or whatever) makes calls into the API that's basically where its resource management ends, and where the API (and HAL and drivers) take over; think of all that stuff as a "bridge" between the specific application (e.g. Skyrim) and your hardware. It's generally safe to assume that Microsoft and nVidia/AMD do a good job building that "bridge" but their implementations will vary from system configuration to system configuration, which is why looking at "VRAM used" (which is again asking DirectX to report, you aren't getting a straight-from-the-hardware number) will vary from machine to machine even running the same application at the same settings (because that "bridge" is not generally identical for different configurations, as different GPUs have different architectures, and therefore behave differently, among other factors).

 

In general, as with any high-speed buffer/cache, more is better (because it means it can hold more junk before it has to "spill over" to a slower and lower tier), but cost will eventually become a problem - building a graphics card with 128GB of memory on-board would be cost prohibitive and provide very little real benefit over a 2 or 4GB model (largely because modern applications don't use that much memory), but those 2 or 4GB models are worth their cost premium over a 512MB or 256MB (.5GB of .25GB) model for contemporary applications because contemporary applications *can* use that much memory.

 

Here's some other stuff to at least peruse through - note that it's all going to be somewhat dated compared to the very newest hardware, but it may help conceptually:

http://www.tomshardware.com/reviews/graphics-ram-4870,2428-2.html

http://www.playtool.com/pages/vramwidth/width.html

https://www.velocitymicro.com/blog/video-card-ram/

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...