Earlier this week, Microsoft announced its latest DirectX 12 Ultimate API which aims to provide a unified platform to developers for next-generation graphics on PC and consoles. One of the key features of the announcement was the addition of Mesh Shaders to the DX12 framework & the Principal Engineer at Microsoft/Xbox ATG (Advanced Technologies Group), Martin Fuller, has showcased how the new technique would help devs in delivering higher graphics throughput in next-gen games.
DirectX 12 Ultimate API's Mesh Shaders Tested With NVIDIA GeForce RTX 2080 Ti & Xbox Series X - Huge Performance Gains On PCs & Consoles
Martin explains that there are only two platforms that currently support DirectX 12 Ultimate Mesh Shaders, and those include the NVIDIA Turing GPU lineup and the Xbox Series X with AMD RDNA2. So just a recap of what Mesh Shaders are and what they do. NVIDIA announced Mesh Shaders back with its Turing GPU architecture in 2018 as a means to dramatically improve performance and image quality when rendering a scene with a substantial number of very complex objects.
Take for instance a very complex & triangle heavy mesh and what Mesh Shaders would essentially do is segment it into smaller meshlets. Each meshlet ideally optimizes the vertex re-use within it. Using the new hardware stages and this segmentation scheme, devs can render more geometry in parallel while fetching less overall data. An in-depth look at Mesh Shaders can be read at NVIDIA's and Microsoft's Dev blogs.
The same Mesh Shaders also bring the full power of generalized GPU Compute to the geometry pipe-line, allowing developers to build more dynamic worlds than before without compromising over performance. It allows for advanced culling techniques, LOD (Level of Detail) and an infinitely more procedural topology generation in a scene. An impressive demo by NVIDIA, known as Asteroids, was published a while back and can be seen below.
The DirectX 12 Mesh Shader demo shown by Martin includes the NVIDIA GeForce RTX 2080 Ti running on Windows 10 at a resolution of 1440p while the Xbox Series X devkit is running at 4K. The demo includes five rooms with various techniques. A normal pass through renders the 4K scene on Xbox Series X at around 100 microseconds which are reduced to just 55 microseconds with meshlet sphere culling that is a more advanced culling technique. The same holds true for the RTX 2080 Ti which reports significant render time drops with advanced meshlet culling techniques. You can see the demo of the RTX 2080 Ti and Xbox Series X in the video below:
There's a performance breakdown of using the older vertex shaders versus mesh shaders and the difference is that the render time in both cases is cut to almost half on both platforms. Following is the render time breakdown using various mesh shaders + advanced culling techniques.
It is also noteworthy that the RTX 2080 Ti renders the scene in about 40 microseconds using the regular pass-through method at 1440p whereas the Xbox Series X renders in around 100 micro seconds at 4K. The Xbox Series X, however, delivers much faster render times even at 4K than the (standard pass-through) NVIDIA GeForce RTX 2080 Ti which goes off to show the benefits of the new Mesh Shaders in Direct X 12 Ultimate API being embedded in Turing and RDNA 2 GPUs.