Updated to Beta 4:
-A few bugs in the general case convex raycast have been fixed.
-A few bugs in the general convex-convex collision detection case have been fixed. Some more settings have been exposed to control its behavior and performance. Currently, they are configured by default towards quality over performance. This means the general convex case is pretty accurate, but is a little slower than the box-box special case usually (but still much faster than it used to be, particularly on non-PC platforms). It can handle strange shapes and tough configurations.
If a simulation does not need the level of quality provided by default, you can reduce it in favor of performance.
-Try setting the PairSimplex.ProgressionEpsilon to a higher value (multiply it by 10).
-Try setting the GJKToolbox.HighGJKIterations to a lower value, such as 5 (defaults to 8 ).
Going too high with the ProgressionEpsilon or too low with the HighGJKIterations can cause jumpiness, particularly in harder configurations.
-Try setting the GeneralConvexPairTester.UseSimplexCaching to true. The simulation will be slightly more sensitive to changes in ProgressionEpsilon or HighGJKIterations. Careful tuning can make the simulation run 20-30% faster compared to the default settings without simplex caching.
Simplex caching tends to try and maintain the status quo when doing calculations. This can cause problems on some rounded-edge objects that are trying to settle. Imagine a rolling coin at the final stages of falling over. "Boxier" shapes with hard edges do not noticeably suffer from this.
There's still some improvements that can be made with these systems, but too much time has already been spent on it. Triangle special cases are up next for some more noticeable improvements
