tr>
Squilliam said: One of the many reasons why its harder to port PS3 -> PC is because the PS3 CPU and GPU work much closer together, and that arrangement doesn't work on the PC architecture. The PC architecture lacks the floating point performance on the CPU to run the same functions there and thus much of the code to run the graphics subsystem has to be rewritten for a start. Furthermore there is far less bandwidth and far more latency between the CPU/GPU on the PC architecture than on the PS3. The Xbox 360 still does some calls to the CPU for rendering as well, but it isn't nearly as significant and it can be changed quite a lot easier. Farcry 2 from the PC to 360 used 2-3 programmers, to the PS3 it used 14 programmers to illistrate the difference.
If a developer doesn't want to push either system heavily, theres still no incentive to go PS3 -> 360 when the Xbox 360 SDK is far easier to use. If the developer wants to push both systems heavily theres still a requirement to nail down the memory management on the CPU and use the VMX units which both translate to good performance on the PS3 as well. SPE -> VMX or VMX -> SPE it really doesn't matter which way it goes AFAIK.
From what I can tell, a hybrid approach is also very popular. For example, leading on the 360 with most code and giving the PS3 seperate attention where it counts such using the RSX and SPEs together to give relatively equal performance. |
I agree with you, with regards to rendering pipelines -- the PS3 stands to gain a great deal from utilizing its SPEs to assist the RSX, whereas the X360 and PC GPUs don't really benefit from their CPUs. The PS3 rendering pipeline needs to be much different, in this regard.
The rendering pipeline, however, needs to be different no matter what architecture you start on, and it is far from comprising the entire game engine. Far from. I was trying to put forth that the "non-rendering" portions of the game loop -- the CPU centric stuff -- stand to benefit a great deal from asynchronous design, and that this is the reason the PS3 makes the most sense as a starting platform.
The part I bolded, about the X360 SDK being somehow superior to the PS3, is just plain wrong. They are 6-of-one, half-dozen of the the other. It has nothing to do with the SDK, and everything to do with the underlying engine architecture. Asynchronous engines are more complex -- the PS3 SDKs are not more difficult to use. Both systems have excellent debugging and profiling tools, compilers, etc. Both systems have some issues, and both parties are constantly working to improve these conditions. Microsoft's tools are cleaner looking, but honestly, they are not more functional or useful, and frankly, they can be, like many MS apps, resource intensive and bloated, whereas the Sony tools, while often not so shiny, also lack the bloat of their MS counterparts.
The point of my post above, where I illustrated some sample engine schemes, was to demonstrate that there is an "easy road" ont he X360, that is not available on the PS3 (the middling 2nd case), whereas the PS3 has only 2 of the three options available -- the 1st (slow), and the 3rd (really fast). The 360 also benefits from the 3rd case, and thus, my standpoint, and I believe EA's standpoint as well.