Current Generation Games Analysis Technical Discussion [2020-2021] [XBSX|S, PS5, PC]

Status
Not open for further replies.
PS5 speed 22GB/s over 6gb/s andrew goossen xbox the decompression chip help it is much faster sony reserved some for the OS too besides cache scrubbing very efficient IO modules.
 
So, more than likely Sony is down-clocking frequencies or has a custom spec'd module for 460MB/s. Your original figure of 1066MB/s is far too much within a 12 channel configuration, way beyond PS5 listed SSD/IO bandwidth specifications.

This is 533 MB/s for the 12 channel configuration but again this not magic. I am sure Sony reserved some bandwidth for OS maybe we will have more information after a GDC.

If the module were custom they would have another reference. Here a SSD maker you can buy the exact same module in the link I gave.

H58LJT0T24BA4C | 983E98B376E3 | G9T24 |2 | 128GB | 3D TLC
 
This is 533 MB/s for the 12 channel configuration but again this not magic. I am sure Sony reserved some bandwidth for OS maybe we will have more information after a GDC.

There is no problem in me believing it's the 533MB/s module (be it down-clocked to 460MB/s or as you say, some bandwidth being reserved). The only issue that I had was the 1066MB/s figure that you mentioned. In a 12 channel configuration that would be 12,792GB/s... :oops::runaway:
 
There is no problem in me believing it's the 533MB/s modules (be it down-clocked to 460MB/s or as you say, some were reserved). The only issue that I had was the 1066MB/s figure that you mentioned. In a 12 channel configuration that would be 12,792GB/s... :oops::runaway:

No I was thinking like it is 6 channels. I forget PS5 is 12 channels. Currently this is impossible to find Flash NAND module under 533 MB/s. Flash NAND maker does not do 400 MB/s module anymore.
 
Last edited:
If it was the case the XSX load time will be slower to PC because the SSD they used is much better than the Xbox SSD 2,4 GB/s no DRAM cache like I said 3.5 GB/s and 512 MB of DRAM cache.

The PS5 SSD is 5.5 GB/s and some SRAM cache use for adress translation and can be use as cache cf. PS5 SSD patent.

edit: typo 512 MB of DRAM not 512 GB.
Why are you being disingenuous regarding XSX SSD speed? MS keeps claiming GUARANTEED/MINIMUM and you keep claiming it’s typical/peak... In the new.xbox.com they even tell you it has custom firmware to speed things up for console use scenario.
Do you have a benchmark? We don't know this. Here what is sure the XSX SSD is slower than the PC one and is able to load as fast. It proves something is done on XSX side not done on the PC Drive and decompression is not a problem on PC for loading data from a save. This is not streaming, if it use multiple CPU core or all CPU Power this is not a problem.

There is a moment you need to stop being delusional. The PS5 SSD is faster than the Xbox Series X one. From a streaming perspective there is a coherency engine with cache scrubber present in PS5 not on Xbox Series X same of the work done on Xbox Series X CPU is done fully inside the I/O Complex on PS5.

This is like thinking Xbox Series X will not be faster on raytracing than PS5. On DMC 5 and RE8 raytracing is a bit faster on XSX than PS5.

And PS5 is able to do virtual texturing and Partial resident texture too in hardware this is available on AMD GPU since GCN 1 since 2011. SFS means if the mip level needed is not inside RAM, the XSX can load a lower mip level present in memory, on PS5 it will be a big texture pop in but the SSD and streaming hardware being faster on PS5 side less chance this problem arrive.

https://www.anandtech.com/show/5261/amd-radeon-hd-7970-review/6





And in Direct X it is called hardware tiled resource
https://docs.microsoft.com/en-us/windows/win32/direct3d11/tiled-resources



https://docs.microsoft.com/en-us/windows/win32/direct3d11/why-are-tiled-resources-needed-



After some devs don't use it because it needs a call to CPU


Your explanation of SFS is completely wrong and completely irrelevant compared to what MS has shown and told us on multiple occasions.
 
quite interesting with dev comment about lightning, particles, resolution (they chose 1080 from artistic perspective o_O) etc
 
Last edited:
quite interesting with dev comment about lightning, particles, resolution (they chose 1080 from artistic perspective o_O) etc
1080p is the new 30fps and that's OK because framerate is key to better gameplay and those games will age much better than those 30fps cinematic experiences.
 
Why are you being disingenuous regarding XSX SSD speed? MS keeps claiming GUARANTEED/MINIMUM and you keep claiming it’s typical/peak... In the new.xbox.com they even tell you it has custom firmware to speed things up for console use scenario.
Your explanation of SFS is completely wrong and completely irrelevant compared to what MS has shown and told us on multiple occasions.

