20120112 - To Extremes and Back To Reality


Entertaining NeoGAF Thread: Developers Discuss Benefits Of Targeting 720p/30fps Next Gen, Using Film Aesthetics captures a lot of the concerns of the vocal PC and console gamer, responding to comments in the Games vs Film post.

Ok, Now Back to Reality

My prior comment, "IMO a more interesting next-generation metric is can an engine on a ultra-highend PC rendering at 720p look as real as a DVD quality movie?" is a rhetorical question asking if it is possible for a real-time engine to start to approach the lower bound of a DVD movie in realism.

To make this clear, I'm not suggesting that games should compromise interactive experience just to get visual quality. If I was going to develop a title for next generation consoles I would output 1080p and run frame locked to 60Hz with no dropped frames period. I still believe developers will be able to start to reach the quality of film for next generation consoles and current generation PCs, and I'm intending to develop or prove out some of the underlining techniques and technology which gets us there.

At the same time, certainly expectations for next generation consoles should at least be grounded in some rough realistic estimates for performance. Using public information found on the internet, lets nail down a realistic estimate of what next generation console performance will be, by looking at how ATI/AMD has evolved GPU performance after the Xbox 360,

(1.) Next gen console games will be outputting at 1080p. I can say this with full confidence simply because HDTV typically adds a frame of latency when it needs to convert from 720p to 1080p.

(2.) Using HD6970 as a proxy for a high end PC version of the Xbox 360, lets compare specs. Going from the typical 720p @ 30Hz on Xbox360 to 1080p @ 60Hz on HD6970 with 2x the geometry would take roughly 4x the performance (2x the pixels and geometry times 2x the frame rate) just to provide a similar experience at the higher resolution and frame rate with similar average pixels/triangle.

HD6970 has roughly another 2x over the 4x required to maintain same look at the full HD experience,

Xbox360 =  240 Gflops : 22.4 GB/s :    8 Gtex/s :    4 Gpix/s
HD6970 = 2703 Gflops : 173 GB/s : 84.5 Gtex/s : 28.2 Gpix/s
-------------------------------------------------------------
roughly 11x Gflops : 7x GB/s : 10x Gtex/s : 7x Gpix/s


(3.) What about process scaling, lets attempt to get an idea of what future technology might have, lets compare HD6970 to HD7970. Looks like AMD managed around a 1.4x on-paper spec increase except they did not scale Gpix/s.

HD6970  = 2703 Gflops :  173 GB/s :  84.5 Gtex/s : 28.2 Gpix/s : 250 Watt
HD7970 = 3789 Gflops : 264 GB/s : 118.4 Gtex/s : 29.6 Gpix/s : 250 Watt
-------------------------------------------------------------------------
roughly 1.4x Gflops : 1.5x GB/s : 1.4x Gtex/s : 1x Gpix/s


(4.) What about power scaling? The latest shrink of the Xbox 360 hardware uses a 115 Watt power supply (for the entire system, not just the GPU). So lets assume that next generation consoles won't have huge power supplies like PC GPUs. Taking what I'm wild guessing to be a really liberal estimate for possible GPU power for a 115 Watt system, lets compare a medium power modern proxy for the Xbox 360, the HD6750 (which is a 86 Watt TDP on paper). These numbers suggest if Microsoft launched a Xbox update around last year, that it would not be able to do 1080p at 60 Hz with the same look as current 360 games (because the HD6750 isn't 4x the 360).

Xbox360 =  240 Gflops : 22.4 GB/s :    8 Gtex/s :    4 Gpix/s
HD6750 = 1008 Gflops : 73.6 GB/s : 25.2 Gtex/s : 11.2 Gpix/s
-------------------------------------------------------------
roughly 4.2x Gflops : 3.3x GB/s : 3.2x Gtex/s : 2.8x Gpix/s


(5.) Next generation console performance will be a function of how much power the machine uses and what process technology each vendor adapts. Launch date of the console is going to hint at what process is used. Process scaling is not constant, but for the sake of making this simple, lets just assume each process gets 1.4x the performance. Then lets look at estimated performance scaling from the HD6750 to keep closer to current "console" power levels. This will provide some very rough estimate on what future consoles might have. Lets estimate process technology road maps by looking at google image search results,

2011   : 40nm : HD6750 :  4.2x Gflops :  3.3x GB/s :  3.2x Gtex/s : 2.8x Gpix/s
2012 : 28nm : ?????? : 5.8x Gflops : 4.6x GB/s : 4.4x Gtex/s : 3.9x Gpix/s
2013.5 : 20nm : ?????? : 8.2x Gflops : 6.4x GB/s : 6.2x Gtex/s : 5.5x Gpix/s
2015 : 14nm : ?????? : 11.5x Gflops : 9.0x GB/s : 8.6x Gtex/s : 7.7x Gpix/s


(6.) EDIT: Given an estimate that process technology will continue to advance during the lifetime of a console, a vendor could adapt higher power for launch, with the expectation of reducing this later in the product cycle. For example the first 360 had a 203 Watt power supply at launch and is now at 115 Watts (according to Wikipedia). This leaves a big window of possibility for performance.

Given the window of possible launch dates and power targets it would be hard to know exactly what will end up in next generation consoles, however a 2011 high-end single-GPU card seems like a possible proxy for next generation console, and at least a good start to understanding what could be possible.


UPDATE

The latest IGN Rumor is 100% fail, as they say the next Xbox is a HD6670 with 6x the perf of 360. The HD6670 at 40nm is clearly not 6x the performance, and even a 28nm die shrink of HD6670 will likely not be 6x the performance Xbox360.

Xbox360 =  240 Gflops : 22.4 GB/s :    8 Gtex/s :    4 Gpix/s
HD6670 = 768 Gflops : 64 GB/s : 19.2 Gtex/s : 6.4 Gpix/s
-------------------------------------------------------------
roughly 3.2x Gflops : 2.8x GB/s : 2.4x Gtex/s : 1.6x Gpix/s

However assuming the 6x number is correct then HD6870 or HD6850 is a possible development proxy,

Xbox360    =  240 Gflops : 22.4 GB/s :    8 Gtex/s :    4 Gpix/s
Xbox360 x6 = 1440 Gflops : 134 GB/s : 48 Gtex/s : 24 Gpix/s
----------------------------------------------------------------
HD6850 = 1488 Gflops : 128 GB/s : 37 Gtex/s : 24 Gpix/s
HD6870 = 2016 Gflops : 134 GB/s : 50 Gtex/s : 28 Gpix/s