My Authors
Read all threads
You're going to hear a lot about why SFS (Sampler Feedback Streaming) is such a big deal and why its so important in maximising the potential of the @xbox Series X hardware with regard to its Velocity Architecture. So lets take a very brief and fast look at things. 1/1
First, textures. Games are made up of textures, of which a single surface can contain several. What looks like one simple visual asset to you in the game world, can actually contain many. Commonly, surfaces are created with a bare minimum of: Diffuse, Specular and Normal. 2/2
However, they can also contain separate channels for masking, power and scale variables, height maps, parallax occlusion or displacement maps etc. These are usually best served in the same native resolution as the diffuse, but can be any size, larger or smaller. 3/3
So, a standard texture set contains several assets. Assets will vary in size depending on resolution, and compression method used. For reference, a standard 2048x2048 texture set will be D/N/S, of which each file is 12mb, so, 36mb in total. 4/4
Next gen, 4096x4096 and 8192x8192 will be more common. A standard 4096 set is 48mb each (144mb) and 8192 is a massive 192mb each (576mb). Adding in other surfaces you can see how these add up. 5/5
However, that's not a fair assumption, as usually, we compress these images to save file size on disk. But we also do other tricks, such as greyscale specular, or lower resolution spec maps. There are many ways to save size here. 6/6
But, lets go with a standard 4096 set, at 144mb, uncompressed.

Now, every texture asset is comprised of something called a "mip". Mip maps are, essentially, lower resolution versions of the same asset. The reason for this is that when an asset is used in the current... 7/7
...scene, if you use too low res an image it will look awful, but likewise too high res an image will look utterly terrible at distance and appear to what we call sparkle (almost like looking at a pixelated version of the image). So we blend between these textures as needed. 8/8
Modern game engines handle this process automatically. Throw in a 512x512 and the engine will load the correct mips as required. But what are the "correct mips"? A mip is created for a texture that is exactly half of the X and Y axis of the previous. In English, this... 9/9
...means 512x512 would be our source, and then 256x256, 128, 64, 32, 16 etc. So as you can see, the higher resolution your base asset is, the more mips are required. Again remember this is done for EVERY asset, texture wise. 10/10
Now... Lets get back to SFS. A normal method of handling this data is that we have to load the whole texture into memory. Yes, that means if you have, lets say a player model, and he uses a 8192 res texture, you have no way around this. You load that 8192 texture. 11/11
If the player is in your face, or if he's 1 mile away shooting somebody else, it doesn't matter... If the engine thinks that asset is needed, its in memory. Remember, I said its not just ONE asset either, but multiple. So, think of the sheer amount of data that could be... 12/12
...needed, for a single character that's a mile away, which takes up 1cm on your 65" OLED. Traditional systems, and yes the PS5, work this way.

But with SFS, you don't.

And this is the game changer. 13/13
SFS will essentially only load the required mips and totally ignore everything else that would usually need to be called into memory. Why is that important?

Simple.

Because now, that half a gigs worth of uncompressed data, is just 576......kb. 14/14
You now only need to load the texture from 128x128 (example), due to the sheer distance. Of course, this will change based on proximity, but works for any surface. Game world textures, characters etc. You will ALWAYS be close to something, but far away from others. 15/15
So now, you are loading in much, much, much less texture data.

Why is that such a big deal?

Because now, you need much LESS IO throughput to move assets in and out of memory. You can load things quicker, for less hit, but still at the quality desired. 16/16
In short this actually moves around the need for a higher bandwidth, and allows the same fidelity, at a lower cost. Which not only equals more memory to play with for assets), but also faster performance. 17/17
The PS5 SSD is faster than the series X. Of that, there is absolutely nobody with a brain who will tell you otherwise. However, there is more than one way to skin a cat, and SFS is an absolute game changer in keeping up with the (brilliant) PS5 drive. 18/18
Couple this with sustained speeds that are a few tf higher and other tricks for rendering higher quality assets in the near frustum (I'm looking forward to seeing how MS tackle a DLSS 2.0 alternative too!) and its clear to see why the Series X is such a damn fine machine. 19/19
Both machines are incredible. BOTH. But while Sony put all their eggs in an SSD basket, MS divided the talent up for everything. The XSX SSD is a damn fine piece of kit with some impressive IO optimisations of its own that gets ignored, but... 20/20
...now, coupled with SFS, it essentially levels the playing field somewhat.

As I said, there is no denying the PS5 has the faster IO and raw speeds... OF COURSE. But that's not the end of the magic trick for MS. 21/21
I cannot wait for the 23rd. Come on @xbox, bring the fire, bring the bombs. Lets put this "xbox has no games" meme to bed.

Regardless of if you're blue or green, we are in for a damn fine generation guys.

Lets do this. 22/22
I just noticed I named each tweet “1/1” or “7/7”. Rather than “1/22” etc.

This is because I’m a pillock.
Clarification: When a mesh uses a 8192 texture that texture is loaded into memory regardless of distance to the camera or mip level used. Meaning even if it’s using a low mip level it still needs that 8192 texture in memory. SFS would only use the lower mip & swap as needed. 23/?
Sorry something else I need to clarify (which I thought was obvious but I’ll say it now) I’m a developer and have nearly 20 years experience of both professional work and indie, however I am not currently working on Series X hardware (But that doesn’t change how things work 🤓)
Guys and gals I’ve had a few snide attempts (both here and in PMs) trying to turn this into a him versus her type console war argument. That really wasn’t my intention, believe it or not. Can we not just all try and celebrate awesome tech, regardless of who creates it? Thanks.
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with 𝙂𝘼𝙑𝙄𝙉 𝙎𝙏𝙀𝙑𝙀𝙉𝙎

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!