• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Sampler Feedback benchmark now available in 3DMark

Bluntman

Member
3DMark Advanced and Professional users can now benchmark the effect of Sampler Feedback on rendering speed. This is a DirectX 12 Ultimate feature, so you need a supported GPU.

Remember, Sampler Feedback is a simpler version of the Sampler Feedback Streaming available on Xbox Series X that requires dedicated hardware inside the GPU.

Unfortunately I don't have the necessary PC right now to try it, but I'm looking forward to your benchmark results! You should get a boost between 4-10% on average.

3dmsf.jpg
 

Panajev2001a

GAF's Pleasant Genius
3DMark Advanced and Professional users can now benchmark the effect of Sampler Feedback on rendering speed. This is a DirectX 12 Ultimate feature, so you need a supported GPU.

Remember, Sampler Feedback is a simpler version of the Sampler Feedback Streaming available on Xbox Series X that requires dedicated hardware inside the GPU.

Unfortunately I don't have the necessary PC right now to try it, but I'm looking forward to your benchmark results! You should get a boost between 4-10% on average.

3dmsf.jpg
SF is what powers SFS, it is not a simpler version of it. SFS or PRT+ is the application of feedback from the samplers (SF) to texture streaming (the most HW Xbox added was a texture blend mode) and I think all DX12 HW that supports SF should support SFS.
 

Allandor

Member
Fps goes from 550 to 600. Ok
SF does not really increase FPS. It reduces loaded resources and therefore saves memory and bandwidth. A speed increase is just an indirect advantage.

... I think all DX12 HW that supports SF should support SFS.
Well, no. Currently only the xbox Series hardware supports SFS. SFS also saves some things that have to be done in other ways that are done with SFS directly in hardware and therefore saves cycles, bandwidth, ....
 
Last edited:

Lucky8BB

Banned
We need to see what this does to memory usage as that's the key. If the 2.5x average multiplier is true then it's a game changer.
SFS tech demo on XSX indeed suggest 2.5x gains, but I'm not so sure if 3dmark has equally impressive implementation, because apparantly MS has customised their GPU with this technology in mind.
 
Last edited:

oldergamer

Member
SF is what powers SFS, it is not a simpler version of it. SFS or PRT+ is the application of feedback from the samplers (SF) to texture streaming (the most HW Xbox added was a texture blend mode) and I think all DX12 HW that supports SF should support SFS.
I think you are simplifying it. The patent was posted if you want to dig it up, but yeah its an extension of prt,

More then the texture swizzles, it also works at the mipmap level to reject loading mipmaps you dont need. That is where the additional memory savings come into effect.
 

Panajev2001a

GAF's Pleasant Genius
I think you are simplifying it. The patent was posted if you want to dig it up, but yeah its an extension of prt,
I was going by the the description in the MSDN docs, they describe it as PRT+ (SF applied to texture streaming).

More then the texture swizzles, it also works at the mipmap level to reject loading mipmaps you dont need. That is where the additional memory savings come into effect.
It is pretty cool yes. It should be doable with PRT within shaders (not at a dramatic cost), but useful (the more HW help the better). You are attributing a predictive attribute that samplers feedback cannot give you there though (they tell you what you tried to load, not what you are surely not going to need to show). Even on PS2 you could only load parts of a mip map chain too btw.
 
Last edited:

Panajev2001a

GAF's Pleasant Genius
This is primarily a memory gain, rather than a processing speed gain.
It can be both, you can simulate the same memory savings gains with “basic” PRT and this makes it easier and a bit faster to do efficiently. SF does help improve performance when you are doing texture space shading as per the GDC talk Intel gave a short while ago.
 

Bluntman

Member
Welp, you guys haven't done a lot of benchmarks yet :p

I don't really know why did we need a benchmark at all tho. I mean... wouldn't it be enough to just do one single benchmark with the supported GPUs and that's it? It's not like the CPU or RAM matters a lot here.
 
We need to see what this does to memory usage as that's the key. If the 2.5x average multiplier is true then it's a game changer.

