It’s no secret that the Xbox One has been running into performance issues due to the way the eSRAM has been set up in conjunction with the CPU and GPU. In a previous article, we explained why the Xbox One’s eSRAM feels limited despite the potential to store 6GB of tiled textures using DX 11.2.
With both the PlayStation 4 and Xbox One now released we take a deeper look into their respective APU dies.
Sony’s APU design along with unified memory has received unanimous praise from several video game developers. As seen above, the CPU and GPU can access the memory via the high speed GDDR5 memory interface in a parallel fashion whenever the need arises. The GPU and two quad core processors can access the memory on the fly using the Shared Memory Controller.
The GPU has 20 compute units, out of which two are inactive to increase yield. Just by looking at the architecture above, one can understand that Sony has opted for a no non-sense structure for the PlayStation 4. Compared to the complex Cell architecture of the PlayStation 3, this – combined with the x86-based CPU and GPU – has made the development process easier and more time-efficient.
The Xbox One, on the other hand, uses a slower DDR3 interface for its CPU and GPU. Furthermore the Xbox One’s GPU has 14 compute units out of which two are redundant, just in case there is an issue with manufacturing. In order to compensate for this lower memory, the Xbox One uses embedded SRAM as indicated in the image above. This obviously increases manual effort from the developer’s end, which has resulted in performance issues in certain video games such as Call of Duty: Ghosts.
Both the APUs uses a similar Shared Memory Controller structure supporting Cache Coherence which should provide excellent performance as far as data transfer is concerned between different cores of the processor. This along with eSRAM, acting as a bridge between the GPU and CPU if implemented correctly can produce performance gains for the Xbox One.
Such an architecture, although complex and annoying for developers, makes it easier to store Z-Buffer (management of image depth of 3D object) and shadowmaps (a process by which shadows are added into the game) as the memory is readily available. Not to mention the fact that one can stream textures using the high bandwidth that eSRAM offers via middleware such as Granite but with more and more developers aiming for shorter cycles and lowering costs for development, whether they will put extra effort into something more complex remains to be seen. The situation is somewhat similar to that seen on the PlayStation 3 where the Cell was criticized for its complex structure despite its powerful potential.
The PlayStation 4 definitely holds an advantage not only in numbers, but also in the way its internal components have been set up for game development, resource allocation, data transfer and programming. Sony has definitely learned its lesson from the PS3 days and its simple and unified architecture for the PlayStation 4 will no doubt make far more streamlined and efficient development.