By using this site, you agree to our Privacy Policy and our Terms of Use. Close

@ Deneidez

CELL can't help RSX easily


Let's look at what the experts have to say.

B3D: Cell's ability to assist RSX in rendering operations has been a topic of much debate and speculation of late. Was Cell used in Motorstorm to perform any lighting, vertex, or other transform work?

Scott Kirkland (Motorstorm): We don't use the Cell's SPUs in this way at the moment. All of our lighting and transformation work is done in the RSX's pixel and vertex shaders.

"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. "

Insomniac:

""1. Transfer some of the load from the GPU to the SPUs.

2. Minimize complexity of the GPU Shaders. i.e. Rather than making more GPU vertex shaders, or more complex GPU vertex shaders, we'll just edit the data directly from the SPU before the GPU gets it. This allows us to "disguise" complex vertex shader code as a simple shader from the GPU's perspective.

3. Run parts of the complete vertex shader code at different rates. An (SPU Vertex Shader, or Pre-Vertex Shader) does not necessarily have to run in lock-stop with the (GPU Vertex Shader). It could run at half-rate or lower, depending on the data and the need.

We're still experimenting with different approaches and places to do this, but we've had good success so far. For example, we used this idea in RCF to handle UV animations - textures weren't animated on the GPU, the UVs were animated before the stream got to the (GPU Vertex Shader) so it could use the same GPU shaders as any stream that did not have UV animation."

SCE Studio Liverpool:

"The SPUs are heavily involved in the graphics pipeline and do an enormous amount of work to eliminate inefficiency before anything arrives at the PPU and RSX. For example, the SPUs are powerful enough to decompress and check every triangle [polygon] before passing it on to the RSX. Triangles that are facing away from the player, or that are not on the screen can be 'trimmed' away by the SPUs, which hugely reduces the amount of redundant work sent to the RSX. This in turn lets the RSX get on with what it does best--drawing stuff on screen.

The SPUs can also be used to augment the RSX vertex shaders, making far more vertex-heavy tasks possible which is very useful for character animation. Additionally, the SPUs can be used to implement behavior very similar to geometry shaders--F1 CE uses them in this way to render seamless interpolated levels of detail for some scene elements. So in answer to the question "Do the Cell and RSX work together?" the answer is a resounding "Yes," and I think this is one of the real strengths of Playstation 3 that we'll see increasingly exploited by development teams going forward."

Housemarque (Super Stardust HD):

"We probably draw about twice the number of objects compared to the original game. We are pretty close to maxing out the RSX, but in our next game we will still push the chip more. Currently we do not use SPUs to pre-process the geometry for RSX — that will make a major difference. I estimate that we can further boost the graphics performance by 50%."

GG (Killzone 2):

"We’ll show how we utilize PS3’s SPUs for fast rendering of a large set of primitives, parallel processing of geometry and computation of indirect lighting. We will also describe our optimizations of the lighting and our parallel split (cascaded) shadow map algorithm for faster and stable MSAA output."

Naughty Dog:

"One of our first goals when we started Uncharted: Drake's Fortune was to push what's been done in animation for video games. We developed a brand new animation system that took full advantage of the SPU's. Nathan Drake's final animation is made of different layers like running, breathing, reloading weapons, shooting, facial expression, etc; we end up decompressing and blending up to 30 animations every frame on the SPU's."

"The main thing about the PlayStation 3 is the Cell processor and more specifically the SPU's. We are only using 30 percent of the power of the SPU's in Uncharted. We've been architecting a lot of our systems around this and we were able to take full advantage of that power. A big part of our systems is running on SPU's: scene bucketing, particles, physics, collision, animation, water simulation, mesh processing, path finding, etc. For our engine, the cool thing about having the SPU's is the fact we can minimize what we send to the RSX (the graphic chip), it allows us to reject unnecessary information and get the RSX to be very efficient. "

Wtf are you talking about? :D

(Yeah, I am dev who is stuck with PC, because no money for devkits. Actually I wouldn't even want to do anything for any console. Way too restricted platform.)


XNA developer?



Naughty Dog: "At Naughty Dog, we're pretty sure we should be able to see leaps between games on the PS3 that are even bigger than they were on the PS2."

PS3 vs 360 sales