Oh, it'll carry for sure. It's pretty much what Microsoft pointed out from the very beginning was the heart & soul of Series X. It's a key component of Xbox Velocity Architecture and the GPU is custom designed to operate with it.

Microsoft has gone out of their way to state that even in full fledged AAA games the 2.5x average multiplier rings true. Sampler Feedback Streaming will indeed be a game changer for games made on Series X. It will have a larger direct impact on games performance on Series X primarily because it will lead to far more efficient GPU RAM usage, it will, at minimum, make the 10GB portion of GPU optimal memory inside Series X feel like an effective 16GB worth of RAM.

Where do I get that number from? Let's assume that a game only needs 4GB of GPU RAM for textures in any given gameplay moment (it's likely to be even more but using this baseline as an example) 4GB * 2.5x efficiency with SFS = 10GB effective. That still leaves 6GB of GPU optimal memory and 3.5GB of standard memory that is left for other things.

Giving Series X at worst with SFS being used with an effective 19.5GB of GPU memory. Series X GPU operates fastest when it's working within that 10GB of GPU optimal memory because that's the side that gives you 560GB/s of memory bandwidth. That's more RAM available for ray tracing, more RAM for other things, which will also immediately unburden the Series S from it's biggest technical drawback, total RAM.

It's always been my belief that the 10GB of 560GB/s & 3.5GB of 336GB/s are the biggest reasons for any out of the ordinary or strange performance issues on Series X. Devs that do the best to keep everything in the 10GB of faster memory get the best results out of Series X. And then of course there'll be all kinds of ongoing code related performance optimizations as they gain more experience with the system.
 
Last edited:
This is primarily a memory gain, rather than a processing speed gain.

It will be a more important factor in performance for Xbox Series X than anything else because Series X has that unique 10GB = 560GB/s 3.5GB = 336GB/s memory setup.

SFS can help guarantee the Series X GPU in performance critical situations is using the faster 10GB way more often. That's huge for Series X.
 

Three

Member
SF does not really increase FPS. It reduces loaded resources and therefore saves memory and bandwidth. A speed increase is just an indirect advantage.


Well, no. Currently only the xbox Series hardware supports SFS. SFS also saves some things that have to be done in other ways that are done with SFS directly in hardware and therefore saves cycles, bandwidth, ....
This is not true.

 

Allandor

Member
This is not true.

It is true. SFS != SF. Or let me write this: So far only the xbox series consoles support SFS in hardware, while a software-solution (well, yes it is still running on the hardware but with multiple round-trips) is usable in combination with SF (in hardware) on DX12U capable hardware ;)
 
Last edited:

Three

Member
It is true. SFS != SF. Or let me write this: So far only the xbox series consoles support SFS in hardware, while a software-solution is usable in combination with SF (in hardware) on DX12U capable hardware ;)
Read the document. As Panajev said SF is what is used for SFS. It is simply using that sampler feedback data to make decisions on what to stream. In the document I linked you will see examples of it being used and referred to as SFS. Do a word search for SFS. There is no hardware requirement when you have hardware support for Sampler Feedback (any turing card) to be able to use that data to stream (SFS).
 

Allandor

Member
Read the document. As Panajev said SF is what is used for SFS. It is simply using that sampler feedback data to make decisions on what to stream. In the document I linked you will see examples of it being used and referred to as SFS. Do a word search for SFS. There is no hardware requirement when you have hardware support for Sampler Feedback (any turing card) to be able to use that data to stream (SFS).
I never wrote hardware requirement. I only wrote the consoles are currently the only consoles that have full hardware support for it (SFS). With SFS (yes which build upon SF) there is some extra work to do. You can do this in software (e.g. DX or the drivers manages this) or you do this in hardware and save some extra cycles. That is what called a feature in hardware.
Actually you don't need any of those things as any GPU features can be done is software. Should we than say every GPU is DX12U compliant because everything is done in software?
 
Last edited:

Kenpachii

Member
Got no clue about how 3d mark works but is there any options about setting the resolution?

nope

c15a598f7bbce9856b56d23834b32b4d.png


