Digital Foundry Article Technical Discussion [2022]

Status
Not open for further replies.
No link to this yet?


Some great info in here about Spiderman on the PC. Some highlights:

  • It was a massive effort to port this to PC from "bare metal" PS5 version
  • One "optimisation" Nixxes used which is bound to irk some is that they changed the DXR method from DXR1.1 which favours AMD to DXR 1.0 which favours NV.
  • Richard is working on a full performance analysis (woohoo!)
  • Alex and the team are (rightly) quite critical of other vendors that used pre-patch footage and setting as their basis for comparison. And Alex worked overtime to ensure DF didn't fall into that trap.
  • More performance improvements are incoming
  • Sounds like a really good interview with Nixxes will be posted soo
 
  • One "optimisation" Nixxes used which is bound to irk some is that they changed the DXR method from DXR1.1 which favours AMD to DXR 1.0 which favours NV.

I suppose this was due to wanting to favour the largest possible install base of RT gaming systems. Still, not what I was expecting from a PS5 port!

The frame times being arractic particularly on lower end GPUs is interesting. Perhaps there's a fixed or minimum amount of work that comes with some aspect of streaming using GPU compute, and that work isn't being evenly distributed between frames (fixed tick rate? Uneven batches of work?).

That would hit weaker GPUs proportionately harder and harder. And as you couldn't rely on delta time to give you a reasonably accurate idea of how long the current frame was going to take, I could see this playing havoc with DRS (and DRS potentially compounding the problem if it were to overshoot, undershoot, over correct etc).

I hope DF are able to go back to Nixxes as they continue to work on the game and share more of what Nixxes found and how they tackled it. This is really interesting stuff.

Edit: Yes, I meant DRS :-|
 
Last edited:
That would hit weaker GPUs proportionately harder and harder. And as you couldn't rely on delta time to give you a reasonably accurate idea of how long the current frame was going to take, I could see this playing havoc with VRS (and VRS potentially compounding the problem if it were to overshoot, undershoot, over correct etc).
You mean DRS, dynamic resolution scaling?
 
No link to this yet?


Some great info in here about Spiderman on the PC. Some highlights:

  • It was a massive effort to port this to PC from "bare metal" PS5 version
  • One "optimisation" Nixxes used which is bound to irk some is that they changed the DXR method from DXR1.1 which favours AMD to DXR 1.0 which favours NV.
  • Richard is working on a full performance analysis (woohoo!)
  • Alex and the team are (rightly) quite critical of other vendors that used pre-patch footage and setting as their basis for comparison. And Alex worked overtime to ensure DF didn't fall into that trap.
  • More performance improvements are incoming
  • Sounds like a really good interview with Nixxes will be posted soo
I'm hoping in Alex's interview with Nixxes that he asked about DirectStorage and their thoughts about it, and whether it was ever in consideration to be used? I'd love to hear any little insights possible into that topic.
 
I'm hoping in Alex's interview with Nixxes that he asked about DirectStorage and their thoughts about it, and whether it was ever in consideration to be used? I'd love to hear any little insights possible into that topic.

Yes I definitely agree with that. Although I expect we may have been given some hints already if that was discussed.
 
I'm hoping in Alex's interview with Nixxes that he asked about DirectStorage and their thoughts about it, and whether it was ever in consideration to be used? I'd love to hear any little insights possible into that topic.
Without GPU decompression, there's really not a huge point to doing so is there? Unless they just wanted to build the basis for updating it(and doing a bunch more work on it) at some unknown later date.

But yea, would still be interested to hearing them talk about it anyways. We still dont know a ton about what's going on there from the developer-side.
 
I'm hoping in Alex's interview with Nixxes that he asked about DirectStorage and their thoughts about it, and whether it was ever in consideration to be used? I'd love to hear any little insights possible into that topic.
Direct Storage is actually referenced in the games files so must have looked at it at some point, even if just to test it.

Maybe a future patch?
 
Last edited:
Without GPU decompression, there's really not a huge point to doing so is there? Unless they just wanted to build the basis for updating it(and doing a bunch more work on it) at some unknown later date.

But yea, would still be interested to hearing them talk about it anyways. We still dont know a ton about what's going on there from the developer-side.
Direct Storage could still be used to reduce the other overheads relating to the I/O and streaming.
 
Last edited:
One "optimisation" Nixxes used which is bound to irk some is that they changed the DXR method from DXR1.1 which favours AMD to DXR 1.0 which favours NV.

It shouldn’t irk anyone as DXR 1.0 “should” be faster on both AMD and Nvidia hardware in non-trivial RT scenarios as the driver has more control of how RT work is scheduled for optimal performance.

I wonder though if console apis even have a DXR 1.0 equivalent or is all RT executed inline.
 
I suppose this was due to wanting to favour the largest possible install base of RT gaming systems. Still, not what I was expecting from a PS5 port!

The frame times being arractic particularly on lower end GPUs is interesting. Perhaps there's a fixed or minimum amount of work that comes with some aspect of streaming using GPU compute, and that work isn't being evenly distributed between frames (fixed tick rate? Uneven batches of work?).

That would hit weaker GPUs proportionately harder and harder. And as you couldn't rely on delta time to give you a reasonably accurate idea of how long the current frame was going to take, I could see this playing havoc with DRS (and DRS potentially compounding the problem if it were to overshoot, undershoot, over correct etc).

I hope DF are able to go back to Nixxes as they continue to work on the game and share more of what Nixxes found and how they tackled it. This is really interesting stuff.

Edit: Yes, I meant DRS :-|
The summary is not exactly correct.
On PS5 it is using the Vulkan RT solution and not DXR 1.1... they converted it do DXR 1.0 to run on DX12.
Alex said something like "Vulkan similar DXR 1.1 solution that I don't remember the name" or something like that.
I agree they probably choose DXR 1.0 over DXR 1.1 due GPU market share.

I'm hoping in Alex's interview with Nixxes that he asked about DirectStorage and their thoughts about it, and whether it was ever in consideration to be used? I'd love to hear any little insights possible into that topic.
DirectStorage right now is not that useful... they had to implement GPU decompression that is the main take of the API.

I wonder though if console apis even have a DXR 1.0 equivalent or is all RT executed inline.
Alex said PS5 uses Vulkan RT equivalent to DXR 1.1.
 
Last edited:
For the interview I hope @Dictator will be asking about direct Storage and if future ports could be using DX12U features such as VRS, sampler feedback and Mesh Shading.

Btw, 2060 and 2060 Super are very different GPUs, they have different amounts of VRAM and the 2060S basically matches 2070 in terms of performance.

Personally, I would consider the base RTX 2060 the entry level RT capable GPU and not the 2060S, as the 2060 is way more popular in Steam Hardware Survey, and it would be nice to have RT performance impressions on that one as well again!
 
The results showed 0.1s to 0.4s difference between DirectStorage and Win32.
They optimized the path but it is still being limited by CPU Decompression speeds... that is why you don't see impressive results.

I can be wrong but in Spider-man the main tasks load on CPU are the decompression, no?

BHV updates are the big performance hog. Decompression requirements likely add a bit of overhead but likely nothing major. The CPU requirements without RT (were decompression is still being done) are nothing too demanding.
 
The summary is not exactly correct.
On PS5 it is using the Vulkan RT solution and not DXR 1.1... they converted it do DXR 1.0 to run on DX12.
Alex said something like "Vulkan similar DXR 1.1 solution that I don't remember the name" or something like that.
I agree they probably choose DXR 1.0 over DXR 1.1 due GPU market share.

Yeah, I know Sony don't use MS Direct X for their API; I think pjbliverpool was taking it for granted that we'd all get the gist of what he was getting at. :)

DirectStorage right now is not that useful... they had to implement GPU decompression that is the main take of the API.

I think DS is pretty useful in its own right - a potentially several fold increase of throughput while decreasing overheads is a pretty big. As we move away from cross gen ports and move to console games designed for SSD and lots of concurrent requests for access we'll see PC able to make better use of PCIe SSDs. As well as load times it should help reduce stutter etc in some circumstances too, which would be nice.

Currently, a SATA SSD is almost as effective as PCIe for games. We already have 7 GB/s PCIe drives and 14 GB/s just round the corner, so I think we really do need this with or without GPU decompression. GPU decompression will certainly be able to build on DS though.

I suppose we'll cycle back to the "dedicated decompression blocks or not?" debate at some point. I'd think not for PC, but I guess time will tell.
 
I suppose this was due to wanting to favour the largest possible install base of RT gaming systems. Still, not what I was expecting from a PS5 port!

The frame times being arractic particularly on lower end GPUs is interesting. Perhaps there's a fixed or minimum amount of work that comes with some aspect of streaming using GPU compute, and that work isn't being evenly distributed between frames (fixed tick rate? Uneven batches of work?).

That would hit weaker GPUs proportionately harder and harder. And as you couldn't rely on delta time to give you a reasonably accurate idea of how long the current frame was going to take, I could see this playing havoc with DRS (and DRS potentially compounding the problem if it were to overshoot, undershoot, over correct etc).

I hope DF are able to go back to Nixxes as they continue to work on the game and share more of what Nixxes found and how they tackled it. This is really interesting stuff.

Edit: Yes, I meant DRS :-|

In one way it makes sense in another it doesn't. You are basically narrowing the range of performance amongst all users with the benefit that performance will be improved for the AMD users who are already at a disadvantage, which I would applaud. However, Nvidia makes up some obscene portion of RT market given RTX has been on the market much longer. So you are lowering potential performance for like 80-90% of the market for a small percentage of RT gamers who use AMD gpus. I don't think that makes a lot of sense when considering demographics.
 
  • Like
Reactions: snc
BHV updates are the big performance hog. Decompression requirements likely add a bit of overhead but likely nothing major. The CPU requirements without RT (were decompression is still being done) are nothing too demanding.

I'd love to see some raytracing tests at different raytracing detail levels using a low clocked Ryzen 5800X3D,
I understand that BVH updates are costly on the CPU, but I dont have a great understanding of why?

Does stacking a huge amount of cache solve a lot of the BVH building issues?
ie. potentially pointing to lots of pointer chasing and larger than normal L@ size data sets?
In Spiderman it seems to scale ok across multiple threads?
Or is it computationally expensive?

In my very basic understanding on BVH algorithms, it's going to be pretty simple but mostly dependent tests,
across a very large data set, that doesn't scale super easily across threads.
but scaling across 8 threads for CPU work is very different to scaling across 1000's for GPU work.
So i wouldn't be surprised if the Ryzen 5800X3D performs very well in the raytracing tests, even at a lower clock....

but i'm just guessing...?
 
Status
Not open for further replies.
Back
Top