Current Generation Hardware Speculation with a Technical Spin [post launch 2021] [XBSX, PS5]

Status
Not open for further replies.
not that I can recall, if you have something that would be great. IIRC Triangle discard was a Cerny marketing point. MS never touched it.
I seem to recall a wireframe creature in another room and the camera being rotated left and right showing the culling.
 
@iroboto I know some games use compute shaders to do coarse culling before feeding into the vertex pipeline, or something like that. If you just rely on the vertex shader pipeline you'll end up processing and shading many vertices before they're eventually culled by the fixed raster units. So you're wasting time shading vertices that you never needed to shade, and then wasting clock cycles on the fixed raster units by having them do more culling then necessary. I would have thought at least Assassin's Creed would be doing something smart to do coarse culling with compute shaders to alleviate that bottleneck. Maybe not?

Edit: I know on PC there are still games, especially ones with legacy engines, where you can change the direction you're facing and watch the frame rate alter drastically, even though you're effectively looking at flat walls. They're most likely wasting a lot of time processing vertices that are occluded. There are places on the maps in Apex Legends that are like that, and I seem to remember the same issue in Remnant. You don't really notice it until you start trying to push past 60 fps to high framerates by lowering settings, and I'm assuming the bottleneck shifts from pixel/fragment shading to vertex shading. There are areas on apex maps that look relatively similar but facing one direction I can get 250fps and facing another direction I'll get 160.
Indeed, I think very strong AAA games that rely on high frame rate do this. COD, BF etc. But you're then still limited by primitive draw rate. Which PS5 should do better than XSX if you ignore Mesh Shaders
 
Indeed, I think very strong AAA games that rely on high frame rate do this. COD, BF etc. But you're then still limited by primitive draw rate. Which PS5 should do better than XSX if you ignore Mesh Shaders

Yah, even without any hardware differences, just from raw clock speed alone, PS5 can cull and generate fragments for shading much faster.

Edit: actually the whole vertex shader pipeline should run much faster. I know PS5 operates with lower level access, but if you were to assume Xbox series x is running dx12 with vertex shaders that whole part of the pipeline (geometry) before the fixed raster units doesn’t leverage the width of the gpu very well. If PS5’s API is better at leveraging width it will have even more advantage on top of raw clock speed. For series x it’ll be interesting to see how things change with mesh shaders in the pipeline.
 
Last edited:
I've been talking heavily about geometry processing and triangle discard/culling advantages that PS5 could have over XSX in another thread. It may be worthwhile to move/merge that here since we're no longer really discussing any of the videos.

Examples of where I believe XSX is suffering from major culling problems in the post below. Once again, I believe XSX is failing to cull well or PS5 is doing an extraordinary job at it. But this is starting to become the pattern that I'm latching onto. Culling may actually do a great job at possibly explaining the Corridor of Death in Control. And the issues with XSX and major drops in Hitman 3, in particular with the flowers (obstruction) and the zoom in sniper rifle (once again, a culling limit)
https://forum.beyond3d.com/posts/2192110/

Another example again.

So the hardest thing is that we're not actually sure what parts of the area is loaded for us to play since it culls the stuff we can't see. So it's hard to say it's just this or that. But if you look at the frame graphs this is unlikely to be CPU issues here, and I believe we're looking at triangle culling limitations again.

This other area here in Cold War:
This could be another area where we triangle discard and generation as being more important as you need to render a lot of triangles being high up in the sky with complex geometry, and having better discard will help with this considering how dense this particular scene is. The assumption is that COD uses compute shaders for culling, but triangle generation is still a key factor. PS5 should do about 22% more triangles than XSX.
Interesting. But what about NBA 2K21 then? Why is PS5 having an advantage here?

8N3K5Cw.png
 
So if this is culling issue on XSX side we can expect similar results in upcoming titles right? At least until game developers will start using mesh shaders but since games have to be compatible with previous gen titles this may come very late?
 
Interesting. But what about NBA 2K21 then? Why is PS5 having an advantage here?

8N3K5Cw.png
Triangle generation is 20% higher. Even if you move culling out of the way. PS5 is capable of 20% more culling (or even more, not sure) and 20% more primitives. Combined together may be what allows PS5 to hold and XSX dips dramatically. When you're only bottlenecked on 1 side, you may see small dips like this.
 
A lot of figures in the audience, plenty of occlusion possible. It all makes perfect logical sense
 
Or is that the mesh shaders?

If I understand things correctly, there's a couple of steps that Xbox/PC development could still go through.

The first up is the Dev Kits still use the old Geometry Shaders but they would be automatically processed to use newer NGG Geometry Shaders. That would be short term gains. No indication when this transition will happen, if it happened already, or the extent of the performance improvements.

The real long term gains comes from active work by developers to transition their code from Geometry Shaders to using Mesh Shaders.

xbox dev kit said:
Geometry Shader (GS)
• We’re planning to move to Next-Generation Graphics (NGG) GS in a future release of the GDK.
• Performance for GS in the June 2020 release isn’t indicative of the final expected performance and will be improved in future releases.
• GS adjacency isn’t fully supported in the June 2020 release, but we’ll provide full support in a future release.

upload_2021-1-28_13-37-56-png.5242
 
So if this is culling issue on XSX side we can expect similar results in upcoming titles right? At least until game developers will start using mesh shaders but since games have to be compatible with previous gen titles this may come very late?
compute shaders can handle culling as well which is the newer method. But it must be done by the developers to do it. We shouldn't expect every engine to be capable of it. Modern engines will all support compute based culling. Only UE5 does compute based primitive generation so far, I suspect most other engines will rely on Mesh shaders to perform this function instead.
 
Last edited:
Triangle generation is 20% higher. Even if you move culling out of the way. PS5 is capable of 20% more culling (or even more, not sure) and 20% more primitives. Combined together may be what allows PS5 to hold and XSX dips dramatically. When you're only bottlenecked on 1 side, you may see small dips like this.
I don't think 20% more primitives can alone lead to such gaps. And there are also others cases when there are plenty of alpha effects and not much polygons (Hitman 3 sniper shot, AC torches, Destiny 2 gun fire).

And what you say about culling is extrememly suprising. That would be an incredible hardware deficiency on XSX. For instance in Hitman 3 we are talking of a game running at 30fps on XB1 with the same level of details (AFAIK) running on GCN hardware. How can it drop so much on a much more powerful hardware displaying the same number of polygons? There are probably several others reasons for that like the advantage of pixel performance on PS5.
 
I don't think 20% more primitives can alone lead to such gaps. And there are also others cases when there are plenty of alpha effects and not much polygons (Hitman 3 sniper shot, AC torches, Destiny 2 gun fire).

And what you say about culling is extrememly suprising. That would be an incredible hardware deficiency on XSX. For instance in Hitman 3 we are talking of a game running at 30fps on XB1 with the same level of details (AFAIK) running on GCN hardware. How can it drop so much on a much more powerful hardware displaying the same number of polygons? There are probably several others reasons for that like the advantage of pixel performance on PS5.
Frame the faster it gets, the less triangles available per second and the more you need to discard. XSX typically never shows issues at 30fps. I think the Control camera demo showcased that Alpha is unlikely to be the problem here. Hitman 3, zooming is very much a rendering challenge because the developers need to decide the LOD and amount of rendering to allow for seeing and sniping. And depending on how they handle the zoom in, they may struggling with culling the entire environment out while zoomed it. You're clearly not going to unload anything because you can peer around while in zoom scope.

But I think the reason why I haven't jumped on the 'alpha' as a reason, is because despite PS5 having 20% better throughput for ROPS/Alpha: this function is still bandwidth dependent, of which XSX has more of it. Whereas primitive generation, and triangle discard are entirely independent.

It's possible it's a deficiency for XSX, but I'm actually leaning on PS5 having the advantage of being able to leverage it's primitive shader (NGG) pipeline from the get go. As of June GDK patch notes, it was still not ready for series consoles.
 
Last edited:
@Globalisateur If you look at the dx12 pipeline I'd say there are places where PS5 should have clear advantages and Series X should have clear advantages. I know PS5 has it's own API with it's own improvements to the vertex stages of the pipeline. I'm just mapping the parts of the pipeline where ps5 should have advantages for it's equivalents.

Input Assembler(PS5) -> Vertex Shader (PS5) -> Hull Shader (PS5) -> Tesselator (?) -> Domain Shader (PS5) -> Geometry Shader (PS5) - Rasterizer (PS5) -> Pixel Shader (Series X) -> Output merger (? probably PS5)

I don't know how frequently Hull, Domain and Geometry shaders are used. They're optional stages that are pretty unpopular I think, but I think PS5 would have an advantage here still. Tesselator is fixed function and I'm not sure which has the advantage.

Now if you're using a compute shader in the pipeline for frustrum or occlusion culling, I think it looks like this, because compute shaders should leverage the width of the series x gpu:

compute shader(series x) -> vertex shader(PS5) ... -> rasterizer (PS5) -> pixel shader (series x) -> output merger (? probably ps5)

Mesh shader is essentially a compute like generation and processing of vertices, so it should be able to leverage the width (compute power) of the series x gpu:

amplification shader (series x) -> mesh shader (series x) -> rasterizer (ps5) -> pixel shader (series x)

I think things will get better for Series X when they switch to the mesh shader pipeline. It may take a while though. And if PS5 doesn't take a meshlet based approach, it'll be interesting to see what happens. You'll essentially need two renderers for games that cross hardware generations. Will be interesting to see how many go that route.

Edit: Also I am fully aware this is an overly simplified view of leveraging hardware with software.
 
Last edited:
know PS5 has it's own API with it's own improvements to the vertex stages of the pipeline. I'm just mapping the parts of the pipeline where ps5 should have advantages for it's equivalents.

