3DMark Mesh Shader Test (DX12 Ultimate)


3DMark Mesh Shader Test (DX12 Ultimate)

 
Last week, UL Benchmarks has added a new graphics test to 3DMark focused on Mesh Shaders. I talked about mesh shaders in this article: Quick Introduction to Mesh Shaders (OpenGL and Vulkan).

Here is the description of this new graphics test:

DirectX 12 Ultimate adds powerful new features and capabilities to DirectX 12 including DirectX Raytracing Tier 1.1, Mesh Shaders, Sampler Feedback, and Variable Rate Shading (VRS).

After DirectX 12 Ultimate was announced, we started adding new tests to 3DMark to show how games can benefit from these new features.

Our latest addition is the 3DMark Mesh Shader feature test, a new test that shows how game developers can boost frame rates by using mesh shaders in the graphics pipeline.

What is a mesh shader?

Mesh shaders introduce a new approach to geometry processing that simplifies the graphics pipeline while also giving developers more flexibility and control.

In 3D graphics, a mesh is the set of vertices, edges and faces that define the shape of an object. In current graphics pipelines, all the geometry data in a mesh must be processed sequentially before any further steps can be taken. This can be a significant performance bottleneck.

Mesh shaders replace the old approach with a new model that brings the power, flexibility and control of a compute programming model to the geometry pipeline.

Mesh shaders can process small sections of a mesh, called meshlets, in parallel with a much greater degree of flexibility and control.

Amplification shaders, another new part of the mesh shader pipeline, are especially useful for culling, as they can efficiently determine which meshlets are visible before shading. An amplification shader can cull nonvisible meshlets far more efficiently than the traditional methods.

Test mesh shader performance with 3DMark

The 3DMark Mesh Shader feature test shows how game engines can improve performance by using the mesh shader pipeline to efficiently cull geometry that is not visible to the camera.

The test scene is a hall containing many rows of highly detailed, carved pillars. As the camera moves through the scene, the pillars in the foreground block the view of those further back.

The test runs in two passes. The first pass uses a traditional approach to geometry culling to provide a performance baseline. The second pass uses mesh shaders to efficiently cull hidden meshlets.

The result of the test is the average frame rate for each pass and the difference between the two expressed as a percentage.

More information: New 3DMark test measures mesh shader performance

 
Downloads:

 
To play with the mesh shader test, you need a NVIDIA GeForce RTX 20/30 Series or an AMD Radeon RX 6000 Series and Windows 10 v2004 (20H2).

 

Test System
CPU Intel Core i7-8700K @ 3.7GHz
Motherboard GIGABYTE Z390 Gaming X
Memory 16GB DDR4 Corsair Vengeance LED @ 3000MHz
PSU Corsair AX860i
Storage Samsung 840 Pro 256GB SSD
OS Windows 10 v2009 64-bit

 

Mesh Shaders OFF

75 FPS
ASUS ROG Strix GeForce RTX 2080 – GeForce 461.40
65 FPS
GIGABYTE GeForce RTX 3060 Ti Gaming OC 8G – GeForce 461.40
31 FPS
ASUS TUF Radeon RX 6800 XT OC 16GB – Adrenalin 21.2.2

 

Mesh Shaders ON

480 FPS
ASUS TUF Radeon RX 6800 XT OC 16GB – Radeon Adrenalin 21.2.2
376 FPS
ASUS ROG Strix GeForce RTX 2080 – GeForce 461.40
363 FPS
GIGABYTE GeForce RTX 3060 Ti Gaming OC 8G – GeForce 461.40

 
Looks like the Radeon RX 6800 XT loves mesh shaders:
3DMark Mesh Shaders Test - Radeon RX 6800 XT

 
GeForce RTX 2080 result:
3DMark Mesh Shaders Test - GeForce RTX 2080

2 thoughts on “3DMark Mesh Shader Test (DX12 Ultimate)”

  1. Mark

    So many performance promises on DX10/DX11 are finally happening in completely different ways more than 10 years late.

  2. Raphaël

    Looking at the huge performance ratio with and without mesh shader usage, I guess there is no GPU instance culling performed upfront (e.g. conditional rendering or draw indirect calls based on screen space bounding volumes tested against a depth buffer hierarchy).
    It’s quite unfortunate for users/developers as we can’t actually see if the meshlet culling feature brought by Mesh shaders actually brings any performance improvement on a wide range of GPU.

Comments are closed.