• 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.

(*)SSD and loading times demystified

psorcerer

Banned
There's a lot of confusion on why SSD is so important for next-gen and how it will change things.
Here I will try to explain the main concepts.
TL;DR fast SSD is a game changing feature, this generation will be fun to watch!

It was working fine before, why do we even need that?
No, it wasn't fine, it was a giant PITA for anything other than small multiplayer maps or fighting games.
Let's talk some numbers. Unfortunately not many games have ever published their RAM pools and asset pools to the public, but some did.
Enter Killzone: Shadowfall Demo presentation.
We have roughly the following:

TypeApprox. Size, %Approx. Size, MB
Textures30%1400
CPU working set15%700
GPU working set25%1200
Streaming pool10%500
Sounds10%450
Meshes10%450
Animations/Particles1%45

*These numbers are rounded sums of various much more detailed numbers presented in the article above.

We are interested in the "streaming pool" number here (but we will talk about others too)
We have ~500MB of data that is loaded as the demo progresses, on the fly.
The whole chunk of data that the game samples from (for that streaming process) is 1600MB.
The load speed of PS4 drive is (compressed data) <50MB/sec (uncompressed is <20MB/sec), i.e. it will take >30sec to load that at least.

It seems like it's not that big of a problem, and indeed for demo it is. But what about the game?
The game size is ~40GB, you have 6.5GB of usable RAM, you cannot load the whole game, even if you tried.
So what's left? We can either stream things in, or do a loading screen between each new section.
Let's try the easier approach: do a loading screen
We have 6.5GB of RAM, and the resident set is ~2GB from the table above (GPU + CPU working set). We need to load 4.5GB each time. It's 90 seconds, pretty annoying, but it's the best case. Any time you need to load things not sequentially, you will need to seek the drive and the time will increase.
You can't go back, as it will re-load things and - another loading screen.
You can't use more than 4.5GB assets in your whole gaming section, or you will need another loading screen.
It gets even more ridiculous if your levels are dynamic: left an item in previous zone? Load time will increase (item is not built into the gaming world, we load the world, then we seek for each item/item group on disk).
Remember Skyrim? Loading into each house? That's what will happen.
So, loading screens are easy, but if your game is not a linear, static, theme-park style attraction it gets ridiculous pretty fast.

How to we stream then?
We have a chunk of memory (remember 500Mb) that's reserved for streaming things from disk.
With our 50MB/sec speed we fill it up each 10 sec.
So, each 10 sec we can have a totally new data in RAM.
Let's do some metrics, for example: how much new shit we can show to the player in 1 min? Easy: 6*500 = 3GB
How much old shit player sees each minute? Easy again: 1400+450+450+45=~ 2.5GB
So we have a roughly 50/50 old to new shit on screen.
Reused monsters? assets? textures? NPCs? you name it. You have the 50/50 going on.

But PS4 has 6.5GB of RAM, we used only 4.5GB till now, what about other 2GB?
Excellent question!
The answer is: it goes to the old shit. Because if we increase the streaming buffer to 1.5GB it still does nothing to the 50MB/sec speed.
With the full 6.5GB we get to 6GB old vs 3GB new in 1 minute. Which is 2:1 old shit wins.

But what about 10 minutes?
Good, good. Here we go!
In 10 min we can get to 30GB new shit vs 6GB old.
And that's, my friends, how the games worked last gen.
You're as a player were introduced to the new gaming moments very gradually.
Or, there were some tricks they used: open doors animation.
Remember Uncharted with all the "let's open that heavy door for 15sec?" that's because new shit needs to load, players need to get to a new location, but we cannot load it fast.

So, what about SSDs then?
We will answer that later.
Let's ask something else.

What about 4K?
With 4K "GPU working set" will grow 4x, at least.
We are looking at 1200*4 = 4.8GB of GPU data.
CPU working set will also grow (everybody wants these better scripts and physics I presume?) but probably 2x only, to 700*2 = ~1.5GB
So overall the persistent memory will be well over 6GB, let's say 6.5GB.
That leaves us with ~5GB of free RAM in XSeX and ~8GB for PS5.

