The specs of the new XBox are slightly higher on paper, but the PS5 is doing some really interesting things in terms of optimization. Basically the XBox is going for high constant clock speeds, and the PS5 is shifting priority between the CPU and GPU components of the SOC so each gets boosted performance when it's most relevant.
Both consoles are doing very interesting things with asset streaming and decompression of assets directly from the SSD to video memory which are going to open up new opportunities not only in visual quality, but in terms of how flexibly game worlds can be designed.
Probably we will have to wait and see how all of this plays out in terms of real-world performance.
edit: Maybe deterministic isn't the correct word. What I mean is that you can design a physics system that you can ensure runs on the PS5 CPU. But then the graphics boys make an upgrade and suddenly some power is diverted to the graphics and the physics system is no longer working correctly. This is still deterministic. But a nightmare to work with when optimizing for hard-real time requirements. The only way this can be done sanely is if the developers can fix this power budget and thus restore "determinism".
So developer can expect it to perform identical to whatever balance they've set between CPU/GPU. That's my understanding at least.
'So how does boost work in this case? Put simply, the PlayStation 5 is given a set power budget tied to the thermal limits of the cooling assembly. "It's a completely different paradigm," says Cerny. "Rather than running at constant frequency and letting the power vary based on the workload, we run at essentially constant power and let the frequency vary based on the workload."'
https://www.eurogamer.net/articles/digitalfoundry-2020-plays...
The only way I can see this going well if this balance is fixed by the developer. E.g. the developer specifies I want 60% of the power budget to go to the GPU and 40% to the CPU. If this is handled dynamically by the PS5... oh boy.
Another way to think about it is that very few games are using 100% CPU capacity and 100% CPU capacity at the same time. This model gives the developer a combined compute budget, which can be allocated as required for the task.
Right, but to the GP's point, for those games which do aim to max out both at the same time (or at least get as close to that as possible), this could be a development pain point unless the developer has control over which gets prioritized. Once upon a time this sort of maximization was a common goal for console game development, though I don't know how true that holds nowadays.
But I think this style of hardware also changes the way you make optimization decisions. I.e. in a world where you have a fixed CPU/GPU budget, you might try to think of ways too move work to the CPU if for instance your GPU is saturated. But if the relative capacity is variable, you can just do things in the most efficient way overall, and you just have to make sure you don't exceed your overall budget.
How common is this though in an era where most releases are multi-platform?
hint_prioritize_cpu_begin()
...
hint_prioritize_cpu_end()
or something?