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

Status
Not open for further replies.
Things change, but as long as devs are not embracing query tech I don't see Cerny-led Sony hardware returning to the mad hardware of PS2 and PS3. Cerny's time-to-triangle metric is vague and a bit trite, but in terms of expressing the ease/effort with which you can start putting something onscreen, it does it's job and doing things easily and quickly will tend to find favour with most people - particularly those paying the bills. ;)
His "time to triangle" made me scratch my head because of the months time required, until I found it's a decades old reference in the business, he probably didn't elaborate because it's GDC. He means getting the throughput that the hardware can do for a game engine, it's not about getting triangles on screen. Even "The Cherno" who's a game engine developer didn't get it correctly because I think he might be too young to catch the reference. Which back in the beginning of 3d hardware was more about triangles/sec limitations which required a lot of work to get to what the hardware claimed to be able to do. Nowadays I suppose it's shader throughput, etc..., but then the comparison doesn't work so he kept the term time to triangle anyway since he was just making a point about simplicity for devs.

Edit: it's not in this one, but it's still a nice presentation...

 
Last edited:
“The ability to stream in content at extreme speeds enables developers to create denser and more detailed environments, changing how we think about streaming content. It’s so impactful that we’ve rewritten our core I/O subsystems for Unreal Engine with the PlayStation 5 in mind,” Epic's VP Engineering added.
Some of us worked this out six months back while others were in denial that the SSD could be that fast or that a cheap console could be better than a PC in this regard. PS5 and XSX will be tremendous for gamers who want genuine new experience that this could never have been done, even on PC with any amount of money.
 
Sounds like they really are abusing every bit of PS5's SSD transfer capability and the games designed for it will be substantially watered down on systems with much lesser SSD.
This goes beyond faster loading speeds. Guaranteeing that level of performance for every PS5 means developers have the freedom to stream so much content every second, which could fundamentally change how levels are designed and how content is streamed.

“The ability to stream in content at extreme speeds enables developers to create denser and more detailed environments, changing how we think about streaming content. It’s so impactful that we’ve rewritten our core I/O subsystems for Unreal Engine with the PlayStation 5 in mind,” he added.
Keen to see Brain Karis' tear down.
 
His "time to triangle" made me scratch my head because of the months time required, until I found it's a decades old reference in the business, he probably didn't elaborate because it's GDC.
Mark Cerny explained time-to-triangle in his GameLabs 2013 'Road to PS4 presentation' - and I think in 'The Road to PS5'.

Mark Cerny @ GameLabs 2013: "I think hardware complexity in terms of time-to-triangle by which I don't mean the time to create a program that just displays one triangle, that's trivial. I mean the time to create an engine that comes close to what the hardware is theoretically capable of in terms of triangle count"​

By vague I mean it's not really a like-for-like comparison solely about hardware complexity because time-to-triangle is as much about the quality of the dev tools for a system as it is about the 'friendliness' of the architecture. You can have a complex/difficult architecture made accessible by great dev tools, equally an architecture which is a mild evolution over something you are already very familiar but can be made problematic by bad dev tools.

But he's aiming these presentations at devs.
 
Last edited by a moderator:
Mark Cerny explained time-to-triangle in his GameLabs 2013 'Road to PS4 presentation' - and I think in 'The Road to PS5'.

Mark Cerny @ GameLabs 2013: "I think hardware complexity in terms of time-to-triangle by which I don't mean the time to create a program that just plays one triangle one triangle, that's trivial. I mean the time to create an engine that comes close to what the hardware is theoretically capable of in terms of triangle count"​

By vague I mean it's not really a like-for-like comparison solely about hardware complexity because time-to-triangle is as much about the quality of the dev tools for a system as it is about the 'friendliness' of the architecture. You can have a complex/difficult architecture made accessible by great dev tools, equally an architecture which is mild evolution over something you already very familiar but can be problematic by bad dev tools.

But he's aiming these presentations at devs.
Ah! Yes I watched them back to back and got them mixed up. :LOL:

PS3 was really the worst possible case, with horrible dev tools at launch combined with the most difficult hardware.
 
“It’s so impactful that we’ve rewritten our core I/O subsystems for Unreal Engine ”

That's great, because the one thing I've always heard from developers using Unreal Engine is how they had to rewrite the engine's object loading scheme and I/O subsystems. If they didn't do it before release, it's usually patched in the first 5 months. I'm sure they all wish they could have spent that time doing other things instead.
 
That's great, because the one thing I've always heard from developers using Unreal Engine is how they had to rewrite the engine's object loading scheme and I/O subsystems. If they didn't do it before release, it's usually patched in the first 5 months. I'm sure they all wish they could have spent that time doing other things instead.
Interesting, I wonder if that is why there are so few UE4-powered open world games, they do exist as Days Gone is UE4 and I'm sure there are others.
 
Are most open worlds today highly procedural? Next gen might allow much more realistic enviromnent.
 
Interesting, I wonder if that is why there are so few UE4-powered open world games, they do exist as Days Gone is UE4 and I'm sure there are others.
Their engine is designed to support from
Android phones to high end PCs. So if you’re a first party studio looking to extract as much as possible; there is a lot of work to re-write a lot of their subsystems.

With this console generation moving the baseline Hard drive speed to NVME speeds; this re-write would need to happen anyway.

Everyone would benefit; including the smaller studios that can’t do that type of thing.
 
Interesting, I wonder if that is why there are so few UE4-powered open world games, they do exist as Days Gone is UE4 and I'm sure there are others.

In UE, if you load in 1 object, it ripples out and loads in everything it references, which ripples out and loads in everything they reference, ad infinitum. This is why there are Zones defined in games using UE. Even before any of that is a concern, the engine's reading is done at such a remedial way, like it was done by an intern with no concern for any real world performance.

And Days Gone has an entirely rewritten IO subsystem. A year before Days Gone release (maybe even earlier), Status had spent many a time venting about the rework required while we gamed online.

One of the big patches for the game ReCore had them do a drastic patching of the game loading system, to cut minutes off their load time.

I think the only game that has not rewritten the I/O subsystem is ARK: Survival Evolved. And you can tell somewhat by the insanely long loading times or the severe hitching when moving through the game.
 
I wonder if that contributed to the texture bug in ff7r? Apparently according to hackers all the assets have way higher fidelity versions(hence that 100gb) that the game doesnt ping into existence in game for whatever reason. Like a limitation of se not accounting for that engine aspect maybe?
 
In UE, if you load in 1 object, it ripples out and loads in everything it references, which ripples out and loads in everything they reference, ad infinitum. This is why there are Zones defined in games using UE. Even before any of that is a concern, the engine's reading is done at such a remedial way, like it was done by an intern with no concern for any real world performance.

And Days Gone has an entirely rewritten IO subsystem. A year before Days Gone release (maybe even earlier), Graham had spent many a time venting about the rework required while we gamed online.

One of the big patches for the game ReCore had them do a drastic patching of the game loading system, to cut minutes off their load time.

I think the only game that has not rewritten the I/O subsystem is ARK: Survival Evolved. And you can tell somewhat by the insanely long loading times or the severe hitching when moving through the game.
I blame this on their blueprint system. They tried to make something simpler for those who can’t do C++ and do memory management. And then suddenly your asking them to make these flowcharts your represent all of that. Not to mention blueprint are all done on a single core; but w/e.
Curious to see how they will approach it in UE5.
 
I think they took some steps to make things a bit more lightweight in UE4.25 with some of their structure changes, like the UObject properties being FProperties.

Found the change log: https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNotes/4_25/index.html

UProperty has been refactored to be FProperty, meaning properties marked with the UPROPERTY macro no longer carry the overhead of being a UObject. This refactor has a few positive impacts:
  • Loading performance, especially when loading a large number Blueprints
  • Garbage collection performance, especially when a project has a large number of Blueprints
  • Memory savings, tests in Fortnite show a memory savings of over 30 megabytes.
  • Performance improvements include:
    • UObject iteration (there are fewer objects to check)
    • FProperty casts are three times as fast as UObject casts.
    • FProperty iteration is almost twice as fast as UProperty iteration.
 
