Page 1 of 1

The dark side of next generation consoles

Posted: Wed Jun 08, 2005 7:03 pm
by Crowley
Interesting stuff from the latest Game Developers' Conference:
Chris Hecker wrote:So, as you know, graphics and physics grind on large homogenous floating point data structures in a very straight-line structured way. Then we have AI and gameplay code. Lots of exceptions, tunable parameters, indirections and often messy. We hate this code, it’s a mess, but this is the code that makes the game DIFFERENT. Here is the terrifying realization about the next generation consoles: I’m about to break a ton of NDAs here, oh well, haha, I never signed them anyway.

Gameplay code will get slower and harder to write on the next generation of consoles. Modern CPUs use out-of-order execution, which is there to make crappy code run fast. This was really good for the industry when it happened, although it annoyed many assembly language wizards in Sweden. Xenon and Cell are both in-order chips. What does this mean? It’s cheaper for them to do this. They can drop a lot of cores. One out-of-order core is about four times [did I catch that right? Alice] the size of an in-order core. What does this do to our code? It’s great for grinding on floating point, but for anything else it totally sucks. Rumours from people actually working on these chips – straight-line runs 1/3 to 1/10th the performance at the same clock speed. This sucks.
It'll be interesting to see how good the AI in MGS4 will be...

Posted: Wed Jun 08, 2005 7:44 pm
by Artemio
Indeed what he points out is true and I hadn't seen that slight, and important, detail. Though, if the specs are real on the PS3 at least, it won't affect as much as it might seem.

Here is a quote from the article at Wikipedia (http://en.wikipedia.org/wiki/Out-of-order_execution)
Wikipedia wrote:The effect of OoO processing grows as the instruction pipeline deepens and the speed difference between main memory (or cache memory) and the processor widens. For instance, on modern machines the processor runs many times faster than memory, so waiting for data to arrive over the bus is extremely costly.
As you can see, if they deliver half of the memory (256MB) @ 3.2Ghz and the compiler is well optimized in order to use those 256 KiB on each SPE unit, the problem is not really such big a problem. But for the Xbox whose RAM is @ 700 Mhz, it might be quite big (though the PowerPC does have out of order execution, at least the regular kind). And also taking into account the PS3 core does have a PPC class core inside...

Though since I am not involved in development to this level, and I have not coded in assembler for quite a while, I might be saying stupid things. ^^

Posted: Thu Jun 09, 2005 9:39 am
by Crowley
Strangely there seem to be two slightly different versions of the same speech:
Chris Hecker wrote:The Xenon and the cell are both in order chips. What does this mean? The reason they did this, is it's cheaper for them to do this. They can drop a lot of core--you know--one out of order core is about the size of three to four in order cores. So, they can make a lot of in order cores and drop them on a chip, and keep the power down, and sell it for cheap--what does this do to our code?

Well, it makes--it's totally fine for grinding like, symmetric algorithms out of floating point numbers, but for lots of 'if' statements in directions, it totally sucks. How do we quantify 'totally sucks?' "Rumors" which happen to be from people who are actually working on these chips, is that straight line gameplay code runs at 1/3 to 1/10 the speed at the same clock rate on an in order core as an out of order core.

This means that your new fancy 2 plus gigahertz CPU, and its Xenon, is going to run code as slow or slower than the 733 megahertz CPU in the Xbox 1. The PS3 will be even worse.

This sucks!
I'll confess right now that I know next to nothing of programming and computer architecture and I am just mindlessly repeating what others have said. ;)

Posted: Thu Jun 09, 2005 9:49 am
by Artemio
Quite interesting. We'll see what happens when they deliver. Of course it does make a lot of sense.. but I stated earlier, this is a huge issue just if the RAM is not at the same speed than the processor.

I wouldn't worry that much about if for now, and I am not saying I cannot be a big issue, but it is too soon to worry about the PS3.. The XBox though, if it really is an in order machine could suffer more from it.

Posted: Mon Jun 20, 2005 9:33 am
by Jack
Kojima complained about PS2 in the earlier days, and yet he delivered a lot. I guess problems like this one are not a big concern for Konami veterans. It's more likely western developers that will gripe about this.

Take for example Munch's Oddysee. It shifted from multiplatform project to Xbox exclusive because PS2 was hard to code.

Posted: Sun Jun 26, 2005 5:12 pm
by Crowley
My memory is hazy here, but wasn't one of Kojima's main complaints specifically about the difficulty of implementing uncommon AI behaviours? This does not seem to bode well for that front.

Posted: Sun Jun 26, 2005 6:19 pm
by Artemio
Crowley wrote:My memory is hazy here, but wasn't one of Kojima's main complaints specifically about the difficulty of implementing uncommon AI behaviours? This does not seem to bode well for that front.
That is tyrue.. but it had to do precisely with limited resources (ram and a single processor and not being able to use the VU as a general CPU if I recall right). Not about complexity due to the EE or VUs.