Tom sizes up the technology and potential benefits of Resizable BAR.
Featuring Tom Merritt.
Please SUBSCRIBE HERE.
A special thanks to all our supporters–without you, none of this would be possible.
Thanks to Kevin MacLeod of Incompetech.com for the theme music.
Thanks to Garrett Weinzierl for the logo!
Thanks to our mods, Kylde, Jack_Shid, KAPT_Kipper, and scottierowland on the subreddit
Send us email to firstname.lastname@example.org
So my friend says he has a great new video game thing called Resizable BAR
What the heck is that?
And why does it not look like it makes any difference on his machine?
Are you confused?
Let’s help you Know a Little more about Resizable BAR.
Graphics cards are touting something called Resizable BAR as a way to improve performance.
It’s not a complicated concept once you wrap your head around how graphics cards work. What effect it has is still being debated.
We won’t get into how PCI works here, but suffice to say that the operating system in your computer maps a PCI device into its address space. This lets the system know how to communicate with the device. So either the firmware, device drivers OR OS assign Base Address Registers, or BARs. It basically says here’s the Input/output port to find it at and here’s the memory space where its stuff goes. You belly up to the BAR to talk to the GPU
A device (if it’s not a bridge) can implement up to 6 BARs responding to different regions of the I/O port and memory.
So all of that is to tell the CPU, here’s how much memory on the graphics card you can use directly. The rest is used by the graphics card for displaying the image directed to it by instructions from the CPU. Generally you can’t reserve more than 256 Megabytes of VRAM or video memory. Not much. You send instructions, wait for them to be executed then you could send more instructions. Everything gets queued, you can’t send in parallel.
However if the Motherboard, CPU and GPU, all three support resizable BAR you can use all the GPU’s available VRAM which can be up to 6 Gigabytes or more. The CPU and the GPU communicate to decide how much of the VRAM is needed and the CPU can send multiple instructions in parallel and speed things up.
Resizable BAR was proposed in 2008 first implemented in 2010 with PCI Express 3.0 for desktop motherboards. It was originally meant to help integrated GPUs perform better. But not many GPUs took advantage of it until 2020.
Resizable BAR lets the GPU ask for larger and often complete files instead of using several smaller requests, and that speeds up processing. If a video game takes advantage of this, that can improve performance.
Think of it like this. I’m a CPU I have one frame to send to the GPU. I want to send 40 of these a second. So I send the frame which has almost nothing in it into the 256 MB space. No problem. I’m perking along just fine. But then I get a frame that has some specific texture information, some shading and some complex geometry. Maybe it’s a nose.
I try to send the nose to the GPU but it’s WAY too big. So first I send the geometry and that all gets sketched out. Then I send the skin texture and that gets laid on and then I send the shading. It all works, the frame gets made and the game displays a nose.
Except because I had to send three instructions I now am going to slow to below 40 frames a second. I have to decide which frames to drop to make sure my video is keeping up with the player’s expectations and the movement of the game. I can either drop frames or send less info. Either way it’s not going to look as good. And if I get in real trouble the game is just going to hang.
BUT with Resizable BAR I can perk along at 40 frames per second of those empty frames and when that complex nose frame comes along I just give the GPU a shout. Hey! I need more Ram, got three instructions for a nose coming. That 256 MB space is expanded to as big as the biggest nose I can send. No frames lost, no slowdown, no compromise in detail.
At least in theory.
Obviously the reality is more complex and my example isn’t exactly accurate but that’s the idea.
OK so you have the capability. BUT Video games are already doing things to avoid dropped frames. Video game programmers have to write their software to take advantage of Resizable BAR for you to notice any difference.
In fact, Nvidia is operating on a white list basis only supporting Resizable BAR on games it has certified will benefit from it. AMD has it on by default for all games but they may or not get an advantage. A few games show performance decreases if Resizable BAR is on, but that is rare.
And GPU-makers are offering different implementations. AMD calls its implementation Smart Access Memory or SAM. So if you see AMD say it has SAM support, that’s Resizable BAR under another name. Why does AMD call it SAM? Because the company has developed the feature to bring out some extra performance.
AMD GPUs with SAM support can work with AMD Ryzen CPUs with SAM support to take advantage of Resizable BAR. Nvidia GPUs with Resizable BAR like the 3000 series also work with Ryzen CPU that support SAM, AKA resizable BAR. Some Intel CPUs including all 11th Gen chips support Resizable BAR too and work with NVidia GPUs though not usually AMD SAM GPUs. Though there are instances of it being made to work. And don’t forget you need a motherboard that supports it too. Check your local listings for compatibility.
A few other notes here, even if you have compatible hardware you have to have it all on the most recent firmware, particularly the motherboard. You also need the Compatibility Support Module or CSM off in your EUFI/BIOS settings. Which in some Windows systems might require a reinstall. Your EUFI/BIOS needs to have “Above 4G’ enabled. This is not the 4G your phone uses. It enables greater than 4 Gigabytes of VRAM to be addressed. Kind of the whole point of Resizable BAR. And finally your drive must have its partition structure formatted as GPT (GUID Partition Table) not Master Boot Record or MBR. If your drive is larger than Two Terabytes then you have GPT. MBR doesn’t work on drives larger than two terabytes and GPT can only be a boot drive in a EUFI system, not one that’s only BIOS. If that all sounds like word salad just remember GPT or MBR drives is a thing to check if Resizable BAR is not working right.
SO. Will it make my video game better? The answer is Maybe? Eventually? Sometimes? Right now not enough games are taking advantage of it for it to be something you’ll notice most of the time. However when you do have a game that is meant for Resizable BAR and the hardware to do Resizable BAR and all the settings right, it does seem to add anywhere from a 5 to 20% boost depending on what system and what benchmark you’re running. That’s a lot of words to say we don’t know how much yet but yeah it will eventually make a difference.
In other words, I hope you know a little more about Resizable BAR.