MrPopo wrote:You're right on the fact that there is a huge improvement between early and late games for a given console. However, the multi-core nature of modern consoles really doesn't buy you much. Multi-core has some really wicked diminishing returns:
http://en.wikipedia.org/wiki/Amdahl's_law
Amdahl's law is very specific to certain types of workflows, based on today's method of coding.
Take a look at the research Microsoft are doing into multi-kernel operating systems and new message passing techniques. All experimental today, but pushing forwards it will turn the modern OS totally on it's head, making each major component it's own small virtual machine of sorts.
http://www.barrelfish.org/That's long term ("long" in computer science isn't so "long" in the real world either). Shorter term DX10 is going multi-threaded, and designs from that can go back into the console core.
I'll be the first to admit
current console software design tools are embarrassingly serial, but it's also worth considering that the things we are doing today in computing were mere theory a decade ago.
Beyond that, there are obvious gains that can be made now. Look at Natal. There's a lot of intensive calc there that can sit in a different thread/process to the main game engine. All we've seen of that are a few cute tech demos, but it'll be really exciting to see what's coming in 2-3 years from now (first-gen design), and 5-6 years from now (second-gen design) on current hardware.
It's been shown time and time again that CPU designers can't keep scaling clock-speed forever (not on silicon, at least). We've been dealing with single-threaded concepts for a
long time now (with the biggest single-threaded bottleneck being the actual kernel of any major OS), and to feverishly upgrade every couple of years for an extra few hundred lines of resolution and a new shader effect (at the cost of hundreds or even thousands of dollars worth of console hardware each time) is short sighted at best.
Microsoft research are doing good things (and I say this totally unbiased, as I'm an unabashed Linux fanboi and generally a total Microsoft hater), and I'm looking forward to what they can and will produce when it comes to concepts in parallel programming for once-serial tasks.