Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

First theoretical question. What is better (faster)? Develop your own gpgpu techniques for physics simulation (cloth, fluids, colisions...) or to use PhysX?
(If i say develop i mean implement existing algorithms like navier-strokes...)

I don't care about what will take more time to develop. What will be faster for end user? As i understand that physx are accelerated through PPU units in gpu, does it mean that physical simulation can run in paralel with rastarization? Are PPUs different units than unified shader units used as vertex/geometry/pixel/gpgpu shader units?

And little non-theoretical question: Is physx able to do sofisticated simulation equal to lets say Autodesk's Maya fluid solver?

Are there any c++ gpu accelerated physics frameworks to try? (I am interested in both physx and gpgpu, commercial engines are ok too).

Edit: Simulation does not have to be realtime i'm thinking just about acceleration.

share|improve this question
up vote 2 down vote accepted

If you have a "special case" where you know exactly what you want, then in theory you should be able to at least match, if not beat for your scenario, one of the generic physics engines that run on the GPU. Will you write something that beats the off-the-shelf solution in a short amount of time, no. They've got a lot of smart people doing nothing but that for a long time (plus the GPU manufacturers helping them out to optimise).

The physics simulation will not run in parallel with rasterisation on the same graphics card (it's the same hardware used for vertex/pixel processing). If you have 2 cards then I think that's the ideal scenario for doing both physics and rendering via the GPU (unless you have very basic visuals that leaves a lot of spare time on your fast GPU).

I've not used any of the GPU physics systems myself, however I'd expect PhysX to be designed for performing real-time simulation work, where Maya's fluid solver doesn't have to work in real-time and can therefore run a much more sophisticated simulation, however the only thing stopping PhysX being able to match it would be how long it takes to do the simulation.

share|improve this answer
Thank you for your answer. Especialy for clearification about paralelism of physx and rastarization. – Notabene Jan 6 '11 at 22:57
It's also easy to get confused with PhysX and thinking the GPU has a PPU onboard to handle physics. They used to do a separate Physics PPU acceleration card for PC's back when they were Ageia. They were since bought by NVidia who was interested in having acclerated GPU physics of their own. – Roger Perkins Jan 7 '11 at 0:05
Thanks again Roger – Notabene Jan 7 '11 at 19:55

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.