Microsoft's Xbox 360, Sony's PS3 - A Hardware Discussion
by Anand Lal Shimpi & Derek Wilson on June 24, 2005 4:05 AM EST- Posted in
- GPUs
Xenon vs. Cell
The first public game demo on the PlayStation 3 was Epic Games’ Unreal Engine 3 at Sony’s PS3 press conference. Tim Sweeney, the founder and UE3 father of Epic, performed the demo and helped shed some light on how multi-threading can work on the PlayStation 3.
According to Tim, a lot of things aren’t appropriate for SPE acceleration in UE3, mainly high-level game logic, artificial intelligence and scripting. But he adds that “Fortunately these comprise a small percentage of total CPU time on a traditional single-threaded architecture, so dedicating the CPU to those tasks is appropriate, while the SPE's and GPU do their thing."
So what does Tim Sweeney see the SPEs being used for in UE3? "With UE3, our focus on SPE acceleration is on physics, animation updates, particle systems, sound; a few other areas are possible but require more experimentation."
Tim’s view on the PPE/SPE split in Cell is far more balanced than most we’ve encountered. There are many who see the SPEs as utterly useless for executing anything (we’ll get to why in a moment), while there are others who have been talking about doing far too much on SPEs where the general purpose PPE would do much better.
For the most part, the areas that UE3 uses the Cell’s SPEs for are fairly believable. For example, sound processing makes a lot of sense for the SPEs given their rather specialized architecture aimed at streaming tasks. But the one curious item is the focus on using SPEs to accelerate physics calculations, especially given how branch heavy physics calculations generally are.
Collision detection is a big part of what is commonly referred to as “game physics.” As the name implies, collision detection simply refers to the game engine determining when two objects collide. Without collision detection, bullets would never hit your opponents and your character would be able to walk through walls, cars, etc... among other things.
One method of implementing collision detection in a game is through the use of a Binary Search Partitioning (BSP) tree. BSP trees are created by organizing lists of polygons into a binary tree. The structure of the tree itself doesn’t matter to this discussion, but the important thing to keep in mind is that to traverse a BSP tree in order to test for a collision between some object and a polygon in the tree you have to perform a lot of comparisons. You first traverse the tree finding to find the polygon you want to test for a collision against. Then you have to perform a number of checks to see whether a collision has occurred between the object you’re comparing and the polygon itself. This process involves a lot of conditional branching, code which likes to be run on a high performance OoO core with a very good branch predictor.
Unfortunately, the SPEs have no branch prediction, so BSP tree traversal will tie up an SPE for quite a bit of time while not performing very well as each branch condition has to be evaluated before execution can continue. However it is possible to structure collision detection for execution on the SPEs, but it would require a different approach to the collision detection algorithms than what would be normally implemented on a PC or Xbox 360.
We’re still working on providing examples of how it is actually done, but it’s tough getting access to detailed information at this stage given that a number of NDAs are still in place involving Cell development for the PS3. Regardless of how it is done, obviously the Epic team found the SPEs to be a good match for their physics code, if structured properly, meaning that the Cell processor isn’t just one general purpose core with 7 others that go unused.
In fact, if properly structured and coded for SPE acceleration, physics code could very well run faster on the PlayStation 3 than on the Xbox 360 thanks to the more specialized nature of the SPE hardware. Not to mention that physics acceleration is particularly parallelizable, making it a perfect match for an array of 7 SPEs.
Microsoft has referred to the Cell’s array of SPEs as a bunch of DSPs useless to game developers. The fact that the next installment of the Unreal engine will be using the Cell’s SPEs for physics, animation updates, particle systems as well as audio processing means that Microsoft’s definition is a bit off. While not all developers will follow in Epic’s footsteps, those that wish to remain competitive and get good performance out of the PS3 will have to.
The bottom line is that Sony would not foolishly spend over 75% of their CPU die budget on SPEs to use them for nothing more than fancy DSPs. Architecting a game engine around Cell and optimizing for SPE acceleration will take more effort than developing for the Xbox 360 or PC, but it can be done. The question then becomes, will developers do it?
In Johan’s Quest for More Processing Power series he looked at the developmental limitations of multi-threading, especially as they applied to games. The end result is that multi-threaded game development takes between 2 and 3 times longer than conventional single-threaded game development, to add additional time in order to restructure elements of your engine to get better performance on the PS3 isn’t going to make the transition any easier on developers.
93 Comments
View All Comments
tipoo - Wednesday, August 6, 2014 - link
That was such bullshit. RSX was worth under 200Gflops, Cell about the same and much harder to extract that much from, Xenos was over 200, Xenon was around 100. Nothing was near the terraflop range except in marketing bullspeak.LanceVance - Saturday, June 25, 2005 - link
#59"Does every xbox game needs to be playable? No."
"How many of you still play your old games? Market research shows not a lot."
Backwards compatibility is a feature. It's just like any other feature on a mass market consumer product. Some people value it and others don't.
You clearly don't value that and won't consider it when making consumer decisions.
Other people clearly DO value that and you are trying to persuade them not to. That's none of your business. If people value a specific feature they have every right to consider it in their buying behaviors.
Sorry, I know this post has now gone way off topic from the original article of technical analysis. Beautiful article; but any open forum on such a political topic is doomed to degenerate into this.
knitecrow - Saturday, June 25, 2005 - link
software emulation is difficult and takes a lot of man power to get right.The main advantage for microsoft was that they didn't have to stuck with poor business and engineering design choices of the past.
Does every xbox game needs to be playable? No. I don't care for games like "big rigs"
I abviously want halo to work, but also the lesser known good titles on xbox ... like Panzer Dargoon Orta, Kingdom Under Fire, Otogi 1 & 2 and so on.
How many of you still play your old games? Market research shows not a lot.I have an 80+ games library for the xbox. I don't mind.
BenSkywalker - Saturday, June 25, 2005 - link
milomnderbnder21-They are flipping consumers off. Sony and Nintendo at this point are both adding costs to their consoles to incorporate hardware to make certain that their systems have full compatability with the prior generation. MS has decided that you and I are not good enough to offer that same assurance. They have decided to save themselves a couple of dollars and render useless all of their games they can't get running on their new platform so they can save a few dollars. They will take a shot at software hacks- if they don't work we are out of luck. They are also stopping production of current gen XBox hardware. I have about thirty games for my XB currently, what do I do with them if my XB dies and they aren't supported by XB360(which there is no assurance they will)? I keep my legacy hardware around, back to my 2600, and my games.
Olaf van der Spek - Saturday, June 25, 2005 - link
> Compared to the built in 5X CAV DVD drive in the Xbox, the hard drive offered much faster performance. With the Xbox 360, the performance demands on the hard drive are lessened, the console now ships with a 12X CAV DVD-DL drive.Aren't all read-only DVD drives dual-layer?
Starglider - Saturday, June 25, 2005 - link
I'm a game programmer and I take issue with the statement on page 4 that BSP collision detection benefits from branch prediction. It doesn't; it's one of the rare types of code where the branches are effectively impossible to predict. The algorithm /does/ benefit heavily from speculative execution, but as I understand it neither the XBox360 or the PS3 are capable of this. As such this is one area where PC style processors have an advantage; neither console is going to beat a modern PC at SuperPi.devilzblood - Friday, June 24, 2005 - link
altho this is my first post at anandtech, i have been reading ur articles from the geforce 3 launch.newayz.....im posting here coz im wondering if neone knos this.....what degrees do Anand and Derek hold?? they seem to be such a bank of information, i never thought it was humanly possible to know so much about computers..needless to say im impressed by u people..and all i would like to say about the article is that it was an informative and enjoying read
milomnderbnder21 - Friday, June 24, 2005 - link
#46MS is by no means "flipping off it's supporters" with regards to backwards compatibility. They have flat out stated that it is there goal that EVERY Xbox game be compatible on the 360, but they simply cannot guarentee it. In any case, look for a majority of them to be so. And if they can't get everything working, I'm not going to miss outlaw golf on my 360...
MDme - Friday, June 24, 2005 - link
#50Sony WILL support 1080p. They are supporting it so that they can BRAG about it. It's all about the hype, even if they only have 1 game supporting it, they will BRAG about it. heck, if you really think about it, if sony played a video (H.264) at 1080p then ran the game at 720p they will still claim, WE HAVE SUPPORT FOR 1080p. It's all marketing. Even X360 can claim this.
finbarqs - Friday, June 24, 2005 - link
bla bla bla, which one is better?