Current Generation Hardware Speculation with a Technical Spin [post GDC 2020] [XBSX, PS5]

Status
Not open for further replies.
I got Flight Sim 4 in 1991, there has never been a game more game than Flight Sim ffs

If by "graphics like this" you mean real time renderers that replicate the quality of offline renderers, who knows, I used to think the CGI intro to Geoff Crammonds F1 was an untouchable target for real time.

If you mean within the lifetime of these consoles the answer is hell no
 
The cooling patent and the stacked chip idea run into similar challenges, if we assume the PS5's SOC is drawing the kind of power we think a console of this class should draw. The diagram has a chip on top of another chip, and additionally appears to encase both in plastic, which isn't encouraging in terms of thermal transfer.
The 'plastic' may not actually be plastic, for about twenty years a lot of R&D has been sunk into materials that can be worked like plastic but transfer heat like metals; Cool Polymers have been working on this a while. There are also a few companies doing really cool stuff with glass.

But it would be very surprising if PS5 had something like this. And a bit worrying to rely on what I believe are relatively unproven techniques in the consumer space.
 
I don't believe SFS plays a factor in games not coded for it. The only way would be if the amazing BC Technology Developers at Microsoft found some magical means of injecting it into their VM/Driver layers for older games. Even with that, I don't think it would assist on loading of assets but perhaps the eviction of unused assets from memory?

Considering the games operate with the assumption that those textures are in memory for when they need them, I'd be very surprised if any amount of technical wizardry could make this happen transparently for older games without actually directly rewrite how textures are managed in those older games.