Can only select display and gpu u got, nothing else. Maybe the interactive demo can no clue but benchmark with the big run button just runs through the scenario
 

reksveks

Member
nope

c15a598f7bbce9856b56d23834b32b4d.png


Can only select display and gpu u got, nothing else. Maybe the interactive demo can no clue but benchmark with the big run button just runs through the scenario
Didn't think so, it would be interesting to see if it scales differently at different resolutions but don't think it works for a 3dmark benchmark tool
 

Three

Member
I never wrote hardware requirement. I only wrote the consoles are currently the only consoles that have full hardware support for it (SFS). With SFS (yes which build upon SF) there is some extra work to do. You can do this in software (e.g. DX or the drivers manages this) or you do this in hardware and save some extra cycles. That is what called a feature in hardware.
Actually you don't need any of those things as any GPU features can be done is software. Should we than say every GPU is DX12U compliant because everything is done in software?
"Currently only the xbox Series hardware supports SFS."

This is what you wrote. It simply isn't true. SFS is possible on any gpu that has SF. Unless you are trying to change the definition of SFS mentioned in the official docs.

The only thing XSX has is the addition of the blend mode which is not what SFS is which again was mentioned by Panajev.

What he said was 100% correct:
SF is what powers SFS, it is not a simpler version of it. SFS or PRT+ is the application of feedback from the samplers (SF) to texture streaming (the most HW Xbox added was a texture blend mode) and I think all DX12 HW that supports SF should support SFS.
The bolded is what you refuted but it is 100% correct.
 

Tripolygon

Banned
I remember those thread where people refused to see reason when talking about this. That 2x multiplier people keep talking about applies to all GPUs that support SF when applied to PRT or TSS.

What is Sampler Feedback?

Sampler feedback is a new feature in DirectX 12 Ultimate. Sampler feedback enables more efficient ways of handling textures and shading by recording data on texture sampling and locations.

In 3D graphics, texture space shading is a technique that allows for shading to be applied in texture space, producing a shading map similar to material textures, rather than in screen space on the visible pixels. This allows for performance optimizations such as reusing shading from the previous frames or performing some of the shading at a lower detail level. Texture space shading can also reduce the impact of artifacts such as flickering specular highlights through improved texture filtering.

Sampler feedback can be used to optimize texture space shading. Regions and details in the texture space that won’t be visible on-screen can be skipped when shading through the use of sampler feedback, resulting in an increase in shading performance.

Using sampler feedback in this process is faster than generating the same information through custom shaders.

Test sampler feedback performance with 3DMark


The 3DMark Sampler Feedback feature test shows how game engines can improve performance by using sampler feedback to optimize texture space shading.

The test scene is a robot repair shop. Texture space shading is used to shade the scene as the camera moves around the environment.

The test runs in two passes. In the first pass, the scene uses texture space shading and a custom software solution that generates information about which texels require shading. In the second pass, sampler feedback is used to optimize the texture space shading operations by more efficiently identifying the texels that are being accessed.

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

Sampler Feedback feature test design​


The 3DMark Sampler Feedback feature test uses sampler feedback to generate information about which texels require shading.

The test shows how game engines can improve performance by using sampler feedback as part of texture space shading to more efficiently shade texture regions based on whether they’re sampled in the final output or not.

The test scene is a broken robot in a repair shop and runs in two passes. As the camera moves around the scene, texture space shading is used to optimize the shading of the scene.

The test uses a pre-generated set of maps that defines the required information for shading each texel of the shading map in texture space.

In the first pass, we shade using texture space shading without sampler feedback, using a software solution developed in-house to determine the sampled texels along with a matching software sampler in the screen space sampling pass.

The second passes uses the sampler feedback feature to determine the MIP levels and MIP regions that will be sampled for each frame, shading only them in texture space and sampling the shading map in screen space to produce the final image.


The frame rates of running the test in each mode are recorded, and the result is the relative difference between performing texture space shading with and without the sampler feedback feature.
 
Last edited:

Kenpachii

Member
Made a video of a run in the benchmark, saw about 300 mb reduction at times on v-ram whatever that means and a bit performance increase.



