No DX12 Software is Suitable for Benchmarking *spawn*

Devs should just ditch vertex shading and go all in mesh shading for games in development now. It would transform games. Better performance, much finer LOD granularity, much finer geometric detail. The potential is huge! A big step towards GCI like graphics.

I would like to see games using mesh shading at the end of 2021 or 2022. The only issue is the userbase, which due to Covid may be lower than expected. Still, it should get better in mid 2021.

With UE5 seemingly bypassing mesh shaders in favour of a pure compute path and achieving higher performance for the most part (with obviously stunning results), I'm wondering how much use we'll see of mesh shaders this generation. The same question would apply to the RT hardware vs Lumen which seemingly does something quite similar with less performance hit and without having to rely on the RT hardware.

UE5 is not skipping mesh shaders. The demo was running on PS5 so it was using primitive shaders as the HW acceleration path for Nanite. On PC and Xbox that path will very likely be mesh shaders.
 
Devs should just ditch vertex shading and go all in mesh shading for games in development now. It would transform games. Better performance, much finer LOD granularity, much finer geometric detail. The potential is huge! A big step towards GCI like graphics.

I would like to see games using mesh shading at the end of 2021 or 2022. The only issue is the userbase, which due to Covid may be lower than expected. Still, it should get better in mid 2021.



UE5 is not skipping mesh shaders. The demo was running on PS5 so it was using primitive shaders as the HW acceleration path for Nanite. On PC and Xbox that path will very likely be mesh shaders.

Nanite skip mesh shader/primitive shaders for the majoity of the Nanite workload when triangle are pixel sized. Only triangle bigger than pixel size use mesh shader/primitive shader path. Non Nanite geometry probably use mesh shader, out of hair rendering probably like Frosbite solution is using compute.


We begins to see special case software rasterizing solution because current HW rasterizing is inefficient with pixel or sub pixel triangle(Nanite or hair rendering in Frosbite). And they succeed to do what they want to do and Nanite evolve to take more and more part of the rendering (animated character for example), it will be more and more compute shading. They think the only things which is impossible to do with Nanite is vegetation.

 
Last edited:
UE5 is not skipping mesh shaders. The demo was running on PS5 so it was using primitive shaders as the HW acceleration path for Nanite. On PC and Xbox that path will very likely be mesh shaders.

Chris beat me to it but this is from the Digital Foundry article:

Brian Karis said:
"The vast majority of triangles are software rasterised using hyper-optimised compute shaders specifically designed for the advantages we can exploit," explains Brian Karis. "As a result, we've been able to leave hardware rasterisers in the dust at this specific task. Software rasterisation is a core component of Nanite that allows it to achieve what it does. We can't beat hardware rasterisers in all cases though so we'll use hardware when we've determined it's the faster path. On PlayStation 5 we use primitive shaders for that path which is considerably faster than using the old pipeline we had before with vertex shaders."

https://www.eurogamer.net/articles/...eal-engine-5-playstation-5-tech-demo-analysis
 
Keep in mind all those tweets and interviews were made in correlation with the PS5 demo. So specifically for PS5, software rasterization might be more efficient.

For PC and Xbox, that could be different, using mesh shading. Epic would be foolish to not use such a groundbreaking technology found in modern GPUs in their next gen engine to its full potential.
 
They are using primitive shaders and will use mesh shaders. It is possible that there will be h/w improvements in future GPUs which will help with small sized triangles handling too.

And as for Lumen it would be really weird for UE5 not to support RT when UE4 does it already. It is possible though that they will use compute based solution for GI instead of h/w RT one.

We should remember that key aspect of UE is wide compatibility which means that they will compromise and fall back from h/w solutions where possible.
 
They are using primitive shaders and will use mesh shaders. It is possible that there will be h/w improvements in future GPUs which will help with small sized triangles handling too.

And as for Lumen it would be really weird for UE5 not to support RT when UE4 does it already. It is possible though that they will use compute based solution for GI instead of h/w RT one.

We should remember that key aspect of UE is wide compatibility which means that they will compromise and fall back from h/w solutions where possible.
I'm sure they will support both.. because Nvidia is too big of a player to ignore. Nvidia and Epic have always worked together and integrated hardware support together, so I'm not expecting that to change.
 