On PC, drivers do have some ability in determining whether to keep unused textures in memory or not (An 11 GB graphics card using 8 or 9 gigabytes of memory isn't an indication that the game actually needs those 8 or 9 gigabytes of data in memory, for example) so that if a request for that memory is seen by the GPU driver, it doesn't have to go and fetch it from PC storage.

The best I could see is somehow detecting exactly what part of a texture is needed (without the game letting the system know what part of the texture it's likely to use) and loading that part of the texture into memory first, but I'm not sure that's a win or worth the effort since you'll be loading the entire texture anyway because you don't know if or more importantly how the game plans on using that texture.

Regards,
SB
 
Considering the games operate with the assumption that those textures are in memory for when they need them, I'd be very surprised if any amount of technical wizardry could make this happen transparently for older games without actually directly rewrite how textures are managed in those older games.

On PC, drivers do have some ability in determining whether to keep unused textures in memory or not (An 11 GB graphics card using 8 or 9 gigabytes of memory isn't an indication that the game actually needs those 8 or 9 gigabytes of data in memory, for example) so that if a request for that memory is seen by the GPU driver, it doesn't have to go and fetch it from PC storage.

The best I could see is somehow detecting exactly what part of a texture is needed (without the game letting the system know what part of the texture it's likely to use) and loading that part of the texture into memory first, but I'm not sure that's a win or worth the effort since you'll be loading the entire texture anyway because you don't know if or more importantly how the game plans on using that texture.

Regards,
SB
I can't see any benefit here. They're already designed to run in the footprint that was given to it. The purpose of SFS is to create space in memory by shrinking the streaming pool because it can bring in only the parts of the texture you can see. This won't matter for older titles because the whole thing will fit in memory regardless. Without some sort of optimized and recompiled title (see the updates to FH4 and Gears 5, Destiny 2 etc) then they can leverage SFS shrink the texture pool and increase the framerates etc.

If the goal is to use SFS to free up space for X1X editions of the game, you still run into the same problem, recompile/changes to the game. I think very few are interested in that.
 
DX12 hardware would have support for sampler feedback, which Microsoft extended for the console with custom elements such as optimized filtering to keep sample transitions out of the more noticeable fine-detail regions. If it's DX12 hardware, the PS5 should share a base level of capability, although whether there are enhancements in the hardware or different levels of quality/overhead is a different question.
 
Is there a similarly efficient memory managment technique in PS5 as Sampler Feedback Streaming in Xbox Series's?
Well, as far as I understood, SFS is a patented solution like VRS. So it might be on board of the chip, but sony can't use ist (... I hate patents if you want to exclude someone of using it :( ).
From all I've read and seen so far, sony went the way of brute forcing through higher IO bandwidth. That's why they a 12 chip layout so they can reach higher bandwidth with relative "cheap" chips working in parallel. But well, 12 chips aren't that cheap overall.

The kraken compression is than there to more efficiently load the data into memory. But if they use something like tiled resources (more or less the base for SFS) compression efficiency will really suffer, because you chunk everything down into small parts and compress them individually. Same applies to the zlib compression of the xs s/x

Funny thing about that:
- MS brute forcing TF through a big chip and increases IO efficiency through techs like SFS
- Sony brute forcing IO bandwidth through many chips and increases "APU" efficiency through dynamic frequencies
 
SFS is not the only way to figure out which pieces of textures are needed. SFS has pretty big drawback on that it first has to miss before fetching the pages. And once the page is fetched it might not be needed anymore. Worst case of this could be a situation looking like a dog chasing its tail. What I try to write is sfs is great but it's not a magic bullet to solve all streaming efficiency issues.

It's probably best to have good implementation to predict what is needed, fetch&cache and then if there is something left use sfs to fix whatever is left to be fixed. We have had efficient mega/virtualtexture implementations in games for a long time. And then you have also other datatypes where sfs will not help at all, but it might not be that important as textures for sure are the biggest amount of data being read.
 
Technical Director at The Coalition Mike Rayner:

"As we look to the future, the Xbox Series X’s Sampler Feedback for Streaming (SFS) is a game-changer for how we think about world streaming and visual level of detail. We will be exploring how we can use it in future titles to both increase the texture detail in our game beyond what we can fit into memory, as well as reduce load times further by increasing on-demand loading to just before we need it, instead of pre-loading everything up-front as we would use a more traditional ‘level loading’ approach.”

Thanks for the explanation! So, this technique is exclusive to Xbox consoles. Very interesting!
 
Last edited:
Technical Director at The Coalition Mike Rayner:

"As we look to the future, the Xbox Series X’s Sampler Feedback for Streaming (SFS) is a game-changer for how we think about world streaming and visual level of detail. We will be exploring how we can use it in future titles to both increase the texture detail in our game beyond what we can fit into memory, as well as reduce load times further by increasing on-demand loading to just before we need it, instead of pre-loading everything up-front as we would use a more traditional ‘level loading’ approach.”

Thanks for the explanation! So, this technique is exclusive to Xbox consoles. Very interesting!

Where does it say exclusive to Xbox?
 
Sampler Feedback Streaming is an elaboration on Sampler Feedback, an existing offering of DX12. Some fraction of the benefit of the former's capability should come with the latter, but how much and at what cost/quality?
Can we assume that the cost/quality is the visible transitioning of texture mips that Microsoft's hardware texture filters seek to fix? Maybe the performance cost of doing the filtering through shaders was too high so Microsoft chose to engineer a hardware solution?
 
Where does it say exclusive to Xbox?
Maybe AMD rdna2 GPUs will use SFS as well. Maybe not.

MS says SFS can reduce memory usage by more than 60%. If I interpret it correctly, this method can thus be used effectively as a memory multiplier for textures and/or to save a lot of bandwidth.
If this is true the SFS will be great for the relatively low bandwidth of the Series S.
 
Last edited:
Can we assume that the cost/quality is the visible transitioning of texture mips that Microsoft's hardware texture filters seek to fix? Maybe the performance cost of doing the filtering through shaders was too high so Microsoft chose to engineer a hardware solution?
The custom hardware filtering would go to quality.
Cost could be any number of things:
Can the filtering transitions be mirrored by shader code if the hardware is not customized, and how much development complexity and performance overhead can be incurred?
Would a practical approximation be x% as effective in saving memory usage, and are there points of failure or quality differences?
Since this is a platform feature, there could be other quality of life tweaks or integration points that could streamline implementations or automate more of the process, versus needing explicit management by a developer.

One thing about pushing transitions into the coarser areas is whether that means that SFS is incrementally more conservative in the data it loads versus a scheme with more visual artifacting, which may mean that a rougher implementation could achieve better memory savings at the cost of visible artifacts.
 
Status
Not open for further replies.
Back
Top