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

Status
Not open for further replies.
It's funny how similar issues between hdd/ssd streaming are. From the GDC spiderman presentation there was constant struggle to optimize format being streamed and avoid seeks. i.e. some asset would be copied to many streamable blocks to avoid seeks. Duplication causes install size to grow. Once asset was copied "too many times" those assets were promoted to something that is just always cached in ram to save disk space.

We likely will have similar things implemented in ssd streaming. Lump things together to read more optimally. Always cache often used/small items in ram cache to make streaming solution more optimal. It's not like fast ssd removes the need for smart datastructures and packaging.
 
Last edited:
It's not like fast ssd removes the need for smart datastructures and packaging.

Correct. Though it is substantially more forgiving, so there may be less focus of indies and smaller devs to spend time and effort on it that once it's "good enough" to load in under 15 seconds (or some arbitrary quick enough time period). Sure they could be smart about it and get it down to under a second or two, but will they?

It could come down more to the popular engines making optimized packing and loading toolsets for them to use.

Just like how Applications gave up smart algorithms once memory and CPU shot up by 10x .
 
Any game developer would be giant idiot if best they can do is random reads.

Anything that isn't sequential is random. One of the motivators for moving to SSD is less reliance on sequential packaging of files in order to boost read speed as they currently have to do on HDDs. In other words, there's going to be more random reads because there's going to be less duplication of files across the game installation.

You either take advantage of sequential read speeds by having file duplication or you increase random reads by not massively duplicating files everywhere in order to take advantage of sequential read speeds.

Regards,
SB
 
Anything that isn't sequential is random. One of the motivators for moving to SSD is less reliance on sequential packaging of files in order to boost read speed as they currently have to do on HDDs. In other words, there's going to be more random reads because there's going to be less duplication of files across the game installation.

You either take advantage of sequential read speeds by having file duplication or you increase random reads by not massively duplicating files everywhere in order to take advantage of sequential read speeds.

Regards,
SB

I meant random in the context of that it is possible to predict pretty well what is needed in this frame, next frame and possibly even few seconds ahead. Some games are very predictable(physics based car game, can go only 2 directions in a track) and some games could be a lot less predictable. Even things that look random to player can be predictable from engine POV. Engine could way ahead of time decide next enemy set spawned is foo, bar and zzvz and barba, forba and plapla are not to be spawned. Engine could behind the scenes load the new assets and then from player POV the monsters are randomly spawned without any kind of perceived delay. Engine can go even further in it's knowledge that said monsters were spawned that far from player and they are running towards player and continue streaming higher level lods/textures as needed when monsters get closer to their goal(reach player)

Being completely random would mean engine has no idea what is going to happen in next frame. That could be frustrating game to play as that would imply player also cannot recognize any patterns and each frame is random and output of actions/chain of events also is random.

Something like gran turismo/forza really doesn't need to keep whole track and all cars in ram all the time. It's completely feasible to use streaming for track, lods of other cars,...
 
Last edited:
Something like gran turismo/forza really doesn't need to keep whole track and all cars in ram all the time. It's completely feasible to use streaming for track, lods of other cars,...
hm... to an extent they'll need to keep all the track cars in memory I think? Start of the race will need everything. After that, they can reduce the memory impact as needed, but I'm not sure how predictable it can be over the course of the race (aside from playing on easier difficulties and zooming ahead :p). In some races, I've certainly been stuck in the glut of 23 other cars for quite some time (trying to play perfectly), so there is that.

But anyways, my impression was that they're very hard hit on streaming as there's only so much detail they can put into the scene while zooming by fairly quickly (worst-case scenarios), so there's probably a good reason why the initial load can take a while as they populate the memory as much as they can.
 
hm... to an extent they'll need to keep all the track cars in memory I think? Start of the race will need everything. After that, they can reduce the memory impact as needed, but I'm not sure how predictable it can be over the course of the race (aside from playing on easier difficulties and zooming ahead :p). In some races, I've certainly been stuck in the glut of 23 other cars for quite some time (trying to play perfectly), so there is that.

But anyways, my impression was that they're very hard hit on streaming as there's only so much detail they can put into the scene while zooming by fairly quickly (worst-case scenarios), so there's probably a good reason why the initial load can take a while as they populate the memory as much as they can.

