On decision for 30fps in SP
How they used ESRAM
Graphical enhancements being used(i.e lighting, shadows etc)
PC info
Much more at source - Quite a long read btw.
Popshot with a gnasher if old.
Digital Foundry : The jump from PowerPC to AMD's x86 Jaguar has proven to be less then trivial in some cases, particularly in light of some of the performance issues seen in the Master Chief Collection where there are (or rather, were) clear CPU bottlenecks. Does this in part explain the reason to lock to 30fps in the campaign?
Mike Rayner : We decided 30fps for campaign and 60fps for multiplayer very early on as a design decision and not a technical limitation. The original was a visual showcase for Xbox 360 and we wanted to continue that on Xbox One by significantly updating the campaign visuals at 1080p while also keeping a more consistent 30fps frame-rate than the original. Running the campaign at 60fps is doable, it just doesn't look nearly as good as the 30fps version.
How they used ESRAM
Digital Foundry: There's been a lot of discussion about the 32MB limit on Xbox One's ESRAM - what's your strategy for its utilisation in Gears Ultimate?
Jaysen Huculak: Fun question and you get a description right from the primary developer of our ESRAM management.
Stu McKenna: Initially we only put the colour/depth buffers into ESRAM as we are forward-rendered, so main buffers (colour/depth) fit nicely into ESRAM at 1080p - this was a huge performance boost. Later in the project we looked at our ESRAM usage again to get extra performance back. From looking at the analysis you can see that only certain passes and resources will give you any benefit inside ESRAM as we were not ROP-write bound in many cases (ie ALU or texture read bound).
We added a new ESRAM allocator that leverages virtual memory to map pages to ESRAM/DRAM per 64k. We added lifetime management for resources we want inside ESRAM so that once they are released the physical pages are returned for other resources to use. Depth and colour targets on Xbox One can be compressed and we noticed in some cases splitting that planes between DRAM/ESRAM can also be a win as it frees up ESRAM memory for other more important resources.
Graphical enhancements being used(i.e lighting, shadows etc)
Digital Foundry: Can you talk us through the key enhancements you made with regards the lighting? Presumably you're using Lightmass for global illumination but can you tell us more about the ambient occlusion and the physically-based rendering system? Any particular PBR model you're utilising?
Jaysen Huculak: For sure! We are using Lightmass for the lighting and started with the 2006 version. We went through two major integrations, one to bring it up to roughly 2009 and one to bring it to 2011. This work sometimes has to go in stages to make sure all the pieces are working to move to the next level. The first integrations got us global illumination, which in itself was a big step up visually. Later we brought in support for dominant directional lights as well as signed distance field shadows and pre-shadows. This improved specular lighting as well as allowing for dynamic objects to receive and cast shadows that correctly blend with the environment. Our physically-bases shading is based on the UE4 method.
John White: The lighting model was switched to use the UE4-based PBR. This is Lambert for diffuse with Schlick Fresnel and geometry terms with GGX normal distribution. Normal maps could be optionally processed with Toksvig mapping to help with Spec AA. Keeping the UE4 model was very intuitive for the artists who were very familiar authoring using the model.
PC info
Digital Foundry: Ultimate Edition is coming to DX12 and Windows 10 - can you talk us through how the engine takes advantage of the new API?
Cam McRae: We are still hard at work optimising the game. DirectX 12 allows us much better control over the CPU load with heavily reduced driver overhead. Some of the overhead has been moved to the game where we can have control over it. Our main effort is in parallelising the rendering system to take advantage of multiple CPU cores. Command list creation and D3D resource creation are the big focus here. We're also pulling in optimisations from UE4 where possible, such as pipeline state object caching. On the GPU side, we've converted SSAO to make use of async compute and are exploring the same for other features, like MSAA.
Digital Foundry: It's been mentioned before that the PC version supports higher resolutions and frame-rates. Will there also be other anti-aliasing modes supported (MSAA, SMAA etc)? Better ambient occlusion, particle effects, shadow-map quality etc?
Cam McRae: We have put significant effort into making the Windows 10 version a showcase at 4K, geo and textures were re-authored with 4K in mind so the visual fidelity will really scale up on higher end hardware. We plan to uncap the frame-rate and will ship with a built-in benchmark mode. For anti-aliasing we'll support MSAA and FXAA.
Digital Foundry: On the flip-side, how low will the PC version scale down?
Cam McRae: While we haven't locked how far the game will scale down, it is important to us to ensure good performance (at least 30fps) on a variety of hardware. We will support a broad range of resolutions as well as a variety of graphics options for gamers to tweak their setup.
Much more at source - Quite a long read btw.
Popshot with a gnasher if old.