Microsoft Overhauls DirectX Raytracing, Boosting Frame-Rates and Cutting VRAM 1
Image: Microsoft/Digital Foundry

Microsoft recently unveiled a new preview update to its DirectX Raytracing (DXR) standard for developers that seeks to increase frame-rates and precipitously cut memory requirements. Engineer Amar Patel, who authored a blog explaining the changes, calls it "the most significant update" to the standard "since its debut in 2018."

This is achieved through two major technologies, clustered geometry and partitioned top-level acceleration structures (PTLAS), which are both designed to more efficiently build and update the ray tracing acceleration structures that make RT practical in real-time rendering.

To put it simply, clustered geometry breaks down complex 3D models into small reusable chunks at an ideal size, rather than treating them as massive monolithic objects. It's a bit like building a model out of blocks rather than carving it from a single piece of wood. (This is the same idea as Nvidia's RTX Mega Geometry, which was recently used in Gears of War: E-Day, and indeed clustered geometry is a vendor-agnostic version of the same tech.)

If that geometry changes, then developers can choose to reuse existing chunks or rebuild smaller sections. The efficiency gains of the building block method make it possible to trace against full-detail objects for calculating shadows or reflections rather than simplified versions, which produces more realistic graphics as a result.

Microsoft Overhauls DirectX Raytracing, Boosting Frame-Rates and Cutting VRAM 2
Nvidia Zorah scene running on D3D12 - original scene (left), clusters (centre), triangles (right). — Image: Nvidia

PTLAS is similar, being a partitioning system applied to the entire game world. The benefit is that any changes to a certain area (eg caused by a moving character) can be localised, such that only the acceleration structures for the affected portion of the world need to be recalculated, leaving the rest of the scene as-is. That more efficient approach again saves processing time. For full details on the process, the blog makes for exceptionally interesting reading.

In a perfect scenario, these techniques can provide huge gains in terms of both frame-rates and VRAM usage. In a test on a mid-tier RX 9070 graphics card, performance in one scene jumped from 1.2fps (!) to 79fps (a 66x increase) when using clustered geometry, as the time needed to build acceleration structures dropped from 788ms to 3.11ms (a 254x speed-up). RT compute times also dropped significantly, from 72.6ms to 9.27ms (8x faster). In terms of VRAM, memory used to store acceleration structures shrunk from 7.3GB to 774MB, nearly an order of magnitude less. It goes without saying that real-world testing with more complex scenes and much more going on in the background will see smaller gains, but it could still provide a game-changing improvement.

Microsoft notes that games can use the clustered geometry and PTLAS features separately or together as needed, and no new hardware acceleration is required either, so the features should work on existing graphics cards. "Even in normal times this would be a wonderful thing", Patel notes.

Performance
"Do not assume games will see this magnitude of wins, this is just a test playground." — Image: Microsoft

However, hardware vendors like AMD, Intel and Nvidia will need to add support for the technologies in their graphics drivers, and older RT-capable GPUs may face performance or other difficulties that preclude these features from being officially enabled on older silicon. For what it's worth, Nvidia says that "all RTX GPUs" support the new version, compared with RX 9000 GPUs only for AMD and B-Series GPUs or recent Core Ultra CPUs for Intel. Qualcomm promises support for X2 by the middle of next year. Here's additional availability information if you're interested.

The new features are available via the DirectX 12 Agility SDK 1.722 preview now, and should start turning up in games sometime next year.

[source devblogs.microsoft.com, via github.com]