Must say extremely good coil whine benchmark for your GPU rofl.
 
Last edited:
This is not true.


Sampler Feedback Streaming is technically not the same as basic Sampler Feedback, though the terms are interchangeable in discussion. A Microsoft engineer confirmed this a while ago. There are custom things on the Series X side of things


What's interesting about this test also is it appears to be using just one of the Sampler Feedback feature's major benefits, texture space shading. That's one way to use Sampler Feedback. Another way is to use to significantly improve your texture streaming for your game. This benchmark seems to only focus on the Texture Space Shading side of things.

In other words, even with the 6.3% benchmark performance difference, isn't actually using Sampler Feedback Streaming as shown in the Xbox Series X real-time demo. I'm not implying that if it were using Sampler Feedback Streaming the performance would be even higher, but only that it isn't showing us the memory savings side of the benchmark, because that appears to be not how it's being used in this benchmark.

One feature with two quite different, but both important scenarios. Taken from this blog post. This benchmark is only showcasing the texture space shading benefit of sampler feedback. Series X GPU is further optimized for the streaming side with the custom texture filters.


wCmKCdS.jpg



 

Tripolygon

Banned
Sampler Feedback Streaming is technically not the same as basic Sampler Feedback, though the terms are interchangeable in discussion. A Microsoft engineer confirmed this a while ago. There are custom things on the Series X side of things


What's interesting about this test also is it appears to be using just one of the Sampler Feedback feature's major benefits, texture space shading. That's one way to use Sampler Feedback. Another way is to use to significantly improve your texture streaming for your game. This benchmark seems to only focus on the Texture Space Shading side of things.
You make a habit of over complicating things that are easy to explain. Sampler Feedback is a hardware that records data on which texels require shading, what mip, tile level was sampled etc. It requires you knowing the hits and misses to sample. Same information can be gotten using software at a cost but is "free" using the Sampler feedback hardware.

What you do with that information is what Microsoft Calls Sampler Feedback Streaming SFS. You no longer speculatively loading texture based on other heuristics but the information provided by the sampler feedback hardware on what is visible in a given frame and needs shading. You can call it Partial Resident Texture PRT+, Texture Space Shading TSS, Sampler Feedback Streaming SFS or whatever you want to call it. It is not exactly new per say but lets just say it is more efficient now.

Again Sampler Feedback with Streaming SFS is not different from Texture Space Shading, Partial Resident Textures. They are the same thing when used in connection with the information provided by Sampler Feedback hardware. Just different APIs and ways of doing the same thing using the same information.

The customization to Xbox Series X James Starnard is talking about is a "Texture Filter", think like Anisotropic Filtering, Bilinear Filtering. When a page is not loaded in time, it smoothly blends from what is resident in memory to the new one to avoid a jarring pop in texture.

It doesn't get any more clearer than this.

James Stanard:
"PRT is using virtual memory to keep only part of a texture loaded in physical memory. You can’t sample missing texture regions. SF is getting feedback from the GPU that you *tried* to sample those missing regions. They work together in sampler feedback streaming. PRT+SF=SFS."

"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."
 
Last edited:
You make a habit of over complicating things that are easy to explain. Sampler Feedback is a hardware that records data on which texels require shading, what mip, tile level was sampled etc. It requires you knowing the hits and misses to sample. Same information can be gotten using software at a cost but is "free" using the Sampler feedback hardware.

What you do with that information is what Microsoft Calls Sampler Feedback Streaming SFS. You no longer speculatively loading texture based on other heuristics but the information provided by the sampler feedback hardware on what is visible in a given frame and needs shading. You can call it Partial Resident Texture PRT+, Texture Space Shading TSS, Sampler Feedback Streaming SFS or whatever you want to call it. It is not exactly new per say but lets just say it is more efficient now.

Again Sampler Feedback with Streaming SFS is not different from Texture Space Shading, Partial Resident Textures. They are the same thing when used in connection with the information provided by Sampler Feedback hardware. Just different APIs and ways of doing the same thing using the same information.