When you have 23 cars it's pretty unlikely that given any one frame all those cars are fullscreen and highest lod. If you can run physics ahead and predict the issue becomes a matter of streaming right things in at right priority. Depending how big the assets are some lods might always be in ram so not everything is streamed.

Similarly when you load a track you will use different asset on helicopter fly around the track versus racing from cockpit. And if you know ahead of time route helicopter will fly you can stream things in nicely. Once you are racing no point to have whole Nürburgring in ram or have all cars in their highest lod in ram if you instead can stream things as needed.
 
When you have 23 cars it's pretty unlikely that given any one frame all those cars are fullscreen and highest lod. If you can run physics ahead and predict the issue becomes a matter of streaming right things in at right priority. Depending how big the assets are some lods might always be in ram so not everything is streamed.

Right, though you'll be getting close to the cars at some point early on? I'm not sure how many LODs they use in Forza - I've only really noticed when they're really far away (other side of the track). I guess it feeds back into how complex they can make the track (usually fairly simple this past gen anyway).
 
Right, though you'll be getting close to the cars at some point early on? I'm not sure how many LODs they use in Forza - I've only really noticed when they're really far away (other side of the track). I guess it feeds back into how complex they can make the track (usually fairly simple this past gen anyway).

I hope forza&co would take ssd into good use. I think it's one of those easier genre's to make streaming.

Let's use some random numbers. Let's say highest level car model would be 1GB compressed, 1.5GB uncompressed. If we have 12GB of ram for game to use that severly limits how many cars we can have on track or we will have to use smaller assets and lesser visual quality.

On the other hand if we have ps5 level ssd then loading that highest level asset for car takes about 0.2s. Let's say we have race grid, 3 cars side by side and n rows. If only the closest row to camera is highest lod it would take 0.6s to fill in the ram with highest lod for one row of cars. It sounds pretty feasible to me to have that level of asset without compromise while streaming. Something that would really not be possible otherwise without having more ram and load time. Similarly the trees on the side of track could typically be lower lod. If for some reason the player spins out/... the high level lods for trees could be pulled in on demand. We can probably do better than above as we can take the orientation and movement of objects into account. We can see only about half the car from one direction. Maybe load the visible part first and go deeper from there.
 
I hope forza&co would take ssd into good use. I think it's one of those easier genre's to make streaming.

Let's use some random numbers. Let's say highest level car model would be 1GB compressed, 1.5GB uncompressed. If we have 12GB of ram for game to use that severly limits how many cars we can have on track or we will have to use smaller assets and lesser visual quality.

On the other hand if we have ps5 level ssd then loading that highest level asset for car takes about 0.2s. Let's say we have race grid, 3 cars side by side and n rows. If only the closest row to camera is highest lod it would take 0.6s to fill in the ram with highest lod for one row of cars. It sounds pretty feasible to me to have that level of asset without compromise while streaming. Something that would really not be possible otherwise without having more ram and load time. Similarly the trees on the side of track could typically be lower lod. If for some reason the player spins out/... the high level lods for trees could be pulled in on demand. We can probably do better than above as we can take the orientation and movement of objects into account. We can see only about half the car from one direction. Maybe load the visible part first and go deeper from there.
With a grid start in GTSport, and you qualified far back (my specialty), you get pretty much all bumper to bumper two wide at the first corner if it's a tight hairpin and you see almost all cars. And because the matchmaking puts everyone at the same level together, you stay in a train for quite a while.
 
Seeing all cars is not same as having to have highest lod for every car available. One would assume highest level LOD would cover case where (small?) part of the car fills whole display. On the other hand if that car is only filling 1/4th, 1/8th,... of screen there is no good reason to keep highest lod for that rendering. i.e. in a car game it would be mostly highest lod for something super close and something further already runs much lower level of lod as there is only that many pixels the object occupies in screen.

edit. simpler said. 512x512 pixel sized object doesn't need those 4k/8k textures to be rendered. On the other hand if the object fills entire 4k display matters are different.
 
Last edited:
Seeing all cars is not same as having to have highest lod for every car available. One would assume highest level LOD would cover case where (small?) part of the car fills whole display. On the other hand if that car is only filling 1/4th, 1/8th,... of screen there is no good reason to keep highest lod for that rendering. i.e. in a car game it would be mostly highest lod for something super close and something further already runs much lower level of lod as there is only that many pixels the object occupies in screen.

edit. simpler said. 512x512 screen sized object doesn't need those 4k/8k textures to be rendered. On the other hand if the object fills entire 4k display matters are different.
No, but I wasn't sure how much time you'd have to predict for streaming in the highest lod.
 
That cheaper Xbox will really exist? How will it work, run the same games but in 1080p30 maximum?
Sony can have the same, a cheaper option with the PS4 Pro, right? Or no, because of the weaker CPU? Because that's the advantage of the cheaper Xbox, it's still the same new architecture, with the much stronger Zen 2 CPU.
I can't make my mind to see how this will all work.
 
That cheaper Xbox will really exist? How will it work, run the same games but in 1080p30 maximum?
Yes. Lower res and/or framerate, maybe some reduction in rendering features and quality settings. Same as running a game on a lower spec PC versus higher spec.
Sony can have the same, a cheaper option with the PS4 Pro, right?
No. Lockhart is the same arch as XBSX and MS have worked on unifying their development so the same project can run on everything, so the same games will run. 4Pro is different to PS5 so it'd need effectively a port or independent version of PS5 titles.

Sony could choose to keep 4Pro going, but it won't offer the next-gen experience at 1080p30 or somesuch. The architecture is just too old. It'll just be a last-gen console. More likely Sony would retire the 4Pro and price-reduce PS4 as much as possible.
 
Yes. Lower res and/or framerate, maybe some reduction in rendering features and quality settings. Same as running a game on a lower spec PC versus higher spec.
No. Lockhart is the same arch as XBSX and MS have worked on unifying their development so the same project can run on everything, so the same games will run. 4Pro is different to PS5 so it'd need effectively a port or independent version of PS5 titles.

Sony could choose to keep 4Pro going, but it won't offer the next-gen experience at 1080p30 or somesuch. The architecture is just too old. It'll just be a last-gen console. More likely Sony would retire the 4Pro and price-reduce PS4 as much as possible.

I really don't know where MS is going will all this. The XSX is really a marvel of technology. Why go through the hassle to develop all this tech only to handicap it with an extremely underpowered machine? However, MS may have inavertedly hit the jackpot as I think a cheap box with gamepass bundled in will be very well received in this global recession.
 
I really don't know where MS is going will all this. The XSX is really a marvel of technology. Why go through the hassle to develop all this tech only to handicap it with an extremely underpowered machine? However, MS may have inavertedly hit the jackpot as I think a cheap box with gamepass bundled in will be very well received in this global recession.

It's simple imo.

For instance here in Canada a $299USD Lockhart likely means a $399CAD Lockhart. A $499USD XSX/PS5 means very likely $649CAD given the exchange rate right now is @ $684CAD!! Shit it wouldn't surprise me if Sony priced PS5 at $699CAD given how they are even less flexible here when it comes to pricing around exchange rates..

That's ~$250 dollars in difference here. Now you can debate the downgrades and how weak it is but reality is it will play next gen games and it will be the cheapest by far especially in international markets.
 
It's simple imo.

For instance here in Canada a $299USD Lockhart likely means a $399CAD Lockhart. A $499USD XSX/PS5 means very likely $649CAD given the exchange rate right now is @ $684CAD!! Shit it wouldn't surprise me if Sony priced PS5 at $699CAD given how they are even less flexible here when it comes to pricing around exchange rates..

That's ~$250 dollars in difference here. Now you can debate the downgrades and how weak it is but reality is it will play next gen games and it will be the cheapest by far especially in international markets.
It’s generally been reasonable here; PS4 launched at $399 USD and $399 CDN, XBO launched at $499.
XB1X launched at $599

games, games I feel is where we get slain.
 
It’s generally been reasonable here; PS4 launched at $399 USD and $399 CDN, XBO launched at $499.
XB1X launched at $599

games, games I feel is where we get slain.

Right but the Canadian dollar is much weaker now than it was in 2013. Like I said $499USD = ~$684CAD right now. They are not give to shave a lot off for brand new consoles...even at $649CAD they'd be giving us a break...
 
Status
Not open for further replies.
Back
Top