Многопоточность в BulletPhysics / BulletSharp?

Может ли BulletSharp (или сам BulletPhysics, если вы не знаете о BulletSharp) работать в режиме многопоточности? Если да, где я могу найти соответствующие настройки? (например, вкл / выкл многопоточности, numOfThreads, ...)

примечание: BulletSharp - это оболочка C# для BulletPhysics.

PS: я знаю, есть вопрос, но: - нет исчерпывающего ответа - с того времени много воды утекло, - в современных версиях BulletSharp / BulletPhysics я не мог найти упомянутые классы.

Спасибо за любую информацию

1 ответ

Решение

Да, многопоточность в Bullet была недавно восстановлена. В BulletSharp P / Invoke 0.10 добавлена ​​многопоточность, и в демоверсии показано, как ее настроить.

Используйте CollisionDispatcherMultiThreaded, ConstraintSolverPoolMultiThreaded, DiscreteDynamicsWorldMultiThreaded вместо однопоточных классов и настройте некоторый доступный планировщик (OpenMP, PPL или TBB) в Threads.TaskScheduler.

Многопоточность будет добавлена ​​в BulletSharp C++/CLI в ближайшее время, если это то, что вы используете.

Работа над конвейером графического процессора в Bullet 3, кажется, остановилась, поэтому в настоящее время нет никаких планов поддерживать версию 3 в BulletSharp.

Другие вопросы по тегам