The customization to Xbox Series X James Starnard is talking about is a "Texture Filter", think like Anisotropic Filtering, Bilinear Filtering. When a page is not loaded in time, it smoothly blends from what is resident in memory to the new one to avoid a jarring pop in texture.

It doesn't get any more clearer than this.

James Stanard:
"PRT is using virtual memory to keep only part of a texture loaded in physical memory. You can’t sample missing texture regions. SF is getting feedback from the GPU that you *tried* to sample those missing regions. They work together in sampler feedback streaming. PRT+SF=SFS."

"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 sounds like SFS mainly exists to make it easier to use PRT in the first place. Because there are basically no games that use PRT so far. I know Rage used it, but that's kinda it?
 

Riky

$MSFT
Oh, it'll carry for sure. It's pretty much what Microsoft pointed out from the very beginning was the heart & soul of Series X. It's a key component of Xbox Velocity Architecture and the GPU is custom designed to operate with it.

Microsoft has gone out of their way to state that even in full fledged AAA games the 2.5x average multiplier rings true. Sampler Feedback Streaming will indeed be a game changer for games made on Series X. It will have a larger direct impact on games performance on Series X primarily because it will lead to far more efficient GPU RAM usage, it will, at minimum, make the 10GB portion of GPU optimal memory inside Series X feel like an effective 16GB worth of RAM.

Where do I get that number from? Let's assume that a game only needs 4GB of GPU RAM for textures in any given gameplay moment (it's likely to be even more but using this baseline as an example) 4GB * 2.5x efficiency with SFS = 10GB effective. That still leaves 6GB of GPU optimal memory and 3.5GB of standard memory that is left for other things.

Giving Series X at worst with SFS being used with an effective 19.5GB of GPU memory. Series X GPU operates fastest when it's working within that 10GB of GPU optimal memory because that's the side that gives you 560GB/s of memory bandwidth. That's more RAM available for ray tracing, more RAM for other things, which will also immediately unburden the Series S from it's biggest technical drawback, total RAM.

It's always been my belief that the 10GB of 560GB/s & 3.5GB of 336GB/s are the biggest reasons for any out of the ordinary or strange performance issues on Series X. Devs that do the best to keep everything in the 10GB of faster memory get the best results out of Series X. And then of course there'll be all kinds of ongoing code related performance optimizations as they gain more experience with the system.

What sort of impact is this going to have on Series S do you think? I'm presuming MS is relying on this feature along with VRS to help the system keep up in the long run so it becomes absolutely crucial to that system.
Also when we are talking about the hardware component do we have a specific hardware that MS waited for that is standard in RDNA2 and then Series consoles were customised with the filters on top of that?
 

Dampf

Member
It is true. SFS != SF. Or let me write this: So far only the xbox series consoles support SFS in hardware, while a software-solution (well, yes it is still running on the hardware but with multiple round-trips) is usable in combination with SF (in hardware) on DX12U capable hardware ;)
Sampler Feedback Streaming is a part of Sampler Feedback that runs on all DX12U GPUs and needs DirectStorage to work at its best. The custom filter Xbox has is not required for it to work properly.

Here's what Jesse Natalie from Microsoft has to say about this matter:
am7Rhvf.png


By the way, this 3DMark test is only demonstrating the more uninteresting part of it, Texture Space Shading.
 
Last edited:

Tripolygon

Banned
This sounds like SFS mainly exists to make it easier to use PRT in the first place. Because there are basically no games that use PRT so far. I know Rage used it, but that's kinda it?
You are partly right but a lot of games do use virtual texturing, heck the whole of Unreal Engine 5 tech stack relies heavily on virtual texturing. Its just gotten so much better since RAGE and mega textures.
 
Last edited:
What sort of impact is this going to have on Series S do you think? I'm presuming MS is relying on this feature along with VRS to help the system keep up in the long run so it becomes absolutely crucial to that system.
Also when we are talking about the hardware component do we have a specific hardware that MS waited for that is standard in RDNA2 and then Series consoles were customised with the filters on top of that?

