Hey guys,
Looks like what you would expect when someone prepares propaganda for his own commercial baby using their own proprietary closed source test tool and methods.
Now that's rich. It's not my baby. There are actually a lot of things I disagree with or don't like in PhysX. If you go this way, my baby is Opcode.
As for the proprietary test tool and methods, dude, feel free to run your own benchmarks and publish your own results. The closed source thing is just a good excuse to justify people's laziness. I don't need to reveal to the world the fiercely guarded secret of how to create a box stack in Bullet, do I?
I do find it very interesting commercial PhysX being defensive and apparently threatened by the free, permissive, and open source Bullet.
You are completely misreading it. We don't feel "threatened" by Bullet at all. However I do feel
pissed off by people claiming that Bullet is more optimized than the CPU version of PhysX. That's the only reason why I included Bullet in these graphes, as I clearly explained. I need a link to point people to, for the next time I read some BS on some forum.
Sadly for Pierre and his colleagues, PhysX's restrictive licensing, and nVidia's territorial hardware shenanigans really hurt devs and end-users, and therefore PhysX adoption by many.
PhysX adoption looks fine to me. I may be completely wrong but it looks like a lot of actual games are using PhysX. On the other hand I don't see a lot of games using the open source competitors...
In any case I will try Erwin's suggestion for the last test, and update the post. For the other things though, if they're "not optimized" or "far from optimal", then I'm afraid my results are valid and I must keep them. That's exactly the reality check I needed for people still claiming that PhysX is not optimized. I think you understand this.
Other than that, I use a default collision margin of 0.04 for all shapes. I think I got that number from a Bullet sample, not sure. I don't think changing this value changes the performance much anyway. Seriously, I did try to make Bullet as fast as I could. There's a UI in which I can tweak all these options, and I actually selected the ones giving me the best performance/behavior (friction dir caching, warm starting, no split impulse, no randomize order for constraints, DBVT). ERP is 0.2, ERP2 is 0.1, margin is 0.04.
As for Bullet 3, I'm sure it will perform better but that's kind of irrelevant, isn't it? So will PhysX 3.4 and Havok X.Y, at which point we need to run the benchmarks again and see what we get.