VRAM or Video Random Access Memory is a form of RAM explicitly used for graphics processors. VRAM is used to store data actively displayed on the screen or preloaded data that are expected to appear in the next frames. This is, in essence, VRAM caching for graphics data.
Video games generally load the textures for the entire area into the VRAM; that's why we gamers experience loading times in video games. So VRAM stores the following things:
This way, graphics data will be instantly available for rendering, maintaining a high FPS (Frames Per Second). You don't have to wait while textures are slowly loaded in from the slower RAM or even slower disk storage (even if it's an SSD).
So, think of it this way. While standard program data are stored in the RAM to ensure fast access, the RAM is not fast enough, and that's where VRAM comes into play, storing everything needed to display graphics in your monitor.
However, VRAM works slightly differently on integrated and discrete graphics processors. In dedicated graphics cards, the VRAM is located on the graphics card PCB, surrounding the GPU, as shown in the above image.
Meanwhile, VRAM is dynamically allocated from a small portion of the system RAM in integrated graphics processors.
There is no dedicated physical video memory in iGPUs, and as you would expect, this compromises iGPU performance since dedicated VRAM is much faster than RAM.
Still, there are plenty of cases in which your graphics card's VRAM memory buffer gets full.
In this case, a game or an app will resort to storing graphics data in the RAM. In essence, this approach is the equivalent of what happens with system RAM when paging is triggered, and data is stored in pages on your disk, a much slower memory.
In both cases, you will experience a massive frame-rate drop if you are gaming or using a video editing app, for instance. We have experienced both these scenarios during my Twitch live streams, as my gaming laptop has run out of either VRAM or RAM several times.
An operating system (OS) can dynamically allocate up to 50% of RAM to VRAM. The performance loss is so massive that it's not worth it. If you run out of your dedicated graphics card's VRAM, your gaming or streaming session will need a restart.
Meanwhile, iGPUs using shared GPU memory are stuck with lower bandwidth and memory frequency than most modern graphics cards.
Even DDR4 RAM sticks are trailing further behind the GDDR6 VRAM standard found on graphics cards or the GDDR6X VRAM on Nvidia's GTX3090.
How Much VRAM Do I Have on My System?
Finding out how much VRAM you have is very simple. If you have a discrete (dedicated) GPU, you can download HWiNFO, GPU-Z, or other similar software and open it.
There you'll find the “Memory Size” window that shows the total amount of VRAM in your dedicated Nvidia or AMD graphics card.
You still have half of your system memory reserved as shared GPU memory, but you shouldn't consider that as it comes with a massive performance drop, as already explained.
I don't consider my laptop to have 6GB + 16/2GB = 14GB of VRAM, just the 6GB on my Nvidia GTX 1660 Ti.
In the above two images, you can see that for my Lenovo Legion 5 15ARH05H, which uses a GTX1660Ti, the VRAM size is 6GB of GDDR6, with a bus width of 192 bit and a bandwidth of 288.0GB/s.
For iGPUs and Windows 10, you can open Settings, then go to System->Display->scroll down to Advanced display settings open Display adapter properties for Display 1.
There you will find the amount of VRAM memory available at the moment.
Can I Increase My VRAM Size in iGPUs?
In iGPUs, you can, but it's not worth it. Intel and AMD integrated GPUs reserve meager amounts of RAM when idle, but when under load, they will have no issues using more RAM depending on the type of application, up to half of your total RAM.
So, while the iGPU is idle, almost all your system memory is free. iGPU will use system memory only when needed, like when playing a video game.
However, you can go to your BIOS settings and modify the following settings:
DVMT Pre-Allocated (Intel chipsets) or
UMA Frame Buffer Size (AMD chipsets).
This way, you can make iGPUs reserve more or less system RAM as VRAM.
If you increase the reserved video memory, the iGPU will reserve that RAM even when idle.
However, this way, you will decrease the available RAM even when the iGPU is idle and hurt your overall system performance.
It's best to leave these settings as they are and allow the OS and APUs to handle the task of allocating and freeing video memory in your RAM.
If you leave the default BIOS settings, the iGPU pre-allocated size will be much smaller (128MB by default on most iGPUs), and you'll be able to use all of your RAM if the iGPU doesn't need it.
Finally, you should increase pre-allocated memory size only if you run a particular game or an app that flat-out refuses to launch. It would be best if you employed such a technique only temporarily and then revert your settings to normal.
As a general rule of thumb, avoid toying around with your VRAM, regardless of whether you have an iGPU or a dGPU.
How to Check VRAM Usage On Desktop
Once again, you can use both HWiNFO and GPU-Z to show you the amount of VRAM used at the moment by your system.
How to Check VRAM Usage While Playing Games or Running Benchmarks
You can also use MSI Afterburner to monitor the amount of VRAM used.
Open the app (or download it if you don't have it), click on the “Detach” button, and MSI afterburner will show graphs of all graphics card-related performance data, including Memory usage.
Most of the time, you will want to monitor your VRAM used when playing games in fullscreen or when running full-screen?GPU benchmarks, as minimizing the window will invalidate the benchmark score.
Even if you have a multi-monitor setup like me, the best thing to do here is to use the On-Screen-Display (OSD) feature found in RTSS (Rivatuner Statistic Server). The app is part of the MSI Afterburner download, which is needed for displaying GPU-related data via RTSS OSD.
First of all, download the MSI Afterburner. Next, please install the program and run it.
RTSS is hooked to start along with the Afterburner app.
You can open RTSS by finding its icon on the Taskbar Notification Area.
Next, turn the Stealth Mode to avoid OSD blocking in some titles and customize the OSD. Finally, open MSI Afterburner, go to “Settings,” and open the “Monitoring” tab.
You can select which performance parameters to monitor and whether you want them visible on the OSD or not.
Then, go to “Settings,” “On-Screen Display,” and assign the OSD hotkeys. Make sure they don't overlap with controls in any games you play. I use F5 to toggle the OSD on/off, F9 to start benchmarking, and F10 to stop benchmarking.
This is especially useful for me since I review laptops and hardware, and it allows me to evaluate the amount of VRAM used, the average FPS, the worst %1 FPS, the worst 0.1% FPS, etc. Without starting benchmarking, you will not get the average FPS, worst %1 FPS, and worst 0.1% FPS.
This is also useful for streamers like me as you can see the total amount of VRAM used and overall memory used while running the game and OBS, Streamlabs OBS, or Twitch Studio.
Now, once you enter a video game or launch a GPU benchmark, press the key assigned to show or toggle the OSD and press the button assigned to start benchmarking, and you are good to go; you will have OSD access to all your graphics-related performance data.