Input Assembler(PS5) -> Vertex Shader (PS5) -> Hull Shader (PS5) -> Tesselator (?) -> Domain Shader (PS5) -> Geometry Shader (PS5) - Rasterizer (PS5) -> Pixel Shader (Series X) -> Output merger (? probably PS5)
Technically, PS5 could do away with the old method entirely and just force primitive shaders for PS5. There's no legacy baggage required for them to adhere to it if they don't want to. It's an advantage of being the market leader and also being in a situation that they don't care if developers cross develop elsewhere. They may choose to only support those older APIs for BC titles only.
 
Technically, PS5 could do away with the old method entirely and just force primitive shaders for PS5. There's no legacy baggage required for them to adhere to it if they don't want to. It's an advantage of being the market leader and also being in a situation that they don't care if developers cross develop elsewhere. They may choose to only support those older APIs for BC titles only.

Yah, exactly. They have full control over their api. I was just comparing the hypothetical case where somehow PS5 and Series X were running legacy game that mapped to the direct3d pipeline, and showing that PS5 would have advantages through pretty much the entire pipeline up until pixel shading because of raw clock speed. PS5's fixed rasterizer units will always be faster, so even in the case where Series X games start leveraging the mesh shader pipeline, PS5 will still have an advantage there.

In the end we'll get:

PS5 geometry stuff -> rasterizer -> PS5 pixel shadery type thing

vs

Amplification shader -> mesh shader -> rasterizer -> pixel shader

I think Series X will probably win out in everything except the rasterizer because it will be able to leverage it's compute advantage, but I don't really know. Either way, Series X performance should improve when games start to leverage the new pipeline.
 
Not to brag, but I did write back in Nov PS5 advantage in some games could be coming from better triangle culling. Coupled with high clocks, PS5 has palpable advantage here, at least until devs start to use mesh shaders because if 3D Mark test is anything to go by, it should bring solid gains.
 
Please don't forget. Culling is nothing new and is done for years now (at least since voodoo 2 if I remember it correctly). The way ps5 can do it might just be a little bit more effective. I really just expect small gains from it. Also don't forget the dynamic clock speed. The more the gpu has to do (and needs power for it) the more the clock speed has to be lowered which also has an effect on the triangle output.


Btw, the new AMD driver seems to have a "slight" uplift for rdna2 gpus in that mesh shader test. Now the gain is around 1700% (500% before) but still with really low fps with mesh shader off. Seems like AMD only optimized the mesh shader on setting and are now on par with ampere GPUs ;)
The new generation really gets more interesting in the future when all games and engines are designed with those features in mind. Currently it seems that MS still does not support all features in their SDK, which is really ....
Well just lets say it is like always with MS SDKs. Many promised features but with the version you work with it, they are not implemented or only in unoptimized way with the promise that this will change.
And always so many features in a beta state ("you can start to work with it, but we currently don't support it due to alpha/beta/... State"... partially years later). I don't have experience with the console SDKs but with some other SDKs from MS. I really hope it is better there.
 
Not to brag, but I did write back in Nov PS5 advantage in some games could be coming from better triangle culling. Coupled with high clocks, PS5 has palpable advantage here, at least until devs start to use mesh shaders because if 3D Mark test is anything to go by, it should bring solid gains.
Yup, have a like ;)
 
Frame the faster it gets, the less triangles available per second and the more you need to discard. XSX typically never shows issues at 30fps. I think the Control camera demo showcased that Alpha is unlikely to be the problem here. Hitman 3, zooming is very much a rendering challenge because the developers need to decide the LOD and amount of rendering to allow for seeing and sniping. And depending on how they handle the zoom in, they may struggling with culling the entire environment out while zoomed it. You're clearly not going to unload anything because you can peer around while in zoom scope.

But I think the reason why I haven't jumped on the 'alpha' as a reason, is because despite PS5 having 20% better throughput for ROPS/Alpha: this function is still bandwidth dependent, of which XSX has more of it. Whereas primitive generation, and triangle discard are entirely independent.



It's possible it's a deficiency for XSX, but I'm actually leaning on PS5 having the advantage of being able to leverage it's primitive shader (NGG) pipeline from the get go. As of June GDK patch notes, it was still not ready for series consoles.
You are wrong here. With delta color compression applied everywhere in RDNA 2 the bandwidth should be enough to properly use the pixel performance on PS5 in many cases.

I meant XSX has more bandwidth, yes, but the DCC is allowing PS5 to actually use its 20% advantage in many cases. And it is proving it in most comparisons with heavy use of alphas where the PS5 has almost always the edge (XSX having the edge in compute heavy scenes with RT). No surprises there. The fact that you want to fabricate another reason for PS5 advantage (allegedly caused by bad tools on XSX, is that it in a nutshell?) doesn't change the reality. PS5 performs better when there are plenty of alphas.
 
Last edited:
Status
Not open for further replies.
Back
Top