« Back to Knowledge Base

Improving GPU performance in vMix with Resizable BAR Support

This article covers the new Resizable BAR Support available on recent motherboards and graphics cards and how this can improve performance in vMix.

 

Introduction - How graphics card memory works

Up until now, most motherboards and graphics cards would allocate a small amount of memory (typically 256MB) as a cache that is used to transfer all data between the System Memory and GPU Memory.
For most workloads this is sufficient for things like transferring textures to the GPU for games, but for programs like vMix which are constantly transferring video data (such as from capture cards and NDI) this can be a significant bottleneck.

 

 

The GPU Mem indicator in vMix and what it means.

The GPU Mem indicator was added to vMix to show how much of this cache memory is in use by live inputs (such as cameras, NDI and video clips). 100% meant any inputs over that would result in the memory becoming shared.
Any transfer in progress of another input would block any subsequent inputs for a brief period of time, this shows up as high "Render Times" in vMix.

 

Enter - Resizable BAR Support and how to enable it

In short, Resizable BAR Support does away with this cache memory limitation and provides access to the full amount of GPU memory at all times, improving performance and efficiency.
It requires support by both the motherboard and the graphics card in order to be enabled.

 

Step 1: Motherboard Support

This feature is available on most Intel and AMD motherboards that support PCI Express 4.0 (such as the Z590 series from Intel and the X570 series from AMD). 
It may also be available on older motherboards depending on the manufacturer.
Check the motherboard manufacturer's web site for BIOS updates that mention Resizable BAR Support. Once the BIOS is up to date, you can go into the BIOS settings and turn it on.

 

Step 2: Graphics Card Support

This feature is available on NVIDIA GeForce 3000 series and higher graphics cards and also NVIDIA RTX A (ampere) series workstation graphics cards.
It is not likely to be available on older 1000 or 2000 series cards at this time.
 
For most GeForce 3000 models, a BIOS update is required from the card manufacturer's web site (for example, Gigabyte, Asus etc) and is not available from the NVIDIA site directly.
Some card manufacturer's may not have BIOS updates available. At the time of this article ASUS and Gigabyte have updates available for most 3000 series cards.
 
The latest GeForce driver is also required, version 465.89 or higher

 

Step 3: Check if Resizable BAR Support is enabled and working

Once the BIOS of both the motherboard and graphics card is installed, and the option has been enabled in the motherboard BIOS, check the NVIDIA Control Panel to see if it is working:
 
 

 

Step 4: How it works in vMix

Resizable BAR Support will be used automatically in vMix, however it is recommended that High Input Performance Mode be Disabled for the best performance.
The reason is High Input Performance Mode uses additional memory and copies to compensate for the limited cache memory and thus is actually slower and less efficient when Resizable BAR Support is enabled.
 
Additionally the GPU Mem can be ignored entirely when it is enabled. So a 100% reading will no longer result in a drop in performance.

Last Updated: Monday, November 14, 2022 10:58:21 AM