| gebx said: Sorry if my fan goggles are blinding me but let's compare PS3 leadplatform game = Good port to 360, nearly identical performance 360 leadplatform game = poor port to PS3 and launch delays... Now I'm confused.. are developers using the PS3 as lead console because its better? or because they know the 360 can handle anything on the PS3? Seriously why choose the stronger console as lead when a) the 360 technically shouldn't be able to handle any games that uses TH3 c3LL, and b) the console is in last place? |
Well, let me try to explain this in a way it's easy to understand:
If a game is designed to run on the Cell's SPEs then it's data is organized to be run asynchronously with less lock contention. By doing this the data/code can be sent to the SPEs and run independently of the main core without any lock contention.
This design also benefits the 360. The 360 has 3 cores and these cores will also run more efficiently if the code/data is less dependent on each other.
This is how you get a game with a huge streaming map at 60FPS on both systems (even if the 360 frame rate drops a little bellow 60, most of the time it keeps up with 60 FPS).
But BP is not using the full power of the Cell because if it was then the 360 would not be able to keep it up at a similar performance.
Burnout Paradise is way above the average level of quality of a 360 game (or a PS3 game). Few (or even none) 360 games run at 720p/60FPS with a huge streaming world. The PS3 has a few games at this spec, I only recall Warhawk and Ratchet, both run at 720p/60FPS with streaming worlds.
Both systems have a huge potential but few companies that choose the 360 as the main platform care to optimize for the tripple core/tripple vector unit on the 360 and end up with less efficient code. Most companies will choose the easy way: to use software locks and threads.
Criterium did a good job on both systems, that is a fact :)
Also so you guys know, the Cell CPU has a main core with 2 hardware threads (like the old Intel hyper threading CPUs), each of these threads has it's own independent pipeline and registers but they share a single cache and a single vector unit. The 360 has 3 full cores, each with it's own vector unit, registers and independent caches.
So, without the SPEs, the 360 CPU is up to 2x faster than the main Cell core. But the Cell still has 8 SPEs (1 is reserved and not available for games) that can be used, and when they are the results are visible. If you guys remember, some games ported from the 360 to the PS3 had a few frame rate issues (Vegas is one of them). It still runs at 30 FPS but it dips a little in some parts. This game does not use the SPEs at all, so we can only assume it was not optimized for 360's tripple core either otherwise it would run much slower on the PS3 (after all the main core of the PS3 is about 50% the performance of the 360 cpu) and they run about the same.
I've been playing with the SPE (using Linux/Cell SDK from IBM) and I'm always amazed how much power this things have. Just think about this, each of these things can do 4 single-precision operations per clock cycle, that is 3.2Ghz * 4 or a theoretical peak of 12.8 billion single-precision operation per second for each SPE.
It's a lot of power to be tamed :)







