Lone_Canis_Lupus said:
hree words: Triple core processor. The PS3 has the advantage of the other cores for floating point calculations...but they can't be used for general purposes entirely whereas with the 360 you have the triple core processor where you can use all 3 of them for general purpose processes. Meaning the 360 could process more at once than the PS3 can...even if the PS3 can be faster with the processes it can handle.
The thing is both systems are very different hardware wise. Close in power, but very different. If you develop a game solely for ones hardware, it would be really hard porting it to the other.
I agree the architecture is very different, but the PS3 can process a lot more data apart for just FP calculations. The PPE is about the equivalent of a 360 core, the 360 has 2 additional similar cores which all share the L2 cache and a shared bus to the main system memory with the GPU and the GPU can use the Xenon for certain tasks but this will disrupt the flow of data processing by the Xenon.
The PS3 has 7 additional SPEs (one of which used by the OS to run background stuff, which for equivalent purposes on the 360 would take performance from its cores), some quotes:
Insomniac's Rule 1:" The SPU is not a co-processor!
Don't think of SPUs as hiding time “behind” a main PPU loop"
Mike Acton:
"It's a lot of little things, right. I mean, we had an idea of what to expect with the Cell before, but there were definitely some hard-learnt lessons. One that I can think of is to not treat the SPU as a co-processor."
"SPUs are the core of the Cell, the PPU is a minor player."
"Whatever the PPU can do, the SPUs can do better."The problem:
"What I've always said is that bad code, and bad data design in particular, is bad on any architecture, but it's particularly bad on the PS3 because the Cell is a much more modern, much more heterogeneous design. It's much more parallel, and so requires good data design and good code. So if you're poorly designing your data and your code, then yeah, I can see why it'd be difficult to take something like that and try and manipulate it to work on the PS3, especially when people have invested a huge amount of money and time on something that basically doesn't fit a modern methodology. Yeah, it's going to be time-consuming to get that to work - if it's at all possible."
http://www.developmag.com/interviews/174/QA-Insomniacs-Mike-ActonA lof of Insomniac and other 1st and 2nd party game engine efforts are dedicated to bringing all the game code over to the SPUs. This is how it's expected to pan out for the long run:
Deano (before the PS3 launched):
"I’ll make a prediction for how PS3 games will evolve.
1st Gen: PPU used for most things with the SPUs just doing some heavy lifting
2nd Gen: PPU still dominant but SPUs doing a lot more tasks.
3rd Gen: SPU completely dominant with PPU now more of a game coprocessor."
There's also a game engine state I would call the 0th generation and this relates to some games like even a PS3 exclusive like Genji 2 belong to. A game which does not take advantage of the SPUs at all, doing everything on the PPU.
Resistance 2 is known to become based on a 3rd generation style game engine, many other exclusives can be seen as 2nd generation and most 3rd party efforts like based on the Unreal engine between the 1st and 2nd generation.
After 3rd generation game engine there still is room for a lot of experimentation and endles optimisations, but moving all the game code onto the SPUs should be seen as a milestone in PS3 game engine development.