Microsoft Could Be Planning to Use SSDs to Improve Real-Time Ray Tracing Performance via Its DXR API

The FPS Review may receive a commission if you purchase something after clicking a link in this article.

Image: Epic

Microsoft could be getting ready to roll out a new DXR update which would leverage NVMe drives to reduce VRAM usage for ray tracing in games. While Microsoft was busy announcing its DirectSR API back in February it quietly published a paper titled “Systems and methods for ray tracing acceleration structure level of detail processing,” which involves alternative methods of managing data pool storage. Microsoft begins its description by focusing on the need for new methods of storing the different types of data needed for ray tracing.

Per Google Patents (via WccfTech)

“Increasingly, as part of video games and other such applications, the acceleration structures for ray tracing are explicitly edited or regenerated by the software to reflect the current set of potentially visible geometry. Such acceleration structures are now competing for storage (both persistent (e.g., flash memory) and non-persistent (e.g., RAM)) with other data, such as geometry and texture data.”

Further into Microsoft’s description, it reiterates the need for new methods and expands upon that topic by identifying how current strategies have increased VRAM requirements.

Per Google Patents:

“As noted earlier, increasingly as part of video games and other such applications the acceleration structures for ray tracing are explicitly edited or regenerated by the software to reflect the current set of potentially visible geometry. Such acceleration structures are now competing for storage (both persistent (e.g., flash memory) and non-persistent (e.g., RAM)) with other data, such as geometry and texture data. This growth in the share of the memory by the acceleration structures has resulted in systems with significantly large memory requirements. Moreover, the bandwidth required to fetch the large amount of data for acceleration structures has also proportionally gotten bigger.”

Microsoft adds that one solution is to create more manageable data pools that could be controlled by software to point to LOD pools. It also states that Geometry pools could be loaded from bulk storage into host memory as set up via a command list by the GPU for ray tracing processing. The following diagram is a basic breakdown of its proposal.

Per Google Patents:

Image: Microsoft (via Google Patent)

“FIG. 1 shows a diagram of a system environment 100 including a central processing unit (CPU) 102 and a graphics processing unit (GPU) 104 with ray tracing acceleration structure level of detail processing in accordance with one example. System environment 100 may further include memory 106, presentation component(s) 108, application engine 110, graphics libraries 112, networking interfaces 114, and I/O port(s) 116, which may be interconnected via one or more busses (e.g., bus 120) to each other and to CPU 102 and GPU 104. CPU 102 may execute instructions stored in memory 106. Memory 106 may be any combination of non-volatile storage or volatile storage (e.g., flash memory, DRAM, SRAM, or other types of memories). GPU 104 may read/write to memory 106 either directly or via a direct memory access (DMA) process.”

WccfTech believes that Microsoft could be planning on introducing updates to its DXR API which would make sense given that is how DirectX handles ray tracing processing. In turn, direct access could be used for fast data transfers to facilitate these workloads. With Gen5 drives arriving and showing off speeds unseen before on consumer drives it could be an exciting prospect for a new ray tracing processing method. It could also be beneficial for both consumers and GPU manufacturers if VRAM requirements began to decrease after the major increases seen in recent years.

Below is a video from the Unreal Engine DXR demo released a few years back that was made to demonstrate DXR’s debut.

Join the discussion in our forums...

Peter Brosdahl
As a child of the 70’s I was part of the many who became enthralled by the video arcade invasion of the 1980’s. Saving money from various odd jobs I purchased my first computer from a friend of my dad, a used Atari 400, around 1982. Eventually it would end up being a lifelong passion of upgrading and modifying equipment that, of course, led into a career in IT support.

Recent News