Alot Multiplats dont even touch on the SPE's , if coded to use the SPE's properly, thats what accelerates the visuals, physics and effects into something like Uncharted 2 or Killzone 2.
But code which is optimised for RSX+CELL runs better than the same Code optimised for Xenon+ Xenos.
PSGamerforlife
Examples of multi-platform games that uses SPEs. Far Cry 2
"The R&D revealed some pleasant surprises, as Guay explained: "One thing that we realized pretty quickly as we started R&D on PS3, was that the hardware architecture had a very nice fit with some of our technical design decisions. We were positively surprised by how efficient the SPUs (the Cell processing units) were to do such things as run our vegetation simulation, our animations or our physics systems."
Source: http://www.videogamer.com/ps3/far_cry_2/news-7481.html
----
Unreal Tournament 3 (Unreal Engine 3)
"Also, Epic isn't a huge company. They don't have unlimited resource. We have parachuted in some of our SWAT team of super engineers to help them. Specifically, to optimize for SPUs, which are the point of difference that the Cell Processor has. That process is under way. The benefits that it yields to end developers whether they're writing exclusive titles or multiplatform titles is that the performance on PS3 goes up exponentially, and it will make for a much better game experience."
Source: http://www.gameinformer.com/News/Story/200707/N07.0719.1908.25222.htm
----
Warhawk
"Although I would say it's the sum-total of all of our natural phenomenon in the game. Our clouds, procedural water, atmospheric scattering, terrain, etc. All of this stuff runs in parallel on all 7 SPUs simultaneously every frame – I'm still not sure if the game community is giving enough credit to just how fast the SPUs really are."
Source: http://blog.us.playstation.com/2007/07/05/inside-the-developers-studio-dylan-jobe/
----
Motorstorm
"SPU usage is a good example. The progressive development of corresponding debugging and profiling tools made thorough exploitation of this powerful resource quite challenging for the less technically biased members of the team. In the aftermath of MotorStorm, with mature tools at our disposal, we've been developing mechanisms to make the PPU and SPU's power and parallelism far more accessible to our entire team, re-thinking data organization and algorithms in the process. MotorStorm only uses between 15 and 20 percent of available SPU resource, so we're aiming to achieve a 5 fold increase in SPU performance, which should allow us to do some awesome stuff!"
"Our SPU exploiting systems consist of:
i) Havok physics.
ii) Determination of object visibility.
iii) Concatenation of hierarchies.
iv) Billboard object culling and vertex buffer creation.
v) Updating of particles and vertex buffer creation.
vi) Updating of vehicle dynamics.
vii) Updating of vehicle suspension constraints.
viii) Audio (MultiStream).
ix) Video decoding."
"If by cooperative rendering you're referring to SPUs supporting the RSX, I strongly believe that this approach will become far more widespread. In addition to reducing the vertex load on the RSX through the use of culling and vertex pre-processing, this approach also provides an efficient mechanism to introduce procedural geometry.
Historically, CPUs have provided course grain scene culling using view frustums, occlusion planes, portal visibility and BSP-trees with GPUs left to perform fine grain rejection using guard band clipping, occlusion and backface culling. While such features improve fragment performance, they don't reduce vertex processing overhead.
The leap in performance provided by Cell gives us the bandwidth to significantly reduce RSX time spent processing vertices that don't contribute to the final scene. The favoured approach is to use SPUs to generate minimal scene/instance specific index and vertex buffers from compressed data."
Source: http://www.beyond3d.com/content/interviews/38/
Since RSX is based on G70,Read
http://www.nvidia.com/object/IO_37100.html PDF Page 31,39, 32
Design flaws with G7X vs G8X from NVIDIA.
There's a programming paradigm called "object oriented" or modularization. Also, there's thing called "middleware". Google them up if you don't know them.
Log in to comment