Page 2
FiringSquad: Sure, we’d love to see the presentation, as we’re curious how GPU-based physics differs from PPU-based physics powered by AGEIA’s PhysX chip. We’re also curious, which portion of the GPU is being used for physics? The pixel shaders or the vertex shaders? With 48 pixel shaders onboard the X1900 I would imagine it would be better suited for Havok FX than GeForce 7 if the pixel shaders are being used.
Will Willis: Physics on the GPU essentially uses the same graphics pipeline used for rendering 3D, but makes use of the pixel shaders as opposed to the vertex shaders. The 48 pixel shaders definitely contribute to the strong performance of ATI's GPU, but really it's ATI’s handling of dynamic flow control that's spurring the difference in the benchmarks.
Dynamic flow control helps with branching -- the conditional statements like "if", "then" and "else" that detect whether something is bumping into something else, and then what should happen if it is (as an example).
ATI’s architecture supports much smaller thread sizes, basically meaning we have to analyze a lot less data in order to figure out what’s bumping into what. This means that stuff like individual strands of hair moving differently than any other strand or pebbles bumping into each other and running off in all different paths can be calculated much more efficiently. Put into practice, it means that a game developer could calculate and then render a lot more detail on ATI hardware than competing hardware, delivering a much more dynamic and realistic gaming experience.
FiringSquad: I guess another question we’d like to ask is what are your thoughts on AGEIA’s PhysX processor? I get the feeling that the GPU-based physics isn’t directly competing with PPU-based physics, in some ways they’re more of a complement to each other. NVIDIA made it pretty clear that their solution doesn’t involve gameplay objects. Could you elaborate on that?
Will Willis: Hey Brandon, that’s actually a very interesting topic. Ageia has positioned their solution as one where physics affects gameplay elements rather than effects elements, but that’s actually the end game for everyone. In actuality, right now the only thing they’re doing is physics effects on the PPU, and everything they’re doing we can do on the GPU.
Ageia’s PhysX physics processing unit is a very interesting approach to game physics. That said, ATI believes that we can provide an unrivalled, higher performing solution using our GPUs whereby developers can leverage gamers’ existing hardware rather than requiring additional components.
Our solution is also more flexible, being equally capable of handling 3D graphics or processing physics so that it’s always in use. (Try asking Ageia if they can use their PPU to help render 3D graphics…). The last few slides of Raja’s presentation look at time slice and task slice modes – time slice is where you have one GPU and use the extra cycles in a frame to render physics for example, and task slice is where you have two GPUs (say two X1900XTX’s or maybe a X1900XTX and an X1600) where one GPU does 3D rendering and the other does physics. These are models that allow gamers to maximize the value of their hardware, and that’s a differentiating point for handling physics on the GPU.
As for performance of the PPU vs. the GPU, the issue is one of efficiency and processing power. We think that even if Ageia’s PPU has 100% processing efficiency and ATI’s GPU has 80% efficiency, if the PPU only has 100 Gflops of processing power, and we have 375 in our GPU, we’ll still have a higher performing solution (those numbers are just examples, not proven stats, but I think you can understand how we’re looking at this).