I wonder if this downgrade is simply due to a lack of graphics power, or if it has anything to do with them requiring to fit more buffers/data into the ESRAM at this lower resolution.
According to the presentation "A bit more deferred - Cryengine 3", it is supposed to be some kind of deferred lighting solution, rather than a full deferred shader engine. Don't know if this is still true for Ryse's engine, but if so, they would require somewhere between 3-4 rendertargets at a time: 1 for normals, 1 for depth, 1-2 for the light accumulation target. And then probably another one for the final composition (the back buffer).
According to the same presentation I mentioned above, this process consists of 3 passes:
1) Forward GBuffer generation: that would create normals, depth, and specular power. Let's say they can fit this into 2 x 32bit rendertargets. That's easily possible and also probable since they have limited space available in the ESRAM).
2) Deferred light accumulation: this would require another single rendertarget at 32bit or 64bit. This is already an important decision since you would have to account for any HDR lighting in this step for which you would need a floating point target. That is doable in 32bit and again because space and also bandwidth is of importance it is probable they do it with a 32bit target.
---------------------------------------------------------------
The three rendertargets in these two steps would have to be persistent in memory at the same time, since the light accumulation buffer reads the info from the other two rendertargets. At 1080p this would mean that the ESRAM is utilized to 3/4 and another 1/4 of the space is available for use. After this step however, it should be possible to scrap the depth and normal buffers, freeing the 2x32 bit targets since they aren't required anymore.
---------------------------------------------------------------
3) Forward shading with light accumulation texture: This requires another 1x32 bit rendertarget to do the final composition of the picture (the back buffer). So we have the accumulation buffer (read) and the back buffer (write) in the ESRAM. The other thing that is needed in this final step are the albedo textures for all the objects in the frame. Now the ESRAM is half-empty (@1080p), so ~16MB would be available to use at that time. That can be PRTs or any other stuff they would require in ESRAM.
Please correct me If I made a mistake somewhere in there. Now, 16MB for PRTs is a figure that MS mentioned at the Build conference during their PRT-Demo presentation. However, I would argue that this demo was nowhere near any real-world situation within a game. Too little texture variety, etc. for a modern AAA game. So it would be beneficial to have more than 16MB available to prevent more lookups from DRAM.
Now at 900p (assuming 1600x900), during the final composition stage, the ESRAM would be filled with 1600x900x4BPP = ~5,6MB x2 rendertargets = ~11,2MB. So in this case it would lead to them having ~5MB more free space in ESRAM at that point. Doesn't seem all that significant to me. Now I know this isn't really a technical thread, but what do you guys think?
I have to say it worries me that Crytek, who did such a great job on Xbox360 with Crysis2/3 have to tone down the resolution to get a solid 30fps gameplay on what is supposed to be next-gen hardware. Don't get me wrong, the game still looks incredible, but it is troublesome that first party has to make such sacrifices this early in the next-gen console's lifecycle. I mean it isn't even out yet and assuming games will look even better a few years from now it is highly unlikely that they will be able to up the resolution in the future while providing even more eyecandy.