My explanation of SFS is not wrong. Sampler Feedback exist since 2012 on AMD side but Sampler Feedback Streaming is new.


Sampler Feedback is one part of SFS. To make it more useful for texture streaming, we added special texture filters that handle when a texture page is not in memory yet. That's custom for XSX.

This is exactly what I say the new functionnality of SFS is to handle when the streaming system try to handle a texture page not in memory yet. You seems to not understand.

All virtual texturing system do the same things and try to stream only visible part of a texture by tile. For example Unreal Engine 5 is full virtual texturing, virtual geometry and virtual shadow maps.

EDIT: And I never said it is a peak, this is an average.
 
Last edited:
Sampler Feedback exist since 2012 on AMD side
can you link this evidence?

Sampler feedback is new to DX12, but I don't see any evidence the data was visible on vulkan or any specific AMD related call as far back as before XBO generation.

I have a strong feeling this is getting intertwined with PRT of DX11.1+

There is a simpler method to check this however.
Not sure if @DmitryKo DX checker will check, but Sampler Feedback has a support flag. If his tool is updated to support Sampler Feedback flag, just run it against a 7970 and see if it comes up as true. Honestly any device prior to 6000+ series will suffice. It would be curious if it supported Tier 1_0. Though it wouldn't surprise me if the older models support 0_9 if what you say is true.


Code:
[SIZE=5][B]Feature Support[/B][/SIZE]
Sampler feedback support is not required as part of a Direct3D feature level.

Support for sampler feedback is queryable from a CheckFeatureSupport capability tier.

The tiers are organized as version-numbers-with-fractions as follows:

[LIST]
[*]TIER_NOT_SUPPORTED indicates sampler feedback is not supported. Attempts at calling sampler feedback APIs represent an error.
[*]TIER_0_9 (i.e., version 0.9) indicates the following.
[LIST]
[*]Sampler feedback is supported for samplers with these texture addressing modes:
[LIST]
[*]D3D12_TEXTURE_ADDRESS_MODE_WRAP
[*]D3D12_TEXTURE_ADDRESS_MODE_CLAMP
[/LIST]
[*]The Texture2D shader resource view passed in to feedback-writing HLSL methods has these restrictions:
[LIST]
[*]The MostDetailedMip field must be 0.
[*]The MipLevels count must span the full mip count of the resource.
[*]The PlaneSlice field must be 0.
[*]The ResourceMinLODClamp field must be 0.
[/LIST]
[*]The Texture2DArray shader resource view passed in to feedback-writing HLSL methods has these restrictions:
[LIST]
[*]All the limitations as in Texture2D above, and
[*]The FirstArraySlice field must be 0.
[*]The ArraySize field must span the full array element count of the resource.
[/LIST]
[/LIST]
[*]TIER_1_0 (i.e., version 1.0) indicates sampler feedback is supported for all texture addressing modes, and feedback-writing methods are supported irrespective of the passed-in shader resource view.
[/LIST]
 
Last edited:
quite interesting with dev comment about lightning, particles, resolution (they chose 1080 from artistic perspective o_O) etc

1080p for "artistic perspective" sounds like the olden 30 FPS for "cinematic flair"...yet we've been seeing those same games now running at 60 and looking (& feeling) eons better for it.

1080p is the new 30fps and that's OK because framerate is key to better gameplay and those games will age much better than those 30fps cinematic experiences.

I don't mind 1080p tbh and I think it works out better for performance, especially when paired with a quality DLSS/Super Resolution-style solution but...devs should chill on the too-many-Starbucks-lattes reasoning of "artistic perspective" xD
 
can you link this evidence?

Sampler feedback is new to DX12, but I don't see any evidence the data was visible on vulkan or any specific AMD related call as far back as before XBO generation.

I have a strong feeling this is getting intertwined with PRT of DX11.1+

Again GCN card out of GCN 1.0 supported tiled resource 2 and it means they are fully compliant with DirectX12 version 1.0.

https://gpuopen.com/wp-content/uplo...ogramming_Model_and_Hardware_Capabilities.pdf

Page 41 of the document tiled resource 2
Dk2gdMA.png


All GCN 1.1 or above GPU like PS4 and Xbox One support tiles resource 2 and are Direct X 12 compliant. This does not means they are Dirext X 12 Ultimate compliant and they support Sample feedback streaming.

