Microsoft has announced a new DirectX12 GPU optimization feature in conjunction with Resizable-BAR, called GPU Upload Heaps (opens in new tab), that allows the CPU to have direct, simultaneous access to GPU memory. This can increase performance in DX12 titles and decrease system RAM utilization since the feature circumvents the need to copy data from the CPU to the GPU. The new feature is available now in the Agility SDK.
We don’t know the actual implications of this feature, but the performance advantages could be significant. Graphics card memory sizes and video game VRAM consumption are getting larger and larger every year. As a result, the CPU needs to move more and more data between itself and the GPU.
With this feature, a game’s RAM and CPU utilization could decrease noticeably due to a reduction in data transfers alone. This is because the CPU no longer needs to keep copies of data on both system RAM and GPU VRAM to interact with it. Another bonus is that GPU video memory is very fast these days, so there should be no latency penalties for leaving data on the GPU alone. In fact, there will probably be a latency improvement with CPU access times on high-end GPUs with high-speed video memory.
For gamers, the only requirement you’ll need is Resizable-Bar or Smart Access Memory support on both your CPU and GPU. Resizable-bar is the foundation for GPU Upload Heaps since the feature enables Windows to manage GPU VRAM directly.
For developers, the feature is already supported by Nvidia, Intel, and AMD drivers. For example, it’s already included in Nvidia’s latest Game Ready and Studio Drivers (version 531.41 or newer) and Intel A-series/Xe GPUs (with driver 126.96.36.19955 or newer). For AMD GPUs, developers must consult their AMD alliance manager to get a supported driver.
The feature just came out from Microsoft, so don’t expect it to be implemented in games anytime soon. Instead, developers will need time to see whether or not it will provide a significant enough performance advantage to make it worthwhile.