It'll negate situations in games that target the feature where Series S doesn't have the available RAM for ray tracing. But it won't just be about ray tracing, it'll be about giving Series S a better chance to meet its maximum performance potential as there will be less cases where RAM capacity gets in the way of the GPU maintaining maximum performance potential. With potential better performance it can be slightly better graphics quality (still nowhere near Series X level but better)

As for RDNA 2 for me I think Microsoft waited for Mesh Shaders, Sampler Feedback, hardware accelerated Machine Learning and VRS. As we can see, Sampler Feedback Streaming is a significant part of Xbox Velocity Architecture. According to a Microsoft Graphics R&D engineer, the custom texture filters are what was added on on top of Sampler Feedback to make it better for texture streaming for when the needed texture wasn't already in memory to help hide transitions. The texture filters according to that same Graphics R&D engineer at Microsoft are a much bigger deal on the Series GPUs than people think. There are many things to be excited about, but from the jump the thing that most excited me about what Microsoft have been saying about Series X is Sampler Feedback Streaming because, as anybody knows, developers ALWAYS want more RAM, and if there are no gotchas to sampler feedback streaming, and it can work across a wide variety of games, or any kind of game, without any major issues to the developer, then that will be very exciting.

I forgot another important benefit to sampler feedback streaming, memory bandwidth. If there's less going into main memory, that can be helpful as well. I just can't wait to see games that are using it. I pray something like Starfield will be utilizing it. It's my hope that Halo Infinite uses it also.
 
Sampler Feedback Streaming is a part of Sampler Feedback that runs on all DX12U GPUs and needs DirectStorage to work at its best. The custom filter Xbox has is not required for it to work properly.

Here's what Jesse Natalie from Microsoft has to say about this matter:
am7Rhvf.png


By the way, this 3DMark test is only demonstrating the more uninteresting part of it, Texture Space Shading.

Happy more people are catching this. :)

Still useful, but using it in texture streaming is the truly exciting part.
 
Again Sampler Feedback with Streaming SFS is not different from Texture Space Shading,


I cut out everything because I wanted to focus on just this statement. This is categorically not true. Yes, for texture space shading sampler feedback is recording what texels are being requested and then you can choose to only perform the game's expensive lighting computations on just those textures, but in this scenario you DO NOT need to be using Sampler Feedback Streaming as your texture streaming solution. You can still utilize existing texture streaming solutions without SFS and STILL benefit from using texture space shading.

It's less of a big change than using Sampler Feedback Streaming for your entire texture streaming solution.

To repeat


Sampler feedback is one feature with two quite different, but both important scenarios. Texture-spacing shading is a rendering technique which de-couples the shading of an object in world space with the rasterization of the shape of that object to the final target.

They aren't the same. You can make a game that uses one or the other. You aren't automatically using both texture space shading and sampler feedback streaming if you're using one simply because both techniques share a core hardware functionality, sampler feedback.
 

Tripolygon

Banned
I cut out everything because I wanted to focus on just this statement.

They aren't the same. You can make a game that uses one or the other. You aren't automatically using both texture space shading and sampler feedback streaming if you're using one simply because both techniques share a core hardware functionality, sampler feedback.
Your whole misunderstanding hinges on this sentence.

Sampler feedback is one feature with two quite different, but both important scenarios.

The two scenarios are, when doing virtual texturing, you decouple the shading of objects in world space with the rasterization of the shape of those objects in the final render output.

1. you do the lighting computations in object space

2. you texture and rasterize to screen space

Which is where sampler feedback comes in. Sampler feedback creates a feedback map. In the first scenario, since you already have a record of what texels are being requested based on the feedback map, you perform the lighting computation on those objects. In the second scenario when you are texturing and rasterizing, you only have to load/stream, texture and rasterize the visible objects that the feedback map says was being requested. It is a feedback loop where one informs the other. That is everything that falls under virtual texturing.

Sampler Feedback helps make virtual texturing much more efficient. This is what help reduce computational load and also acts as bandwidth multiplier. They are not two different things, they are two difference scenarios or steps that are essential part of the virtual texturing process.

James Stanard simply puts it as: PRT+SF=SFS.
 
Last edited:
Top Bottom