RT Cores Not Needed For Raytracing Says Metro Exodus Devs

Metro Exodus, the latest first-person shooter game by 4A Games was released last Friday. 4A Games has delivered a technically advanced game that supports NVIDIA’s DLSS (Deep Learning Super-Sampling) and raytracing if you play with their RTX graphics cards. While DLSS has been criticized in the game for its blurry image quality (NVIDIA promised improvements are on the way), the game’s implementation of ray tracing is the best yet.

Eurogamer’s Digital Foundry posted a massive interview with the developers yesterday. There they discussed all the various improvements made to the engine for Metro Exodus. With regards to the possibility of raytracing becoming available on hardware with no specialized ray tracing cores, such as next-generation consoles, for instance, rendering programmer Ben Archard said that fast compute cores are also a viable path.

It doesn’t really matter – be it dedicated hardware or just enough compute power to do it in shader units, I believe it would be viable. For the current generation – yes, multiple solutions is the way to go.This is also a question of how long you support a parallel pipeline for legacy PC hardware. A GeForce GTX 1080 isn’t an out of date card as far as someone who bought one last year is concerned. So, these cards take a few years to phase out and for RT to become fully mainstream to the point where you can just assume it. And obviously on current generation consoles we need to have the voxel GI solution in the engine alongside the new ray tracing solution. Ray tracing is the future of gaming, so the main focus is now on RT either way.In terms of the viability of ray tracing on next generation consoles, the hardware doesn’t have to be specifically RTX cores. Those cores aren’t the only thing that matters when it comes to ray tracing. They are fixed function hardware that speed up the calculations specifically relating to the BVH intersection tests. Those calculations can be done in standard compute if the computer cores are numerous and fast enough (which we believe they will be on the next gen consoles). In fact, any GPU that is running DX12 will be able to “run” DXR since DXR is just an extension of DX12.Other things that really affect how quickly you can do ray tracing are a really fast BVH generation algorithm, which will be handled by the core APIs; and really fast memory. The nasty thing that ray tracing does, as opposed to something like say SSAO, is randomly access memory. SSAO will grab a load of texel data from a local area in texture space and because of the way those textures are stored there is a reasonably good chance that those texels will be quite close (or adjacent) in memory. Also, the SSAO for the next pixel over will work with pretty much the same set of samples. So, you have to load far less from memory because you can cache and awful lot of data.Working on data that is in cache speeds things up a ridiculous amount. Unfortunately, rays don’t really have this same level of coherence. They can randomly access just about any part of the set of geometry, and the ray for the next pixels could be grabbing data from and equally random location. So as much as specialised hardware to speed up the calculations of the ray intersections is important, fast compute cores and memory which lets you get at your bounding volume data quickly is also a viable path to doing real-time RT.

Ben Archard, Rendering Programmer at 4A Games

Interestingly AMD will reveal more details about the Navi GPU architecture, which is believed to have been chosen by Sony and Microsoft to power their next consoles. This platform can support ray tracing through sheer power rather than specialized hardware. Only time will show us which is the better approach to ray tracing. In the meantime, we’ll keep you updated if there are any further developments.