On GCN 1.0 card, Tiled resource 2 was feasible using a shader if it was needed.

Using hardware tild resource or software indirection any console since PS4 is able to do some virtual texturing and loading tile of texture of 64KB size(not 100% sure of the size) and if only a part of a mipmap is visible they can only load this.

Sample feedback streaming means you have the feedback from the game engine coming from the GPU to the CPU and it have some hint about the texture into RAM and can take a lower detail of texture into the RAM if needed. This can't be done on PS5 and if there is a texture miss it means texture popin because the texture will appear only when it will be available in RAM later. This is not the case on XSX and better than this the custom filter will make the transition between the two level of texture details very smooth.

The advantage of Xbox Series console is when the demanded texture is not in RAM, the custom filter will help on the case of PS5 it will be a big texture popin, it will be much smoother on Xbox Series consoles.

After the PS5 streaming system is very fast and the case when a texture is not in RAM is probably a rare case.
 
Last edited:
Again GCN card out of GCN 1.0 before supported tiled resource 2 and it means they are fully compliant with DirectX12.

https://gpuopen.com/wp-content/uplo...ogramming_Model_and_Hardware_Capabilities.pdf

Page 41 of the document tiled resource 2
Dk2gdMA.png


All GCN 1.1 or above GPU like PS4 and Xbox One support tiles resource 2 and are Direct X 12 compliant. This does not means they are Dirext X 12 Ultimate compliant.
Yes, but that doesn't mean it's Tier 1 Sampler Feedback compliant. That's the part I want to know.
 
Yes, but that doesn't mean it's Tier 1 Sampler Feedback compliant. That's the part I want to know.
As you asked, it sounds like that the relevant data wasn't exposed on DX12 tiled resources.
I wasn't sure where it was stopped, hardware, driver or api level.
 
As you asked, it sounds like that the relevant data wasn't exposed on DX12 tiled resources.
I wasn't sure where it was stopped, hardware, driver or api level.
I went through the Khronos documentation for PRT, and I didn't really see anything as specific as Sampler Feedback. That's why I need to ask whether or not Sampler Feedback was actually a hardware feature that has existed in AMD hardware all this time, and was not exposed in Direct X, or someone is just mistaking what happens during PRT/Tiled Resources as being part of Sampler Feedback. I think it's clear there were some forms of partial sampler feedback back in the day, hence we see the Tier 0_9 support. But I have not been given a clear answer if AMD supported Sampler Feedback Tier 1_0 as far back as a 7970.

@chris1515 I am purposely separating Sampler Feedback from Sampler Feedback Streaming. I care only about the former and not the latter. Does a 7970 support Sampler feedback Tier 1_0 or even Tier 0_9. If not then the point claimed in twitter is false and there is misinterpretation in what Sampler Feedback does.

EG:
Independently of whether sampler feedback is available, Direct3D12-based applications have, through tiled resources, the ability to progressively load the mip chain. There's also the status bit available through any sample which can be plugged in to CheckAccessFullyMapped so that the app can detect tile residency, and opportunities for streaming in more texture data.

However, the strategy of tiled resources + CheckAccessFullyMapped or other residency determination mechanisms, to detect and load non-resident tiles on demand has room for improvement. That's where sampler feedback comes in. Sampler feedback streamlines the process of writing out "ideal mip levels", since the detection of the "ideal mip level" and writing-it-out can be done all in one step, allowing the driver to optimize this process.

We have been using Tiled Resources that does exactly what _most_ people say is what Sampler Feedback is responsible for. This is the distinction I am trying to make. Please note carefully on the 'streamlines the process of writing out ideal mip levels', since it can be done all in one step.

This is different from Tiled Resources in which you can functionally do the exact same thing; but that does not mean Tiled Resources is an ideal streamlined process which sampler feedback is being purposed to do.
 
Last edited:
I went through the Khronos documentation for PRT, and I didn't really see anything as specific as Sampler Feedback. That's why I need to ask whether or not Sampler Feedback was actually a hardware feature that has existed in AMD hardware all this time, and was not exposed in Direct X, or someone is just mistaking what happens during Tiled Resources as being part of Sampler Feedback. I think it's clear there were some forms of partial sampler feedback back in the day, hence we see the Tier 0_9 support. But I have not been given a clear answer if AMD supported Sampler Feedback Tier 1_0.

@chris1515 I am purposely separating Sampler Feedback from Sampler Feedback Streaming. I care only about the former and not the latter. Does a 7970 support Sampler feedback Tier 1_0 or even Tier 0_9. If not then the point claimed in twitter is false and there is misinterpretation in what Sampler Feedback does.

