The improvement is integrated in the new Agility SDK for DirectX 12 Ultimate game development. Therefore, for ordinary users, it will not entail an additional cost in the form of updating the components. However, it will mean a significant reduction in the impact of system RAM in games. Since it reduces the impact on this by graphics card.
GPU Upload heaps in DirectX will reduce RAM requirements
A graphics card can actually access two different memory pools. On the one hand, its own memory, the VRAM, and on the other through the DMA drives and the PCI Express interface to the system RAM. Of course, both are in completely different directions. Well, the concept of the GPU Upload heaps is that those things that were done in tandem between the CPU and the GPU are not done in the memory of the first, but in the memory of the second.
Now, many of you will say that this is the same as the ReBAR or Resizable BAR, but with another name, however, it has a small nuance and it is the reason why games need much more RAM on PC than on consoles. And we are not saying it to say it, you just have to see how any game that is a conversion of a game for PS5 or Xbox Series X ends up needing a total amount of RAM, much higher than what the consoles come with and they do not offer better performance visual in many cases in its computer version.
The organization of RAM is different on consoles and PCs
One of the main differences between video game consoles and the PC is the fact that for cost savings, the former use the same memory pool as graphics and system memory. That is, if we take a PC we will see that we can have DDR4, DDR5 or one of the LPDDR type memory, on the one hand, for the system RAM and then the graphics card with GDDR5, GDDR6 or even HBM memory.
On consoles it is not like that, there is a unique memory pool. In other words, on PC it is as if the data were people who live in two different neighborhoods with two different postal agencies. On the other hand, in consoles they all live in the same neighborhood, but with the particularity that there are also two post offices. The fact is that, so as not to compete, the streets are distributed.
And that is where the problem lies. On PS5 and Xbox we have 16 GB of physical memory, 3 GB of which is kept by the system and the rest of the memory can be distributed as desired, for example, we can make a game use 10 GB as VRAM and leave only 3 GB as RAM for the rest. So any graphics card with less than that memory is already going to run into performance issues.
The limitations of the PC memory system
Having two different memory pools instead of just one on PC also means that all video memory is initially in system RAM, so our game consuming 16 GB on consoles divided into 3 GB for the system, 10 GB in graphics and another 3 GB in the rest of the game would look like this:
- The 3 GB for the system will depend on the Windows installation that we are using. So it can be that amount, a higher or a lower.
- The 10 GB for the VRAM are copied from the SSD or the hard disk to the RAM and from the RAM to the video memory, so we will have them twice. Occupying space in the two memories.
- To finish the 3 GB would be in the system RAM.
Then we have things like shader compilation, which is done on the CPU on PC and the output is copied to video memory. This is something that only happens on computers.
That is why GPU Upload heaps are the solution to the problem
The advantage of the Upload heaps is that those 10 GB of memory that we have mentioned before would not be duplicated in the video memory of the graphics card and in the RAM. Which means not only a reduction in the requirements in that aspect, but also freeing up at least one of the CPU cores that will not have to make continuous copies from one memory to another. In reality, DirectStorage is more than being a lateral application of ReBAR, however, its main use is for computing algorithms where CPU and GPU go hand in hand, such as the calculation of physics in games or collision detection.
However, this is not going to reduce the problems in the amount of video memory that graphics cards of a certain brand have due to the fact that they use memory chips with less capacity. A planned obsolescence that we already warned you about and that, sadly, this will not solve.