The PS3's marketshare would have to fall well below half of what the 360's is, in order to justify the shift from PS3 development to 360 development again. Remember it only costs ~%10 of the overall dev cost to port a HD game from one to the other, and you get better results (on both platforms, according to many sources), if you start with the PS3.
I don't think that could happen by the end of the generation -- even if the 360 continues to outsell the PS3 for the entire remainder of the gen. It has nothing to do with the PS3, and everything to do with both HD platforms combined, ease-of-porting, and the end result -- thanks to the more rigid requirements of the PS3 also happening to yield gains on the 360, when adhered to.
Many 360 games, even released recently, only use 1 core, for the most part. If they were engineered to operate in parallel to begin with, using all three cores would be, potentially, a big benefit.
As an example, I'll throw out some random game loop concepts, to illustrate:
Game: 32 animated characters onscreen at once, bullets flying around, particle FX, big streaming physics environment, lots of music, sounds, etc., and of course, rendering.
Sample costs (in ms) per frame on a pretend 3.2 GHz PowerPC core ("core 0"):
- Game processing (32 characters + misc stuff): 4 ms
- character animation: 10 ms
- sound stuff: 2 ms
- streaming data: 1 ms
- particles: 3 ms
- raycasts (bullets, etc): 1 ms
- AI: 2 ms
- physics: 4 ms
- rendering prep (culling, shadows, etc. etc.): 15 ms
- Game processing (32 characters + misc stuff): 4 ms
- character animation: 10 ms ( split 3/4/3 so easy to make parallel, lets do it here)
- sound stuff: (2 ms -- on core 1, HW thread 0)
- streaming data: (1 ms -- on core 1, HW thread 1)
- particles: (3 ms -- on core 2, HW thread 0)
- raycasts (bullets, etc): 1 ms
- AI: 2 ms
- physics: 4 ms
- rendering prep (culling, shadows, etc. etc.): 15 ms
- Game processing (32 characters + misc stuff): 4 ms (2 ms core 0, 1 ms core 1,2)
- character animation: 10 ms (easy to make parallel.. 3 ms core 0, 4 ms core 1, 3 ms core 2)
- sound stuff: 2 ms (all core 1)
- streaming data: 1 ms (all core 1)
- particles: 3 ms (easy to make parallel and async.. 2 ms core 1, and 1 ms core 2)
- raycasts (bullets, etc): 1 ms (lets be lazy.. all core 0)
- AI: 2 ms (sometimes easy to make parallel.. 1 ms core 1, 1 ms core 2)
- physics: 4 ms (hard to make totally parallel.. lets be lazy and all core 0)
- rendering prep (culling, shadows, etc. etc.): 15 ms (8 ms core 0, 3 ms each, other cores)