Stop, stop! Why PS5 has more RAM suddenly?
That's simple.
XSeX RAM is divided into two pools (logically, physically it's the same RAM): 10GB and 3.5GB.
GPU working set must use the 10GB pool (it's the memory set that absolutely needs the fast bandwidth).
So 10 - 4.8 = 5.2 which is ~5GB
CPU working set will use 3.5GB pool and we will have a spare 2GB there for other things.
We may load some low freq data there, like streaming meshes and stuff, but it will hard to use in each frame: accessing that data too frequently will lower the whole system bandwidth to 336Mb/sec.
That's why MSFT calls the 10GB pool "GPU optimal".

But what about PS5? It also has some RAM reserved for the system? It should be ~14GB usable!
Nope, sorry.
PS5 has a 5.5GB/sec flash drive. That typically loads 2GB in 0.27 sec. It's write speed is lower, but not less than 5.5GB/sec raw.
What PS5 can do, and I would be pretty surprised if Sony won't do it. Is to save the system image to the disk while the game is playing.
And thus give almost full 16GB of RAM to the game.
2GB system image will load into RAM in <1 sec (save 2GB game data to disk in 0.6 sec + load system from disk 0.3 sec). Why keep it resident?
But I'm on the safe side here. So it's ~14.5GB usable for PS5.

Hmm, essentially MSFT can do that too?
Yep, they can. The speeds will be less sexy but not more than ~3sec, I think.
Why don't they do it? Probably they rely on OS constantly running on the background for all the services it provides.
That's why I gave Sony 14.5GB.
But I have hard time understanding why 2.5GB is needed, all the background services can run on a much smaller RAM footprint just fine, and UI stuff can load on-demand.

Can we talk about SSD for games now?
Yup.
So, let's get to the numbers again.
For XSeX ~5GB of "free" RAM we can divide it into 2 parts: resident and streaming.
Why two? Because typically you cannot load shit into frame while frame is rendering.
GPU is so fast, that each time you ask GPU "what exact memory location are you reading now?" will slow it down to give you an answer.

But can you load things into other part while the first one is rendering?
Absolutely. You can switch "resident" and "streaming" part as much as you like, if it's fast enough.
Anyway, we got to 50/50 of "new shit" to "old shit" inside 1 second now!
2.5GB of resident + 2.5GB of streaming pool and it takes XSeX just 1 sec to completely reload the streaming part!
In 1 min we have 60:1 of new/old ratio!
Nice!

What about PS5 then? Is it just 2x faster and that's it?
Not really.
The whole 8GB of the RAM we have "free" can be a "streaming pool" on PS5.

But you said "we cannot load while frame is rendering"?
In XSeX, yes.
But in PS5 we have GPU cache scrubbers.
This is a piece of silicon inside the GPU that will reload our assets on the fly while GPU is rendering the frame.
It has full access to where and what GPU is reading right now (it's all in the GPU cache, hence "cache scrubber")
It will also never invalidate the whole cache (which can still lead to GPU "stall") but reload exactly the data that changed (I hope you've listened to that part of Cerny's talk very closely).

But it's free RAM size doesn't really matter, we still have 2:1 of old/new in one frame, because SSD is only 2x faster?
Yes, and no.
We do have only 2x faster rates (although the max rates are much higher for PS5: 22GB/sec vs 6GB/sec)
But the thing is, GPU can render from 8GB of game data. And XSeX - only from 2.5GB, do you remember that we cannot render from the "streaming" part while it loads?
So in any given scene, potentially, PS5 can have 2x to 3x more details/textures/assets than XSeX.
Yes, XSeX will render it faster, higher FPS or higher frame-buffer resolution (not both, perf difference is too low).
But the scene itself will be less detailed, have less artwork.

OMG, can MSFT do something about it?
Of course they will, and they do!
What are the XSeX advantages? More ALU power (FLOPS) more RT power, more CPU power.
What MSFT will do: rely heavily on this power advantage instead of the artwork: more procedural stuff, more ALU used for physics simulation (remember, RT and lighting is a physics simulation too, after all).
More compute and more complex shaders.

So what will be the end result?
It's pretty simple.
PS5: relies on more artwork and pushing more data through the system. Potentially 2x performance in that.
XSeX: relies more on in-frame calculations, procedural. Potentially 30% performance in that.
Who will win: dunno. There are pros and cons for each.
It will be a fun generation indeed. Much more fun than the previous one, for sure.

P.S.
adding the bonus rounds here:

But what the 60:1 new/old ratio will give us, gamers?
Did you ever wonder why none of the open world game ever featured a city?
Like real city, with blocks, apartments, etc.?
Because it would be boring as fuck.
You will enter each and every room to see almost exactly the same props and furniture.
Exactly the same NPCs. Doing same things.
With next get flash drive an apartment in the city can use the whole non-resident RAM space to render that.
And load a new one when you go from one door to another.
Think about it. 1sec 5.5Gb. Behind each door you can have a full new world. Completely different from the other.

But, but I swapped HDD to SSD in my PS4 and nothing changed! What's going on?
You see. Let's return to that Killzone example.
We have that 500MB streaming buffer and we load it with the new data in 10 sec, on HDD.
Now we swapped in SSD with 500MB/sec and we load that buffer in 1 sec!
But, guess what, game was not designed around that.
Game was designed to demand and use that data in next 10 sec, not right now.
So, no matter how fast your SSD is, it will not change anything.
I would say in a properly designed game it will even make things worse.
Why? Because you used 500MB/sec of memory bandwidth right now, for the data that won't be needed at all until game will require it 10 sec later, wasted 500Mb/sec for nothing instead of giving it to the GPU!

But how do I know if game was designed around SSD?
Simple. It will not work on HDD, like at all.
Like giving you 1fps, 0.2fps, complete slideshow.
Unless it behaves like that. It's not a game for SSD.
 
Last edited:

psorcerer

Banned
Bonus round.

But what the 60:1 new/old ratio will give us, gamers?
Did you ever wonder why none of the open world game ever featured a city?
Like real city, with blocks, apartments, etc.?
Because it would be boring as fuck.
You will enter each and every room to see almost exactly the same props and furniture.
Exactly the same NPCs. Doing same things.
With next get flash drive an apartment in the city can use the whole non-resident RAM space to render that.
And load a new one when you go from one door to another.
Think about it. 1sec 5.5Gb. Behind each door you can have a full new world. Completely different from the other.
 
Last edited:

cormack12

Gold Member
You're killing it with these threads man, very informative. For me then, it depends on whether studios like respawn still develop for HDD on PC. Because if they do, they will still need all those animations of Cal squeezing through tight spaces and they will need them to last about 15-20 secs right? They won't chop them from the game so even if the XsX and PS5 are doing nothing we'll still need to sit there and watch them?
 
Last edited:

psorcerer

Banned
You're killing it with these threads man, very informative. For me then, it depends on whether studios like respawn still develop for HDD on PC. Because if they do, they will still need all those animations of Cal squeezing through tight spaces and they will need them to last about 15-20 secs right? They won't chop them from the game so even if the XsX and PS5 are doign nothing we'll still need to sit there and watch them?

Yes
 

Goliathy

Banned
P5wxJ8c.gif
 

shoegaze

Member
There's a lot of confusion on why SSD is so important for next-gen and how it will change things.
Here I will try to explain the main concepts.
TL;DR fast SSD is a game changing feature, this generation will be fun to watch!

It was working fine before, why do even need that?
No, it wasn't fine, it was a giant PITA for anything other than small multiplayer maps or fighting games.
Let's talk some numbers. Unfortunately not many games have ever published their RAM pools and asset pools to the public, but some did.
Enter Killzone: Shadowfall Demo presentation.
We have roughly the following:

TypeApprox. Size, %Approx. Size, MB
Textures30%1400
CPU working set15%700
GPU working set25%1200
Streaming pool10%500
Sounds10%450
Meshes10%450
Animations/Particles1%45

*These numbers are rounded sums of various much more detailed numbers presented in the article above.

We are interested in the "streaming pool" number here (but we will talk about others too)
We have ~500Mb of data that is loaded as the demo progresses, on the fly.
The whole chunk of data that the game samples from (for that streaming process) is 1600Mb.
The load speed of PS4 drive is (compressed data) <50Mb/sec (uncompressed is <20Mb/sec), i.e. it will take >30sec to load that at least.

It seems like it's not that big of a problem, and indeed for demo it is. But what about the game?
The game size is ~40Gb, you have 6.5Gb of usable RAM, you cannot load the whole game, even if you tried.
So what's left? We can either stream things in, or do a loading screen between each new section.
Let's try the easier approach: do a loading screen
We have 6.5GB of RAM, and the resident set is ~2Gb from the table above (GPU + CPU working set). We need to load 4.5Gb each time. It's 90 seconds, pretty annoying, but it's the best case. Any time you need to load things not sequentially, you will need to seek the drive and the time will increase.
You can't go back, as it will re-load things and - another loading screen.
You can't use more than 4.5Gb assets in your whole gaming section, or you will need another loading screen.
It gets even more ridiculous if your levels are dynamic: left an item in previous zone? Load time will increase (item is not built into the gaming world, we load the world, then we seek for each item/item group on disk).
Remember Skyrim? Loading into each house? That's what will happen.
So, loading screens are easy, but if your game is not a linear, static, theme-park style attraction it gets ridiculous pretty fast.

How to we stream then?
We have a chunk of memory (remember 500Mb) that's reserved for streaming things from disk.
With our 50MB/sec speed we fill it up each 10 sec.
So, each 10 sec we can have a totally new data in RAM.
Let's do some metrics, for example: how much new shit we can show to the player in 1 min? Easy: 6*500 = 3Gb
How much old shit player sees each minute? Easy again: 1400+450+450+45=~ 2.5Gb
So we have a roughly 50/50 old to new shit on screen.
Reused monsters? assets? textures? NPCs? you name it. You have the 50/50 going on.

But PS4 has 6.5Gb of RAM, we used only 4.5Gb till now, what about other 2Gb?
Excellent question!
The answer is: it goes to the old shit. Because if we increase the streaming buffer to 1.5Gb it still does nothing to the 50Mb/sec speed.
With the full 6.5Gb we get to 6Gb old vs 3Gb new in 1 minute. Which is 2:1 old shit wins.

But what about 10 minutes?
Good, good. Here we go!
In 10 min we can get to 30Gb new shit vs 6Gb old.
And that's, my friends, how the games worked last gen.
You're as a player were introduced to the new gaming moments very gradually.
Or, there were some tricks they used: open doors animation.
Remember Uncharted with all the "let's open that heavy door for 15sec?" that's because new shit needs to load, players need to get to a new location, but we cannot load it fast.

So, what about SSDs then?
We will answer that later.
Let's ask something else.

What about 4K?
With 4K "GPU working set" will grow 4x, at least.
We are looking at 1200*4 = 4.8Gb of GPU data.
CPU working set will also grow (everybody wants these better scripts and physics I presume?) but probably 2x only, to 700*2 = ~1.5Gb
So overall the persistent memory will be well over 6Gb, let's say 6.5Gb.
That leaves us with ~5Gb of free RAM in XSeX and ~8Gb for PS5.

Stop, stop! Why PS5 has more RAM suddenly?
That's simple.
XSeX RAM is divided into two pools (logically, physically it's the same RAM): 10Gb and 3.5Gb.
GPU working set must use the 10Gb pool (it's the memory set that absolutely needs the fast bandwidth).
So 10 - 4.8 = 5.2 which is ~5Gb
CPU working set will use 3.5Gb pool and we will have a spare 2Gb there for other things.
We may load some low freq data there, like streaming meshes and stuff, but it will hard to use in each frame: accessing that data too frequently will lower the whole system bandwidth to 336Mb/sec.
That's why MSFT calls the 10Gb pool "GPU optimal".

But what about PS5? It also has some RAM reserved for the system? It should be ~14Gb usable!
Nope, sorry.
PS5 has a 5.5Gb/sec flash drive. That typically loads 2Gb in 0.27 sec. It's write speed is lower, but not less than 5.5Gb/sec raw.
What PS5 can do, and I would be pretty surprised if Sony won't do it. Is to save the system image to the disk while the game is playing.
And thus give almost full 16Gb of RAM to the game.
2Gb system image will load into RAM in <1 sec (save 2Gb game data to disk in 0.6 sec + load system from disk 0.3 sec). Why keep it resident?
But I'm on the safe side here. So it's ~14.5Gb usable for PS5.

Hmm, essentially MSFT can do that too?
Yep, they can. The speeds will be less sexy but not more than ~3sec, I think.
Why don't they do it? Probably they rely on OS constantly running on the background for all the services it provides.
That's why I gave Sony 14.5Gb.
But I have hard time understanding why 2.5Gb is needed, all the background services can run on a much smaller RAM footprint just fine, and UI stuff can load on-demand.

Can we talk about SSD for games now?
Yup.
So, let's get to the numbers again.
For XSeX ~5Gb of "free" RAM we can divide it into 2 parts: resident and streaming.
Why two? Because typically you cannot load shit into frame while frame is rendering.
GPU is so fast, that each time you ask GPU "what exact memory location are you reading now?" will slow it down to give you an answer.

But can you load things into other part while the first one is rendering?
Absolutely. You can switch "resident" and "streaming" part as much as you like, if it's fast enough.
Anyway, we got to 50/50 of "new shit" to "old shit" inside 1 second now!
2.5Gb of resident + 2.5Gb of streaming pool and it takes XSeX just 1 sec to completely reload the streaming part!
In 1 min we have 60:1 of new/old ratio!
Nice!

What about PS5 then? Is it just 2x faster and that's it?
Not really.
The whole 8Gb of the RAM we have "free" can be a "streaming pool" on PS5.

But you said "we cannot load while frame is rendering"?
In XSeX, yes.
But in PS5 we have GPU cache scrubbers.
This is a piece of silicon inside the GPU that will reload our assets on the fly while GPU is rendering the frame.
It has full access to where and what GPU is reading right now (it's all in the GPU cache, hence "cache scrubber")
It will also never invalidate the whole cache (which can still lead to GPU "stall") but reload exactly the data that changed (I hope you've listened to that part of Cerny's talk very closely).

But it's free RAM size doesn't really matter, we still have 2:1 of old/new in one frame, because SSD is only 2x faster?
Yes, and no.
We do have only 2x faster rates (although the max rates are much higher for PS5: 22Gb/sec vs 6Gb/sec)
But the thing is, GPU can render from 8Gb of game data. And XSeX - only from 2.5Gb, do you remember that we cannot render from the "streaming" part while it loads?
So in any given scene, potentially, PS5 can have 2x to 3x more details/textures/assets than XSeX.
Yes, XSeX will render it faster, higher FPS or higher frame-buffer resolution (not both, perf difference is too low).
But the scene itself will be less detailed, have less artwork.

OMG, can MSFT do something about it?
Of course they will, and they do!
What are the XSeX advantages? More ALU power (FLOPS) more RT power, more CPU power.
What MSFT will do: rely heavily on this power advantage instead of the artwork: more procedural stuff, more ALU used for physics simulation (remember, RT and lighting is a physics simulation too, after all).
More compute and more complex shaders.

So what will be the end result?
It's pretty simple.
PS5: relies on more artwork and pushing more data through the system. Potentially 2x performance in that.
XSeX: relies more on in-frame calculations, procedural. Potentially 30% performance in that.
Who will win: dunno. There are pros and cons for each.
It will be a fun generation indeed. Much more fun than the previous one, for sure.

Does that mean that From Software games will play better on xsx? Or DMC5? Games that prioritize precision and latency and need smoother gameplay. Also, all of the multiplayer games like fast twitch shooters?
 
Last edited:

GymWolf

Member
Bonus round.

But what the 60:1 new/old ratio will give us, gamers?
Did you ever wonder why none of the open world game ever featured a city?
Like real city, with blocks, apartments, etc.?
Because it would be boring as fuck.
You will enter each and every room to see almost exactly the same props and furniture.
Exactly the same NPCs. Doing same things.
With next get flash drive an apartment in the city can use the whole non-resident RAM space to render that.
And load a new one when you go from one door to another.
Think about it. 1sec 5.5Gb. Behind each door you can have a full new world. Completely different from the other.
isn't your example stil related to more heavy work for devs and actual raw power to even visualize this stuff on screen?
i mean, assets doesn't create themselfs, you need artist to make a shitton of different assets for every room, isn't this more work for devs and not everybody have that time\money\manpower?

gta6 developed as an exclusive for ps5 will be the best example by far of what an ssd can really do i think, i don't know if team like bends or sucker punch or other small\medium size developers can really pull that off with relatively small amount of money and manpower (even if they have the technology available for them)
 
Last edited:

hunthunt

Banned
So, my question is... what could make devs decide to go for the Xbox method of brute force instead of the sophisticated chips in the Ps5? It wouldn't be easier just throw everything as it to reduce the cost of the project? what method could be the faster to develop for?


is a valid question even lol?
 

shoegaze

Member
The speeds we're talking about are too fast for human to see.
Only the if the resulting framerates will differ you will see something different.
So, something like destructible environments with lots of flying debri would be more pronounced on xsx?
 

psorcerer

Banned
isn't your example stil related to more heavy work for devs and actual raw power to even visualize this stuff on screen?
i mean, assets doesn't create themselfs, you need artist to make a shitton of different assets for every room, isn't this more work for devs and not everybody have that time\money\manpower?

gta6 developed as an exclusive for ps5 will be the best example by far of what an ssd can really do i think, i don't know if team like bends or sucker punch or other small\medium size developers can really pull that off with relatively small amount of money and manpower.

More art - yes.
More power - no.
You still render the same assets, just more varied.
And you can have a better LoD switch, actually.

Sony will build heavily visual single player games next-gen, for that it's the best solution.
On the small developer side, I think Sony will use it's in-house engines to help small teams.
I even suspect that Decima engine will be given away as a part of Sony SDK for multiplatform: i.e. XSeX, PC, PS5 compatible.


So, something like destructible environments with lots of flying debri would be more pronounced on xsx?

Yes.
 
Last edited:

psorcerer

Banned
So, my question is... what could make devs decide to go for the Xbox method of brute force instead of the sophisticated chips in the Ps5? It wouldn't be easier just throw everything as it to reduce the cost of the project? what method could be the faster to develop for?

Dunno. Will need to see.
I have no idea how to answer that. Too little data on the actual games.
 
Last edited:

GymWolf

Member
More art - yes.
More power - no.
You still render the same assets, just more varied.
And you can have a better LoD switch, actually.

Sony will build heavily visual single player games next-gen, for that it's the best solution.
On the small developer side, I think Sony will use it's in-house engines to help small teams.
I even suspect that Decima engine will be given away as a part of Sony SDK for multiplatform: i.e. XSeX, PC, PS5 compatible.




Yes.
i kinda want different engines for different games, i like to see diversity.
 

shoegaze

Member
More art - yes.
More power - no.
You still render the same assets, just more varied.
And you can have a better LoD switch, actually.

Sony will build heavily visual single player games next-gen, for that it's the best solution.
On the small developer side, I think Sony will use it's in-house engines to help small teams.
I even suspect that Decima engine will be given away as a part of Sony SDK for multiplatform: i.e. XSeX, PC, PS5 compatible.




Yes.
Right. Sorry I'm asking such daft questions but i think some of us need specific examples to get our heads around it as we're not technically litterate. So if dynamic, changing scenes are xsx forte, what does ps5 have? I understand you keep mentioning "more artwork", but having too much artwork to me can make a scene daft. I mean, look at any place around you. There is a limited amount of things to see because of space between objects and overall aesthetics. We don't need a psychedelic trip, we need material objects that look natural in a set environment. I can't see the benefit.
 

GymWolf

Member
Nobody restricts any developer.
Getting to a good AAA-level image quality in-game won't be cheap.
You can check out this MSFT presentation on DXR 1.1 to see how awful artwork makes the tech look unimpressive.
oh i know that without good art design power means almost nothing.
like for example, a lot of post apocalyptic games with realistic graphics have boring rooms inside buildings, but for example tlou and days gone have always interesting rooms in their buildings, even with a realistic (in theory boring) art style.

lol i don't know if you were talking about this tbh 😆
 

Tripolygon

Banned
You're killing it with these threads man, very informative. For me then, it depends on whether studios like respawn still develop for HDD on PC. Because if they do, they will still need all those animations of Cal squeezing through tight spaces and they will need them to last about 15-20 secs right? They won't chop them from the game so even if the XsX and PS5 are doing nothing we'll still need to sit there and watch them?
That's why i think this is a shift in game design just like we did from 16bit to 32 to polygon. We are at a moment when SSD will be required as minimum now for everyone.
 

GymWolf

Member
slightly unrelated question, does the faster ssd helps in anyway with improving framerate in games?
or that is just gpu\cpu power related?
 

psorcerer

Banned
Right. Sorry I'm asking such daft questions but i think some of us need specific examples to get our heads around it as we're not technically litterate. So if dynamic, changing scenes are xsx forte, what does ps5 have? I understand you keep mentioning "more artwork", but having too much artwork to me can make a scene daft. I mean, look at any place around you. There is a limited amount of things to see because of space between objects and overall aesthetics. We don't need a psychedelic trip, we need material objects that look natural in a set environment. I can't see the benefit.

That's simple.
Two examples:
1. Open world game. Right now the game will load a square (or circle) around the player in full details, let's say 100ft across. And all other world details will be heavily reduced.
You have a FOV of 90 deg in the game. And your turning speed is 1.5 sec for 360 deg. And the size of the assets you see in these 100ft is 5Gb.
Now enter next-gen. We load 120 degrees of assets before you, which gives us time to reload assets when camera goes out of their 90 deg.
100ft circle is 7854 sqft you have 667KB/sqft of details.
Now we have only 1/3 of circle (120 deg) but the details are the same 5Gb , you have 3x (2Mb/sqft) of details.
For the same memory requirements and the same FOV.
2. Detail maps. You close onto object. Within each 0.5 sec progressively better mesh and texture is loaded into the object.
Because you close in, object takes more space on screen, thus the GPU works approximately the same, but gives you close to infinite details.
 

GymWolf

Member
Yes. When I switched to SSD this gen with my Pro and X, the significant upgrade was unreal. Can’t imagine with faster speeds how it’ll be
when i play on console i always have my tablet connected on gaf or yt near to me during loading times, this is probably the reason why i don't care about loading times, i just keep myself occupied :lollipop_grinning_sweat:
 

Mista

Banned
when i play on console i always have my tablet connected on gaf or yt near to me during loading times, this is probably the reason why i don't care about loading times, i just keep myself occupied :lollipop_grinning_sweat:
Thats another way to ease the waiting😂
 

Without name

Neo Member
Quastion time

First of all I must say Thanks OP for all of the useful information.

Do you familiar with dreams on ps4?

I think this SSD ‌will super useful for that game? Am I right?
 

psorcerer

Banned
2nd Bouns round:

But, but I swapped HDD to SSD in my PS4 and nothing changed! What's going on?
You see. Let's return to that Killzone example.
We have that 500MB streaming buffer and we load it with the new data in 10 sec, on HDD.
Now we swapped in SSD with 500MB/sec and we load that buffer in 1 sec!
But, guess what, game was not designed around that.
Game was designed to demand and use that data in next 10 sec, not right now.
So, no matter how fast your SSD is, it will not change anything.
I would say in a properly designed game it will even make things worse.
Why? Because you used 500MB/sec of memory bandwidth right now, for the data that won't be needed at all until game will require it 10 sec later, wasted 500Mb/sec for nothing instead of giving it to the GPU!

But how do I know if game was designed around SSD?
Simple. It will not work on HDD, like at all.
Like giving you 1fps, 0.2fps, complete slideshow.
Unless it behaves like that. It's not a game for SSD.
 
Last edited:

hyperbertha

Member
Bonus round.

But what the 60:1 new/old ratio will give us, gamers?
Did you ever wonder why none of the open world game ever featured a city?
Like real city, with blocks, apartments, etc.?
Because it would be boring as fuck.
You will enter each and every room to see almost exactly the same props and furniture.
Exactly the same NPCs. Doing same things.
With next get flash drive an apartment in the city can use the whole non-resident RAM space to render that.
And load a new one when you go from one door to another.
Think about it. 1sec 5.5Gb. Behind each door you can have a full new world. Completely different from the other.
[/QUO
Dunno. Will need to see.
I have no idea how to answer that. Too little data on the actual games.
So in the older consoles, streaming data could only be loaded every 10 secs (according to your example) and that was limited to 500MB. In the new consoles, the xbox can have 2.5 GB of new data every 1 sec, and ps5 can have 8GB of new data every 1 sec. Am I correct so far?
If so my question is, how does this relate to a frame by frame basis? If the game is 60 fps, each frame takes approx 0.02 secs. So even if the console can load 8 GB of new data every sec, it still can't load new data into the immediate next frame since that happens every 0.02 secs. Which means to see new data you need to wait 1 sec? Is that how it is? Or does the ps5 have a way to ensure you can get new data every frame thanks to its fancy GPU scrubber thingy?

Also even though the ps5 can load much higher quality assets in 1 sec due to having 8 GB of streaming to work with every second, doesn't all that higher quality still put a load on the GPU since the frame will have more quality, hence more difficult to render, hence affecting frame rates? This kinda relates to my previous question as the answer depends on how it juggles between frames and streamed data that it gets every 1 sec.
 
Last edited:

psorcerer

Banned
If so my question is, how does this relate to a frame by frame basis?

It will not be exactly in frame. Because synchronization gets very tricky.
Theoretically you can pull that off though.

Which means to see new data you need to wait 1 sec?

You (as a developer) decide how long the game will wait.
Theoretically it's possible to use the data in the same frame.
Practically CPU and GPU and SSD all work asynchronously and do not ask each other about their state too often.
Each such request stalls something.

Or does the ps5 have a way to ensure you can get new data every frame thanks to its fancy GPU scrubber thingy?

Yes, you can use new data every frame. Probably even midframe, but it's tricky.
If you want a "brainless" solution, just do it next frame.

hence more difficult to render, hence affecting frame rates?

It actually depends on how you will design your LoDs.
Usually the closer you're to something the more details you need on that something, but less details can be used on other things, because your something is bigger on screen.
Theoretically it will even out.
 

hyperbertha

Member
It will not be exactly in frame. Because synchronization gets very tricky.
Theoretically you can pull that off though.



You (as a developer) decide how long the game will wait.
Theoretically it's possible to use the data in the same frame.
Practically CPU and GPU and SSD all work asynchronously and do not ask each other about their state too often.
Each such request stalls something.



Yes, you can use new data every frame. Probably even midframe, but it's tricky.
If you want a "brainless" solution, just do it next frame.



It actually depends on how you will design your LoDs.
Usually the closer you're to something the more details you need on that something, but less details can be used on other things, because your something is bigger on screen.
Theoretically it will even out.
In the earlier example you gave about the circle , what happens when the player turns too fast? If 120 degrees of FOV are rendered and the player turns too fast (maybe he set high sensitivity on the analog stick) to reach the next 120 degrees before the ssd has the time needed to write the next instance of streaming data, would it manifest as a stutter? Only solution around this I can find is a frame by frame solution for streaming data.
 

psorcerer

Banned
In the earlier example you gave about the circle , what happens when the player turns too fast? If 120 degrees of FOV are rendered and the player turns too fast (maybe he set high sensitivity on the analog stick) to reach the next 120 degrees before the ssd has the time needed to write the next instance of streaming data, would it manifest as a stutter? Only solution around this I can find is a frame by frame solution for streaming data.

You will need to control it as a developer.
Set stick sensitivity limits, for example.
Or get creative: more occluders, instead of a flat grass with trees. Do a city with skyscrapers.
All these problems exist with HDDs too. Much more painful at that.
But, streaming while camera is turning, was implemented in 2016 in HZD, for HDD.
 

hyperbertha

Member
It depends how much of your frame uses "old" vs "new" data.
If you load 25Mb in 0.5 sec it still can be useful. If it's terrain patches, where all the detail is procedural anyway. For example.
You said earlier that how long the game waits to read new data depends on the dev. So if Someone wanted new data in the next immediate Frame rather than the next second, how would they go about doing it with ps5 hardware? I ask because being limited to things like restricting stick sensitivity and turn speeds seem like a half solution to me.
 

ZywyPL

Banned
Not quite accurate.
The "boost clock" was in all PC GPUs all the time.
Nobody ever complained.
It's nothing. Like really nothing.

I thought PC aren't consoles, and we can't compare how SSD work on PC with how they will work on the consoles, but somehow we can compare boost clocks on PC with consoles? Strange...

The image is 100% accurate, that's EXACTLY what Cerny himself said, and he himself designed the damn console, and no mental gymnastics and shady/biased calculations will change that, sorry.

Unless you can convince Cerny and entire Sony to change PS5 design ~half a year before it needs to enter mass production.
 

martino

Member
Not quite accurate.
The "boost clock" was in all PC GPUs all the time.
Nobody ever complained.
It's nothing. Like really nothing.
but on pc you advertise your product with the normal frequency, one you can always hit and you have no clear idea how high boost can go because of silicon lottery
it's not a frequency you hit in certain conditions and use because you need this number for your comm / concurrence
 
Last edited:

psorcerer

Banned
So if Someone wanted new data in the next immediate Frame rather than the next second, how would they go about doing it with ps5 hardware?

Getting data exactly at the next frame seems pretty tricky.
It means you will either need to sync SSD to GPU every frame: bad performance.
Or live with a possibility of dropped LoD (you know, when next LoD switches too late and you have a visual pop-in).
How often that pop-in would occur depends solely on other things your game does.
Probably you can minimize that, but in a generic case: it's hard.
 
Last edited:

psorcerer

Banned
but on pc you advertise your product with the normal frequency, one you can always hit and you have no clear idea how high boost can go because of silicon lottery

It's not a lottery here as well.
I think Cerny was pretty clear: developer can fix the power profile in advance. Can it be re-profiled in runtime (while game runs) we don't know.
But when game is starting it can set the exact power ratio it will give to CPU and GPU. That's a given.
 
Top Bottom