The “Mt” versions of Libbulletjme use lightweight worker threads (created using OpenMP) to parallelize certain loops involved in stepping a PhysicsSpace
. For applications with a single PhysicsSpace
, I believe they are thread-safe.
The “Mt” option is intended to boost performance on multi-threaded CPUs. For the workload I tested, the performance gains were moderate, and they topped out at 2 threads, perhaps due to limited memory bandwidth. (It didn’t help that significant portions of the Bullet algorithm are inherently serial.) Due to incompatibility between Xcode and OpenMP, I haven’t got “Mt” working for MacOS.
The only Minie releases that include multithreaded Libbulletjme are the ones with the “+mt” in their names, starting with “Minie-4.3.0+mt”.
More details can be found in the original Forum topic.