I wanted to post this a few days ago, but I was tied up in something else.
Anyway, on with the report. Take notice that we don't know much about what the final design will be. So this prediction could very well be wrong:
Video games have pushed the computing envelope for years. Ever since Wolfenstein 3D exploded onto the scene in 1992, gaming performance has been a focal point of the performance characteristics of computer systems. In order to compensate for the ever building desire for faster games, graphics card companies began adding 3D acceleration to their hardware portfolio. First came the 3D only add-in card, and then later we saw the birth of the highly integrated GPU combining 2D and 3D functions on one chip.
AGEIA would really like the world to embrace the idea that a discrete PPU will do for physics what the GPU did for graphics. It is true that the complexity of physics in games has been increasing steadily for the past few years. The catalyst has been making physics easier for game developers. Innovations by companies dedicated to physics have produced software physics engines like Havok. This allows game developers to focus on their engines or games while using the latest in real-time physics as a back bone for user interaction.
Weíve seen the joy of ragdolls in recent titles. One of the coolest features of Half-Life 2 is the level of interaction the user has with the world. In any given level, there are plenty of objects to kick, knock or throw around. Who wouldnít want to be able to play with thousands of objects in any given level rather than tens? What about real looking clothing, hair, or water?
Sure, some approximation of these things can be done on todayís graphics cards. But itís not yet possible to have characters comb their hands through their hair realistic way. Clothing canít move or tear like real cloth. Fluids donít respond to splashes or movement in a proper way. The AGEIA PhysX PPU proposes to bring these features to a game near you.
One of the properties of graphics that made the feature a good fit for a specialized processor inside a PC is the fact that the task is infinitely parallelizable. Hundreds of thousands, and even millions of pixels need to be processed every frame. The more detailed a rendering needs to be, the more parallel the task becomes. The same is true with physics. As with the visual world, the physical world is continuous rather than discrete. The more processing power we have, the more things we can simulate at once, and the more realistically we can approximate the real world.
But as weíll see, there is more to it than simply parallel compute power.
In the beginning there was collision detection, and it was good. And then came some semblance of gravity. Over the years, more and more objects in the game world have become interactive and affected by the world around it. Now the game physics world has culminated in the ability to bowl for oil drums with floppy dead people.
Fast, efficient, rigid body simulation has been well developed over the past couple years. A rigid body is basically a single unit that does not deform due to physical interaction. Think of two billiard balls slamming into each other: the balls retain their shape. If one were to drop a billiard ball on a beach ball, we would see a much different reaction: the beach ball would contract and expand a great deal. In current games, we would treat the beach ball, and indeed everything else, as a rigid body object.
Any rigid body object can have a number of forces acting on it at a time depending on the complexity of the simulation. Each object also has its own properties that are used to determine how these forces affect the object. This can scale from simple (mass and shape) to complex (like data to describe how shape and mass distribution affect angular velocity) depending on how accurate the developer wants to make things.
Not much interesting happens if a rigid body is sitting on flat ground and not moving with nothing touching it. Interesting things start to happen when either the user interacts with an object, or multiple rigid bodies interact with each other. We can easily see how these interactions could get complex. Think of bowling or billiards. Now think a little more complex. What happens when a rocket hits a brick wall and all the bricks go flying? Currently, games generally use tens to about a hundred rigid body objects in any given scene. This is somewhat limiting when the game calls for large scale effects or destruction.
So, hereís the real question. Why wonít Intelís vision of multi and many-core processors be good enough to handle what a discrete PPU could handle?
Of course more parallel processing power will help no matter how it comes. But the deeper issue is data movement. The example AGEIA gave us to think about was a huge pile of bricks; when you push down on one brick near the top, forces are transferred to all other bricks in the stack. This may not be difficult on the scale to hundreds, but how about 30000 objects in a stack? How about keeping track of that while handling deformable (soft body) objects, fluids, and all collision detection in the scene?
The was all this needs to be handled is not simply with lots of parallel independent floating point power, but with lots of parallel floating point power connected by huge bandwidth. The fact that some initial Intel dual core chips will have to go off chip and back on to communicate, not as much performance is gained as possible. Certainly more parallelism is better no matter what, but itís the high bandwidth that clenches the deal.
AGEIAís background is in switched fabrics and networking hardware. The one of the keys to their chip is in the way PhysX is able to move high volumes of computed data internally. In order to find the forces on a brick in the middle of a stack thatís been kicked, the forces on all the bricks around it need to be updated.
Getting data into and out of the chip as fast as possible is important as well. For now, AGEIA is sticking with GDDR3 in order to benefit from the high volume (and lower costs) generated by the graphics market. It would be possible for the PhysX to benefit from higher bandwidth solutions like XDR, but for now it is important for AGEIA to minimize the cost/benefit ratio in order to succeed. The company philosophy at the outset is to follow what the graphics market does in terms of on card RAM.
We really donít know a great deal about the intimate details of the architecture, but a light weight parallel floating point with lots of communications is a good start. Weíve had several guesses at how the hardware works that have been confirmed wrong. But to paraphrase Edison, eliminating all incorrect paths leads to the goal.
It does seem obvious that all physical properties of objects can be uploaded to the hardware initially (like a graphics card does with textures and such) and manipulated/updated every time something changes. Weíll be bringing out as many details as we can as soon as we are able.
To sum up what the hardware will offer consumers at the outset, hereís what we are looking at: 32000 rigid body objects, soft body objects, fluids, particle systems (40-50 thousand particles), and collision detections. The end result will range from cooler special effects in games (explosions, cloth-like clothing, and massive particle systems) to totally interactive environments (where anything and everything can be pushed, pulled, thrown or otherwise destroyed in a realistic way).
Currently, rather than a direct hardware API, the features of the PPU will be accessed via the NovodeX SDK. This physics engine was bought by AGEIA and built to use either software physics simulation or the PhysX hardware. This gives developers some flexibility to develop software that works with or without the hardware.
AGEIA would like to have hardware support from other SDKs, but currently only their in house engine adds hardware support. Of course, there are already some games that are built using NovodeX. And more are coming. Epic and Ubisoft (among others) announced that they will be using NovodeX and building in support for hardware accelerated physics through the PhysX PPU. With future Unreal Engine 3 and Ubisoft games supporting a PPU, AGEIA has a good start ahead of them.
The hardware itself is a 125 million transistor chip built on TSMCís 130nm process. All we know about architecture is that itís built with lots of data moving capability by networking experts. Theyíve got parallel floating point hardware connected internally and externally to lots of bandwidth. The architecture is inherently different from that of current CPUs or a GPU.
We say itís different than current CPUs because itís possible that someone could integrate application specific physics hardware onto a CPU in the future. At the same time, there is one architecture on the horizon that could fit physics better than Intelís approach: Cell. The fact that SPEs are able to access each otherís local stores means that (depending on internal bus availability) sharing data between parallel tasks will be much easier. We will have to wait for more architectural details of PhysX and Cell to leak out before we can tell how good one is with respect to the other (for physics processing).
Consumer acceptance is key to the success of the PPU. And in order for people to accept the product, we will need to see other physics engine support (Havok would be nice) and, ultimately, games. In this case, people wonít be interested unless game developers embrace the hardware. Hopefully developers will see the potential in added physics power and will embrace the product for its ability to make their games better.
Right now, AGEIA is talking about pricing on the order of graphics card. They arenít sure of cost right now, but they could introduce multiple SKUs that fit different price points and have different processing power. It is more likely that weíll see one part come to the market place. If the PPU flies, we might see more variety.
At first, we canít expect a new genre of incredibly interactive games. The first few games that adopt the PPU will tack it on like the first few games that embraced hardware 3D. Weíll start by seeing effects enhancement (like more particles and objects go flying from explosions or some objects may get an upgrade to being deformable). If AGEIA has it their way, we will start seeing motherboards and notebooks integrating the PPU. If they can get good integration and acceptance of their add-in card, we might start seeing games that require a PPU and are really revolutionary with the level of user interaction allowed. AGEIA really wants to mirror the revolution that occurred with 3dfx, but it may be a better idea for them to separate themselves from that image considering how hard 3dfx fell from power.
Many people donít think a separate add-in PPU will fly. What about vendors dropping both the GPU and PPU on one card? Maybe if the add-in PPU doesnít stick around, we will one day see the birth of a ubiquitous ďgaming cardĒ that integrates graphics, physics, and sound onto one add-in board. Or if Intel decides that they need to go the extreme route, we may see integration of very application specific hardware that can handle tasks like physics processing onto the CPU.
We like the idea of the PPU a lot. But like plasma television (which has been around for decades), just because good technology exists doesnít mean vendors and consumers will adopt it. We hope PhysX or something like it leaves a lasting mark on the PC industry. As unpredictable as they are, itís about time we had another revolution in game design.
Physics Processor Unit
I heard Microsoft and AGIEA struck a deal a while back. Could it be possible that the Xenon will have one of those PhyX PPU's?
"Please understand that in cases where the OS itself is acting in an unstable fashion, this software could behave in unpredictable ways. Unfortunately, this happens to be the case at all times with Microsoft OS's." - Japanese PC game disclaimers!
Even though many may have denied it, I think they will. But that's me. If any of this is true, these consoles are going to be more amazing than what I thought.
Sony doesn't need a PPU(Physics Processing Unit), they have the Cell inwhich developers could assiagn physical calulations to specific cores inside the Cell instead of having to Worry about a whole'nother Chip. I'd imagine it'd also be slightly more effiecient. Especially if the Ps3 ends up having more then 1 Cell PU (Processing Unit).
Originally Posted by Viper
I know. That's why I bolded certain pieces of the artical. What they are touting about the PPU's performance could apply to the PS3 if not better without this technology. I expected great performance from all three consoles, but if what they say could be done on the PS3 without this technology, I'm thinking this console (or consoles) were clearly underestimated.Originally Posted by Omega Blue
I'd take that with a few planetesimal bodies of salt. I doubt it's anything more than porting NovodeX over to Xenon and/or designing an API structure for a "DirectPhysics" on the PC.I heard Microsoft and AGIEA struck a deal a while back. Could it be possible that the Xenon will have one of those PhyX PPU's?
I said it before, but I don't recall if I said here or on B3D... The PhysX PPUs wouldn't look all that attractive to game developers in general as we know them. If those PPUs were nothing more solver engines that accelerated things like LCP reduction, raycasts, etc. you have something reasonably interesting. The way AGEIA is implementing it, though, is that you basically have NovodeX on a chip. And unfortunately, that's not going to solve everybody's problems all of the time. If you had the more generalized solver accelerators, developers could at least tune physics to their own particular purposes and such. What do you think would happen to gaming physics if every developer on a particular platform had no choice but to use Havok as is with no modifications? It's essentially the same thing.
Cell phones have changed mankind. Finally, men have something they can flip out and argue "mine is smaller than yours."
Hey cpi, so you're finally on B3D? What handle do you go by there? Anyway I think your theory has been more or less confirmed - I forget where I read it, but my understanding is that the NovadeX physics ops will be running on one of the Xenon's cores when they are used/needed. It would really be kind of a waste to pay so much for something so pigeon-holed in it's range of applications.Originally Posted by cpiasminc
Respect to all those who debate their positions using facts and reason rather than rumor and passion.
programmers also need to evolve... dont expect much difference now, maybe in 1 year or so..Originally Posted by NakedJohnny
the visual difference you can expect its because Xbox2 =directX (sort of) and PS3 = OpenGL (to be confirmed?)
Nvidia has 3DFX staff on the company, 3dfx are OpenGL experts (Voodoo cards)
future is Bright
There are currently 1 users browsing this thread. (0 members and 1 guests)