View Full Version : F1 Championship Edition on PS3 - Tech Details Emerge
DangerousDaze
02-14-2007, 01:08 PM
In this excellent, in-depth interview (http://ncroal.talk.newsweek.com/default.asp?item=486210) with Sony's Studio Liverpool (and that's UK Liverpool, ladies and gentlemen), Game Director Graeme Ankers spills the real nitty-gritty on how they're using the various components within the PS3 to maximum effect. On the infamous synergy of CELL central processor and RSX graphics processor...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.Interesting place to perform back-face culling! Naturally a Sony studio is going to big this up to high heaven, but does that make it any less compelling? I put it to you that it does not.
DanAmerson
02-14-2007, 02:38 PM
I'll propose that it does make it less compelling. Back-face culling has traditionally been handled and should be handled quickly and efficiently by the GPU. What you have in that article is an example of a good developer making up for a deficiency they perceived in the GPU, not a strength of the overall architecture. I think it's awesome that the SPUs can assist the GPU in this way, but they shouldn't have to.
The more interesting bits of the article were using the SPUs for continuous level of detail and using the PS3 dev kits themselves as part of the asset production pipeline. That's cool, compelling stuff.
dba
Tinderbox
02-14-2007, 02:47 PM
Didn't seem to help it's reviews any. Edge gave this a 4 out of 10.
DangerousDaze
02-14-2007, 02:47 PM
The reason why I pointed that particular part out was mainly in response to a recent argument as to whether the architecture was fast enough for the two processors to cooperate in this fashion, but I disagree with your comment in any case. GPUs have traditionally performed BFC and clipping operations because the main processor simply couldn't. There's no rule that says it has to be performed by the GPU, especially when it could be doing something more interesting instead. This is essentially what the PS3 architecture is all about.
JazGalaxy
02-14-2007, 02:49 PM
Humerously I remember reading an arcticle on the Nintendo 64 when it first came out, and it read almost word for word the same.
claws
02-14-2007, 02:55 PM
GPUs have traditionally performed BFC and clipping operations because the main processor simply couldn't.
It's not that they couldn't, it's just more efficient to use the GPU. I can't see why you'd want to waste precious SPU power doing this. I heard the rumor that was done to compensate for the 'weak' GPU, but I never believed it.
As DanAmerson says, it's cool that they're using the PS3 to calculate the visibility data.
DanAmerson
02-14-2007, 03:01 PM
The reason why I pointed that particular part out was mainly in response to a recent argument as to whether the architecture was fast enough for the two processors to cooperate in this fashion, but I disagree with your comment in any case. GPUs have traditionally performed BFC and clipping operations because the main processor simply couldn't. There's no rule that says it has to be performed by the GPU, especially when it could be doing something more interesting instead. This is essentially what the PS3 architecture is all about.
You are correct. There is no reason why you absolutely have to perform backface culling on the GPU. I'll maintain my assertion, however, that it should be done there.
Like I said, I found the continuous level of detail comment more compelling. It's a better example of how the SPUs feed the RSX.
dba
They're running out of SPUs fast with all these kludgy workarounds. And Sony said it would be a dream to develop on.
DangerousDaze
02-14-2007, 03:18 PM
They're running out of SPUs fast with all these kludgy workarounds. And Sony said it would be a dream to develop on.
That's an interesting point. I note that they don't statically allocate specific tasks to SPU's, rather they queue operations on (what I assume is) a round-robin basis. Did we ever find out whether every PS3 has the same amount of working SPUs (taking failure rates into account)? This method would allow the game to run on just one SPU but with horrendous tradeoffs elsewhere. As for the dream, I've had stranger. ;)
Eliminating the number of triangles that have to be transformed and drawn has huge benefits for the bandwidth limited (and apparently the triangle setup is expensive on it as well) GPU.
It's great that the Cell SPUs are fast enough to be able to do this and it's a shame we won't be able to see how this game would perform on the 360 where other optimizations would be needed.
Gonna take a year or two before multiplatform games start doing the same optimizations that first party or exlusive titles do. Even though this is a pretty good optimization that doesn't require as complex an implementation that a physics or animation solution would require on the SPU.
AFAIK all parts with only 1 duff SPU were PS3 binned when ramping up for launch.
DangerousDaze: All PS3s have 8 SPUs.
1 eliminated for redundancy.
1 used by the PS3 OS for security at all times.
1 that can be taken by the PS3 OS for custom tasks however I believe this third SPU is not stolen unless the game developer initiate a certain function in their game, like video playback or videochat etc.
So 5 for the developers. 5 3.4 Ghz RISC CPUs that have extremely high bandwidth to their local memory.
The problem will be to fill those 5 CPUs with data and code.
Sony uses a Job Manager that basically just allocates SPUs for tasks, lets them operate. Queues new jobs etc. Important piece of code that, mustn't stall the main threads and mustn't starve the SPUs.
Tel Prydain
02-14-2007, 03:27 PM
It's interesting, but not mind-blowing.
DangerousDaze
02-14-2007, 03:27 PM
Great information, thanks. :)
I said that in about 10 words.
Kamalot
02-14-2007, 03:39 PM
On the Dreamcast, backface culling happened automatically, in hardware, freeing developers to worry about other aspects of game development.
In this day and age, developers should have better things to spend their effort on instead of writing custom culling applications.
JimmyDanger
02-14-2007, 03:43 PM
DangerousDaze: All PS3s have 8 SPUs.
1 eliminated for redundancy.
1 used by the PS3 OS for security at all times.
1 that can be taken by the PS3 OS for custom tasks however I believe this third SPU is not stolen unless the game developer initiate a certain function in their game, like video playback or videochat etc.
So 5 for the developers. 5 3.4 Ghz RISC CPUs that have extremely high bandwidth to their local memory.
The problem will be to fill those 5 CPUs with data and code.
Sony uses a Job Manager that basically just allocates SPUs for tasks, lets them operate. Queues new jobs etc. Important piece of code that, mustn't stall the main threads and mustn't starve the SPUs.
SPU's, CPU's - SPE's is the correct term isn't it?
DangerousDaze
02-14-2007, 03:44 PM
I said that in about 10 words.
I was thanking you both. ;)
Siraris
02-14-2007, 04:26 PM
Humerously I remember reading an arcticle on the Nintendo 64 when it first came out, and it read almost word for word the same.
You mean the F1 game on the N64, with the realistic rain and physics? Or are you referring to the N64's SPU processors? Or about the N64's fabulous LOD capabilities?
mulligan
02-14-2007, 05:57 PM
On the Dreamcast, backface culling happened automatically, in hardware, freeing developers to worry about other aspects of game development.
In this day and age, developers should have better things to spend their effort on instead of writing custom culling applications.
The dreamcast GPU was tiled based, wich handles differently that regular architectures, poly rendering is done when all the data has been collated for the actual frame in use, too bad its kinda problematic, but really neat.
Jack B
02-14-2007, 06:46 PM
DangerousDaze: All PS3s have 8 SPUs.
1 eliminated for redundancy.
1 used by the PS3 OS for security at all times.
1 that can be taken by the PS3 OS for custom tasks however I believe this third SPU is not stolen unless the game developer initiate a certain function in their game, like video playback or videochat etc.
Wasn't one of the SPE's eliminated to increase the chip yield?
Siraris
02-14-2007, 07:04 PM
Wasn't one of the SPE's eliminated to increase the chip yield?
That's what redundancy means.
The other two are speculative as to whether or not they are available.
oldjadedgamer
02-14-2007, 07:25 PM
Didn't seem to help it's reviews any. Edge gave this a 4 out of 10.
I saw the same thing. No tech in the world can save crappy gameplay.
Jack B
02-14-2007, 08:24 PM
That's what redundancy means.
The other two are speculative as to whether or not they are available.
It seems odd to take an SPE which could be put to good use by programmers and eliminate it's functionality and then call it redundancy... The eliminated SPE doesn't seem redundant to me, it would seem useful.
Sounds like a term created by marketing execs or chip designers, who fucked up and want to make it sound like it's no big deal. "Oh, we eliminated that $100 from your paycheck, because you already had 10 more $100 bills and it seemed redundant...". :D
Websters defines redundancy as
1 a: the quality or state of being redundant : superfluity b: the use of redundant components; also : such components chiefly British : dismissal from a job especially by layoff
2: profusion, abundance
3 a: superfluous repetition : prolixity b: an act or instance of needless repetition4: the part of a message that can be eliminated without loss of essential information
Vandenh
02-14-2007, 10:40 PM
The new trend... talk about how cool your game engine is, how many multi-threaded tricks you use, how awesome Cell is so people might forget that your game sucks. Reviews have been dire for F1.
Oh and BTW.... polygons you cannot "see" might still be used by the GPU to calculate other stuff like reflections or maybe even shadows. WTF would you not let the GPU handle this?
I can't see why you'd want to waste precious SPU power doing this.
It is not precious on the PS3. The SPU's (or SPE's?!) are extremely powerful. So they should offload whatever calculation they can. This is the good thing about the PS3 and it will show in a year or two. PS3 will have more detailed physics for sure and probably faster games when they optimize further.
It seems odd to take an SPE which could be put to good use by programmers and eliminate it's functionality and then call it redundancy... It's because of production yields. Many Cell chips have 1 or more SPU not working. So instead of throwing them out, they say 7 working SPU's is enough for PS3. It is common in the hardware business. nVidia/ATI does the same with pipelines on chips (using chips with some faulty pipelines for budget cards).
DangerousDaze
02-15-2007, 01:35 AM
I think the point I'm trying to get across here is that on a pure technical level these guys are proving that the PS3's architecture is capable of extending the render pipeline right out of the GPU and through to the CELL. Since the CELL is a much more general purpose processor this gives the developer massive flexibility.
I've not read the review in EDGE and to be honest it has no relevance to this thread (which is about solid information on how the PS3 can be programmed). To be perfectly honest I can't stand F1 games so the game itself doesn't interest me in the slightest.
Vandenh
02-15-2007, 01:40 AM
Since the CELL is a much more general purpose processor this gives the developer massive flexibility.
Exactly the opposite dude. Cell is a floating point monster, not a general purpose processor at all. It should indeed be used for better physics and I think we will see some novel games using this power. The fact that they have to extend the GPU seems very weird to me.
DangerousDaze
02-15-2007, 02:07 AM
Exactly the opposite dude. Cell is a floating point monster, not a general purpose processor at all.
Now you're splitting hairs. :p It's entirely suited to video and audio processing regardless of how you slice it.
I think it's quite funny that they're hyping old tech like BFC as if it's something new. OK, so they're doing it in a different thread...so what? I remember reading articles where pc dev's were saying (iirc) they didn't even bother with it anymore because it was faster just to draw everything than to run a culling thread in between.
-edit-
And the CELL might be good for a/v, but that does not make it a general purpose processor monster...in fact, due to it's in order way of doing things, it's exactly the oposite, like Vandenh says.
Vandenh
02-15-2007, 02:54 AM
Audio and video processing is not general purpose. :)
General purpose is a Core 2 Duo CPU for example. Jack of all trades, master of none. Cell is weak in general purpose, master of floating point.
But I guess I know what you were trying to say ;)
they didn't even bother with it anymore because it was faster just to draw everything than to run a culling thread in between.
True... but maybe on Cell culling is faster than drawing?
Lol...editing tag :P I dropped out to edit your name in, you edited to quote :) BTW, is your handle from the dutch 'van den h(euvel or whatever)'?
Back on-topic: could be, could be...guess it depends on exactly how much polys are being cut that way and how much trouble the ps3 has drawing them...and just offloading to another core would speed things up, but it's not really something which can be done in parralel, I'd think, what with all the shaders etc which have to be calculated after the bfc is done (what I'm trying to say is: bfc would be done in parralel to...what?).
The bottom line is, that PS3 does indeed have some untapped potential. It is just a matter of time before the hardcore programmers figure out how to tap that power in an effective way. The above is one way to optimize and there will be more for sure.
I am not even a PS3 fan or anything. However I do feel the potential for a linux mediacenter on PS3 to be really cool. If I was to buy anything right now it would be a Wii. Perhaps I will buy a PS3 in one years time, when a mediacenter is polished, the optimized (fun?) games are released and when the price is right. They will probably make some pricecuts nearing the Halo3 release on Xbox360 to keep it competitive (just a guess).
DanAmerson
02-15-2007, 05:26 AM
Oh and BTW.... polygons you cannot "see" might still be used by the GPU to calculate other stuff like reflections or maybe even shadows. WTF would you not let the GPU handle this?
This would be determined per render of the object. For each camera angle that you render from, you transform into a normalized view space and perform the culling. Thus, when you render the reflection, you have a different set of front-facing triangles because you have a different camera angle.
dba
DanAmerson
02-15-2007, 05:27 AM
True... but maybe on Cell culling is faster than drawing?
I don't think there's a "maybe" involved here. If they are backface culling outside the GPU, it's only because it's faster that way.
dba
DangerousDaze
02-15-2007, 05:51 AM
Heh, I found a quote (Wikipedia (http://en.wikipedia.org/wiki/Cell_microprocessor)) that better represents what I was trying to say:Modern graphics cards have multiple elements very similar to the SPE's, known as shader units, with an attached high speed memory. Programs, known as shaders, are loaded onto the units to process the input data streams fed from the previous stages (possibly the CPU), according to the required operations.
The main differences are that the Cell's SPEs are much more general purpose than shader units, and the ability to chain the SPEs under program control offers considerably more flexibility, allowing the Cell to handle graphics, sound, or anything else.Your mileage with Wikipedia may vary so if you disagree with this quote go and exercise your right to reply by editing the Wiki. ;)
BTW, on the whole SPE/SPU thing, an SPE (Synergistic Processing Element) is a unit consisting of an SPU (Synergistic Processing Unit) and an MFC (Memory Flow Controller), which in turn is composed of a DMA controller with associated Memory Management Unit and an Atomic Unit used to keep the SPE synchronised with the PPE (basically a 64-bit PowerPC processor). So that clears that one up then. ;)
MrChaz
02-15-2007, 10:59 AM
Interesting, this was mooted by some game devs a while back.
What it come down to is if the can balance helping the RSX out without hampering of aspects of the engine. If they can then it really doesn't matter either which way.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.