physics engines: comparisons, performance tests, benchmarks

User avatar
leo
Posts: 11
Joined: Fri Apr 17, 2009 4:12 pm
Location: europe

physics engines: comparisons, performance tests, benchmarks

Post by leo »

Hi all.

I'm looking for comparisons, performance tests, benchmarks and similar documentation the following physics engines:

- Bullet
- PhysX
- JigLib
- Newton
- ODE
- Tokamak
- True Axis
- Havok
- Impulse-based dynamic simulation
- Simple physics engine
- ...

I know that Adrian Boeing did a very good job with the PAL software (http://www.adrianboeing.com/pal/index.html). Actually, I am not able to plot the graphs in the benchmark section (I tried with Opera!)...? May I'm just unable...

But still, the PAL documentation did not cover all my demands! [Therefore my entry]

What about performance of physics engines (under the same conditions):
- how long does it take to create a certain number of objects with a particular physics engine, and so forth ...
- is there proprietary hardware from the vending company available (NVIDIA PhysX) ...
- pros and cons (well documented/commented code) ...
- experience with the usage of a physics engine ...
- recommendations regarding robot simulations ...

Thank you for links, documents and other helpful information

Cheers Leo
aboeing
Posts: 33
Joined: Tue Jul 26, 2005 2:28 pm

Re: physics engines: comparisons, performance tests, benchmarks

Post by aboeing »

Hi Leo,

I would suggest using the PAL work as a starting point for your research. You can take a look at the original benchmark paper here:
http://apps.sourceforge.net/mediawiki/p ... blications

A more recent review is available here:
http://3dexperiences.blogspot.com/2008/ ... games.html

And Evan Drumwright has an COLLADA/PAL based benchmark system here:
http://www.adrianboeing.com/modbench/

The online benchmark graphs are broken for the PAL project at the moment, but you should be able to re-create the results yourself using the benchmark source code from the old CVS repository.

The newer version of PAL takes advantage of some hardware accelerations, so you can take a look at which engines implement that to figure out which have hardware support. (eg: GPU/SPU/multicore)

For robot simulations your choice will probably depended on what kind of situation you are simulating. (If you use PAL then you can dynamically select the best physics engine for the task at hand..)

To evaluate some of the other questions you have, I guess a few simple test cases coded in PAL would answer your questions quite quickly.

Cheers,
-Adrian