The Xbox One is having a fairly tough time of it by the press and media alike, primarily on the decision to use the eSRAM. Although we’ve previously discussed (click here for a detailed report) the subject several times, it’s becoming clearer on the memories shortcomings as Developers join in on the discussion. Overall, the PS4 and X1 are very similar from the standpoint of basic architecture. Both use the same basic CPU and very similar GPU technology (provided by AMD). The differentiating factor boils down to the memory layout and GPU performance of the two machines.
Terathon Software, who’re creators of the game engine “C4” have recently provided a short explanation regarding the possibility of getting C4 working on the Xbox One. “That depends on Microsoft. If we do port to the Xbox One, it will be unfortunate that we still have to deal with things like the eSRAM in this generation of consoles. Many of the methods established with the 360 still apply, and they’ll provide us with some solutions.” Says Terathon’s Founder Eric Lengyel.
This information is backed up by a previous interview that Microsoft’s own technical fellows provided. During which they highlighted that the Xbox One’s eSRAM could function much like the X360’s eDRAM, only more functional and of course, far larger and higher memory bandwidth. The Xbox One’s eSRAM, as many are aware is to provided support for the consoles DDR3 memory, which itself provides 68GB/s of memory bandwidth. Although this figure might seem fairly high if you compared to the previous generation of consoles, it pales in comparison to mid range GPU’s or of course, the Playstation 4. To make up the slack, the eSRAM is a 32MB chunk of memory, providing over 200GB/s.
It would seem for many the memory bandwidth isn’t the concern, rather eSRAM’s size, which is as discussed is a paltry 32MB. This lack of memory would apparently be causing much of the resolution issues which have been plaguing the system. Respawn Interactive’s Richard Baker has recently spoken out to Eurogamer regarding Titanfall’s resolution being 792P and said “We’ve been experimenting with making it higher and lower. One of the big tricks is how much ESRAM we’re going to use, so we’re thinking of not using hardware MSAA and instead using FXAA to make it so we don’t have to have this larger render target.”
“We’re going to experiment. The target is either 1080p non-anti-aliased or 900p with FXAA. We’re trying to optimise… we don’t want to give up anything for higher res. So far we’re not 100 per cent happy with any of the options, we’re still working on it.”
It’s important to remember the rather large difference to memory that FXAA to MSAA can make. FXAA is ‘cheaper’ and provides better performance, but of course it’s also less accurate. MSAA doesn’t have the same blurry edges that are associated with FXAA, but FXAA is still better than no AA at all. While saying 1080P native would likely sound more impressive, visually FXAA would likely be the better looking of the two options (FXAA at 900P vs 1080P without any form of Anti-Aliasing).
Of course, this is an indication that the Xbox One’s GPU isn’t really providing the team’s as much of a hurdle to overcome as the memory. It’s a fairly simple problem – if the GPU is waiting for data, then it doesn’t matter how powerful it is. There have been many theories provided that the GPU of the X1 was lessened to ‘make room’ for the eSRAM / Move Engines on the SoC, but clearly even if it’d been expanded to provide the same technical TFLOPS of the PS4, the memory architecture would have been a limitation.
There is speculation that performance would have been vastly improved with the use of 64MB of eSRAM, or of course the more elegant solution – GDDR5 memory.
Sources for interviews: