Wii U eDRAM Explained by Shin’en
Posted by Iran White on Jul 18, 2013 in Iran W, Uncategorized |
Lately, and really all along, there has been some confusion as to just how the large amount of eDRAM (32mb) fits into the Wii U memory hierarchy, and just what advantages the huge amount gives the Wii U. For those who don’t know what eDRAM is, a quick and simple explanation. At base, eDRAM is high density, very, very fast Random Access Memory that is actually embedded on to the chip that it services. Our friends at Shin’en, whom we feel know as well as anyone in the business, have been so gracious as to offer the gaming world what they describe as the General Impression they have of Wii U eDRAM.
Manfred Linzner of Shin’en:
‘Wii U eDRAM usage is comparable to the eDRAM in the XBOX360, but on Wii U you have enough eDRAM to use if for 1080p rendering.
In comparison, on XBOX360 you usually had to render in sub 720p resolutions or in mutliple passes.
Even if you don’t use MSAA (MultiSample Anti-Aliasing) you already need around 16Mb just for a 1080p framebuffer (with double buffering). You simply don’t have that with XBOX360 eDRAM. As far as I know Microsoft corrected that issue and put also 32MB of Fast Ram into their new console.
We use the eDRAM in the Wii U for the actual framebuffers, intermediate framebuffer captures, as a fast scratch memory for some CPU intense work and for other GPU memory writes.
Using eDRAM properly is a simple way to get extra performance without any other optimizations.
In general, development for Wii U CPU+GPU is simple. You don’t need complicated setups or workarounds for things like HDR(High Dynamic Range)or linear RGB (Color Modeling). What we also like is that there are plenty of possibilities for speeding up your rendering and code, but you don’t have to dig deep for them to get proper performance.
For instance, all of our shaders used in ‘Nano Assault Neo’ are not really optimized. We just used the first iteration of them because they were already fast enough. We looked later through the shaders dis-assembly and noticed we can make them 30-40% faster by better pipeline usage or better hints for the shader compiler.
As ‘Nano Assault Neo’ never had a problem running at 60fps (including a 2nd screen rendering at 60fps on the GamePad) we didn’t have to do that kind of optimizations back then. For CPU usage ‘Nano Assault Neo’ only used the main CPU core. The two other cores were almost idle, beside a few percent used for our audio thread.
So all in all ‘Nano Assault Neo’ only used a fraction of the currently available resources on Wii U and looks and plays quite nice. And for the future, don’t forget that in many consoles, early in their life cycle, not all resources were already useable or accessible via the SDK. So we are sure the best is yet to come for Wii U.’