Really ???[emoji33]

It depends what's meant by "the SSD communicates directly with the GPU via specific hardware instead of use of software APIs"... obviously all systems require hardware for communication between SSD and GPU! For the most part the route that the data will take on a PS5 will be identical to the route it will take on the XSX as far as I can see. That being SSD memory->controller->PCIe 4.0 4x->IO hub->main memory. PC's too would take a pretty similar route provided they are running on a Zen 2/3 or Rocket Lake based platform and that DirectStorage facilitates DMA of data direct from the SSD into GPU memory. The main difference then would be the lack of decompression hardware in PC's which can be addressed in a number of different ways.
 
In a pro, no way. It'll require specific, considerable efforts to use the machine. A pro should just run the base game with more room for improvements without needing an engine reworking to manage a small memory pool.

Given faster SSDs, I could definitely see something like [fast SSD > relatively small fastish DDR > very fast HBM] in future hardware. The DDR would sit more as a cache between storage and working RAM. Everything will be streamed and tiled and virtualised!

I picked the Pro because I can imagine Sony following a similar route again, of butterflying the GPU, upping the clocks across the board, and giving developers more memory.

With the PS4Pro, they granted developers an additional 512MB of memory, hence the extra DDR3. To my mind, the approach I stated was an evolution due to the added memory being directly usable by developers.

Another component of my line of thought was the way that the PS4Pro only doubled (well, 2.2x) the GPU performance, but required a satisfactory 4K image. Sony were well aware that image reconstruction was going to have to become prevalent due to the death of Moore's law.

Maybe we could see a similar nudge in that direction with a PS5Pro? If a relatively small pool of blisteringly fast memory seems increasingly likely to find its way into the PS6, maybe it makes sense to give developers 3-5 years to monkey around with it and find successes and failures before it's committed to the baseline architecture for 6-8 years?

Things change, but as long as devs are not embracing weird tech I don't see Cerny-led Sony hardware returning to the mad hardware of PS2 and PS3. Cerny's time-to-triangle metric is vague and a bit trite, but in terms of expressing the ease/effort with which you can start putting something onscreen, it does it's job and doing things easily and quickly will tend to find favour with most people - particularly those paying the bills. ;)

Absolutely. That point was further reinforced in Cerny's Road to PS5 talk, when he emphasized the speed with which developers are able to move their PS4 engine to the PS5. I think it was something like a week.

But in that moment, he also stated that developers don't have to make use of the ray tracing hardware (I think that was it, it was certainly some aspect of the PS5's hardware.) Such a principle could apply to a smallish pool of HBM in a future console: you can ignore it and just make use of the GDDR like your PS5 engine.

I wouldn't have gone with the PS5 Pro as an example, I'd have gone with PS6.
But his example would still mean it runs the base game better with no code changes.

That was my main principle. I also think they're going to have to get creative with the Pro consoles, as the power draw reduction moving from 7nm to 5nm is only something like 45% IIRC. So if they want to bump up the GPU by a considerable amount, power savings are going to have to come from elsewhere. Such as adding large amounts of bandwidth with low power memory.

One area that I can really imagine trouble though, is BC. The PS6 would need:
  • 20GB's of HBM3. Map 4GB's of HBM3 and 16GB's of GDDR6.
  • 4GB's of HBM3. Map the PS5Pro's HBM3 1:1. Map the 16GB of the PS5Pro's GDDR6 to equivalent or better GDDR.
  • 16GB's of HBM3. Map the PS5Pro's GDDR6 to it. Map the PS5Pro's HBM3 to something with at least 4GB of capacity and 512GB/s bandwidth....
So, pretty much, it would limit them to 20GB's of HBM3. Which then warrants the question: is 20GB's of HBM3 and 8-16GB's of DDR5 (or HBM4 and DDR6 etc) a sensible memory configuration?
 
Status
Not open for further replies.
Back
Top