I'm sure they will support both.. because Nvidia is too big of a player to ignore. Nvidia and Epic have always worked together and integrated hardware support together, so I'm not expecting that to change.
Why Nvidia? RT and mesh shaders are supported by MS, Sony, AMD and Intel too. PS5 is the only one here which may not support mesh shaders fully and use a simpler primitive shaders instead but I don't think that this difference will mean much.
 
Why Nvidia? RT and mesh shaders are supported by MS, Sony, AMD and Intel too. PS5 is the only one here which may not support mesh shaders fully and use a simpler primitive shaders instead but I don't think that this difference will mean much.
I was referring to your "compute based GI vs Hardware RT" comment. Nvidia will continue to work with Epic games to ensure that their RT hardware is supported. They aren't going to drop hardware based RT support for only compute based GI/RT... because as I said, Nvidia is too big and has too much invested in it.
 
I was referring to your "compute based GI vs Hardware RT" comment. Nvidia will continue to work with Epic games to ensure that their RT hardware is supported. They aren't going to drop hardware based RT support for only compute based GI/RT... because as I said, Nvidia is too big and has too much invested in it.
Compute based GI can be a better overall fit on this generation of h/w with RT being used for other parts of rendering (shadows, reflections, etc). The question of if Lumen will be able to take advantage of RT h/w or if Epic will add a separate RT based GI solution for PC high end GPUs will be answered in time. I see nothing wrong with Lumen using compute only for now, and I doubt that Nv will see anything wrong either considering that they have a pretty hefty advantage in compute at the moment.
 
The problem now lies in the non mesh shader path, as it doesn't represent the best possible use of resources for the traditional old ways, thus the speed ups with the Mesh path are now unrealistic?

Yes it’s useless as a comparison of old vs new. At best it’s a benchmark of mesh shader performance on competing architectures but who knows how optimized it is for each arch.

Compute based GI can be a better overall fit on this generation of h/w with RT being used for other parts of rendering (shadows, reflections, etc).

RT GI is also compute based. A better distinction might be RT vs volume based GI.
 
Compute based GI can be a better overall fit on this generation of h/w with RT being used for other parts of rendering (shadows, reflections, etc). The question of if Lumen will be able to take advantage of RT h/w or if Epic will add a separate RT based GI solution for PC high end GPUs will be answered in time. I see nothing wrong with Lumen using compute only for now, and I doubt that Nv will see anything wrong either considering that they have a pretty hefty advantage in compute at the moment.
Like I said, I think they will support both. Lumen has it's own caveats at the moment which may not be suitable for many developers depending on the kind of game/visuals they want to make.
 
It is possible that there will be h/w improvements in future GPUs which will help with small sized triangles handling too.
Modern GPUs already cull subpixel triangles at faster pace than triangle setup. Though, HW have to be conservative so it's culling pretty late in the pipeline.
Mesh and compute shaders still allow to cull even faster by culling a meshlet (a bunch of triangles) at once and earlier instead of culling per triangle and late in HW.
 
RT GI is also compute based. A better distinction might be RT vs volume based GI.
RT GI here means that it's using RT h/w in the GPU and thus perform pixel sized ray tracing. Most of compute GI also use various forms of tracing just with much less precision.

Like I said, I think they will support both.
I think so too and also assume that Lumen is made for compatibility first now, so that it could run on h/w without RT capabilities. Eventually they'll either upgrade it or add a separate h/w RT based GI solution.
 
Keep in mind all those tweets and interviews were made in correlation with the PS5 demo. So specifically for PS5, software rasterization might be more efficient.

For PC and Xbox, that could be different, using mesh shading. Epic would be foolish to not use such a groundbreaking technology found in modern GPUs in their next gen engine to its full potential.

HW rasterizer aren't efficient for pixel or sub pixel triangle sized. I saw a patent about a rasterizer efficient for micropolygon on AMD side but currently this is not used inside a released AMD GPU.

https://patents.google.com/patent/US10062206B2/en
 
Last edited:
Why Nvidia? RT and mesh shaders are supported by MS, Sony, AMD and Intel too. PS5 is the only one here which may not support mesh shaders fully and use a simpler primitive shaders instead but I don't think that this difference will mean much.
Why do you use the term "simpler" and what do you mean by "simpler"?
 

Interesting results here. Looks like Nvidia still has a relatively poor driver for low level APIs. It’s a reversal of the DX11 situation we saw with AMD in the past.
 
Back
Top