DirectX 12's Latest Update Offers Shared Pool of VRAM to CPU & GPU for Improved Performance in Games.
Microsoft's DirectX 12 API has received a boost with the implementation of two new features via the Agility SDK 1.710.0 preview. GPU Upload Heaps and Non-Normalized sampling are new, with the former being the more noteworthy of the pair.
In the past, accessing a GPU's VRAM was impossible for the CPU, requiring programs to copy large data amounts to the GPU via the PCI bus. However, modern GPUs have introduced the VRAM resizable base address register (BAR) that allows Windows to manage the GPU VRAM in WDDM 2.0 or later. With the update, the CPU can directly access the pool of VRAM on the connected graphics card, eliminating the need to copy data between the two. This shared pool of memory will offer significant benefits in the context of computer games where memory requirements have grown in line with an increase in visual complexity.
This optimisation enhances performance in certain scenarios by allowing both the CPU and GPU to access memory simultaneously. It also eliminates the need to maintain duplicate game scenario data in both system memory and graphics card VRAM, resulting in a reduced data stream between the two locations. This development could revolutionize computer gaming by providing the CPU exclusive access to ultra-fast VRAM, possibly paving the way for DDR6 to become the daily standard in main system memory.
Currently accessible to developers only, the preview version is supported by the latest graphics drivers issued by AMD, Intel, and NVIDIA.
UL Benchmarks Launches 3DMark Speedway DirectX 12 Ultimate Benchmark - 10/13/2022 06:46 PM
Solutions is excited to announce that our new DirectX 12 Ultimate Benchmark 3DMark Speed Way is now available to download and buy on Steam and on the UL Solutions website. ...
3DMark will release their ultimate DirectX 12 benchmark, 3DMark Speed Way on the 12th - 10/11/2022 08:50 AM
The latest GPU benchmark, 3DMark Speed Way, is an example of the cutting-edge visual technology that will power the future generation of gaming experiences. ...
Windows 11 2H22 brings game improvements running on DirectX 10 and 11 / DirectStorage Compatible - 09/26/2022 09:05 AM
Microsoft's Windows 11 2H22 update, officially published last week, promises a slew of enhancements for gamers. The business claims that the upgrade significantly enhanced the performance of games ba...
Intel Arc and Xe iGPUs Need to emulate support for DirectX 9 Through a Wrapper - 08/15/2022 09:11 AM
It seems ARC's only focus has been DX12, as DX11 runs bad, and as it turns out DX9 is not even supported....
Intel has released performance figures for the Arc A750 Vulkan and DirectX 12 APIs - 08/11/2022 08:55 AM
Intel published 50 performance figures for the DirectX 12 and Vulkan benchmarks. The Arc A380 performs lower than its competitors in games that use DirectX 11. The A750's performance in 1080p and 144...
Senior Member
Posts: 306
Joined: 2006-02-24
Would this have any benefit for existing games or just ones developed around it?
Senior Member
Posts: 1327
Joined: 2010-05-12
I'm not understanding how DirectX benefits from this. For one thing, isn't rBAR done at the BIOS and driver level? I get the idea of being able to more transparently read from VRAM, but isn't that done at the OS level? I just don't get what exactly DX needed to achieve this.
But also, to my understanding, the only reason the CPU would want to collect large amounts of GPU data is for compute purposes, which DX isn't really used for.
To clarify, I definitely see the benefit in the CPU having a shared pool with VRAM, I just don't get what DX has anything to do with it.
I think what rbar is doing is letting copy memory from ram to gpu ram in chunks larger than 256MB at time.
While from the description this seems like there i a portion of gddr6 where the cpu can directly write and read to/from.
I see how this would completely jump one step of first writing into system memory and then in gpu memory, but also i don't think this will be anyway faster for cpu calculation. This is entirely to feed the gpu faster and faster imho
Senior Member
Posts: 7441
Joined: 2012-11-10
I think what rbar is doing is letting copy memory from ram to gpu ram in chunks larger than 256MB at time.
While from the description this seems like there i a portion of gddr6 where the cpu can directly write and read to/from.
I see how this would completely jump one step of first writing into system memory and then in gpu memory, but also i don't think this will be anyway faster for cpu calculation. This is entirely to feed the gpu faster and faster imho
Read/write directly to, as opposed to what? Like bypass the GPU altogether? Because I guess I could see that being beneficial; I never really thought of the GPU taking in data and filling up its own VRAM as being a bottleneck but perhaps it is.
Member
Posts: 95
Joined: 2013-10-14
The GPU doesn't have access to System RAM, in order for the GPU to access any data, that data needs to be loaded on the VRAM by the CPU. Previously, any data that needed to go to the GPU was first loaded into System RAM, and then copied to VRAM, at 256 MB chunks. ReBAR allowed to send larger amounts of data at a time, but it still needed to be loaded into System RAM, and then copied to VRAM. With this new change, the step of loading data to System RAM is no longer required, the CPU can load the data directly to VRAM, which reduces latency and RAM amount requirements for games. It would be similar to how consoles work, where CPU and GPU have access to the same shared memory.
Senior Member
Posts: 7441
Joined: 2012-11-10
I'm not understanding how DirectX benefits from this. For one thing, isn't rBAR done at the BIOS and driver level? I get the idea of being able to more transparently read from VRAM, but isn't that done at the OS level? I just don't get what exactly DX needed to achieve this.
But also, to my understanding, the only reason the CPU would want to collect large amounts of GPU data is for compute purposes, which DX isn't really used for.
To clarify, I definitely see the benefit in the CPU having a shared pool with VRAM, I just don't get what DX has anything to do with it.