But people completly misunderstantd sampler feedback. Sampler feedback means the API can marked the tiled texture.

The Sampler Feedback extension means that every time the GPU loads a tile, it can mark in a buffer saying that the resource was needed, and at what level of detail. If the tile it needs is not loaded into memory, the GPU will fall back to a lower-resolution version of the texture, but it will still mark in the buffer that it wanted that mipmap.

This means that after rendering the CPU has a bunch of information on exactly what tiles are needed. It can quickly compare this data to the tiles it has loaded, and will end up with a list of tiles that the GPU wanted, but didn't have. The CPU can also keep track of which tiles have not been requested recently, since those can probably be discarded.


In the case of PS5, it will not fall back to a lower resolution of the texture but it will be displayed later when the resource needed will be available in RAM and later means texture popin and it does not mean the texture will not be loaded on XSX.

And it means an involvement of the CPU too, some people like sebbbi or @Lurkmass prefer use software indirection because it doesn't involve the CPU at all.
 
You should be careful about assuming stuff though. Are you even sure the texture is needed in RAM on PS5? Because I'm not so sure about that at all. The way I understood it, any needed object can be streamed from disc directly into the GPU's cache (which is also why the cache scrubbers exist, a customisation on the PS5 side as far as we know). We also know the seek time latency from disc to the GPU's cache is a fraction of a frame, less than 1ms. And at 9GB/s, 150MB of data can be loaded within a single 60fps frame.
 
But people completly misunderstantd sampler feedback. Sampler feedback means the API can marked the tiled texture.

In the case of PS5, it will not fall back to a lower resolution of the texture but it will be displayed later when the resource needed will be available in RAM and later means texture popin and it does not mean the texture will not be loaded on XSX.

And it means an involvement of the CPU too, some people like sebbbi or @Lurkmass prefer use software indirection because it doesn't involve the CPU at all.
no, I would disagree that is what sampler feedback does.
It's literally written here:
https://github.com/microsoft/DirectX-Specs/blob/master/d3d/SamplerFeedback.md

What it does and how it is used are 2 completely separate things.

What it does:
Sampler Feedback is a Direct3D feature for capturing and recording texture sampling information and locations. Without sampler feedback, these details would be opaque to the developer.

The motivation for why it exists:
Sampler feedback is one feature with two distinct usage scenarios: streaming and texture-space shading.

I'm asking if Sampler Feedback the function, not how it's used, I don't care about it's performance profile relative to PS5.
I want to know, if Sampler Feedback FUNCTION is in a 7970 as claimed by that tweet.

I don't frankly care about how both consoles will go about streaming their textures. It's not a relevant point to me because SVT systems come in a whole slew of different setups for a variety of reasons. TLDR; I don't care. SFS has nothing to do with loading times. The furthest thing there is to having any relevancy in SSD speed discussions.

But if you make a statement that Sampler Feedback hardware exists in a 7970 and was made in 2012, then I do care. Because I want to know if that was just hardware that was present but not yet exploited by direct X 10 years ago. And they decided to sit on that for nearly 10 years longer to finally integrate it into DX12.

The current distinct usages for sampler feedback is to capture and record texture sampling information and location which is highly desirable for texture Streaming and texture space shading. For all we know, it may have other uses in the future, because at the end of the day, its purpose is to let you know what your GPU sampled and where, even then there are high performance impacts for performing sampling feedback, such that it is recommended to perform this function only 1% of the time for your sampling. You do not call SF every single time.

One should not be linking it to streaming textures only. And this is where I have a problem with that reddit post.
 
Last edited:
You should be careful about assuming stuff though. Are you even sure the texture is needed in RAM on PS5? Because I'm not so sure about that at all. The way I understood it, any needed object can be streamed from disc directly into the GPU's cache (which is also why the cache scrubbers exist, a customisation on the PS5 side as far as we know). We also know the seek time latency from disc to the GPU's cache is a fraction of a frame, less than 1ms. And at 9GB/s, 150MB of data can be loaded within a single 60fps frame.
Yes with how fast and autonomous (from GPU / GPU) the I/O on PS5 is, they don't need cheap tricks to hide soon to be resolved textures. The system can load any assets (textures, polygons, sounds etc) on Video memory virtually instantaneously while completely bypassing both CPU and GPU, this can even be done during a frame is being rendered. It can be seen in Demon's souls with the highest quality of textures among all next-gen games yet. But I am expecting further improvement from Demon's souls tech.
 
Status
Not open for further replies.
Back
Top