категории | RSS

Вышел Box2D 3.0

Состоялся релиз Box2D 3.0 — открытого физического движка для работы с двумерными объектами, разрабатываемого на Visual C++ под Windows.

Новая версия использует гибридный спекулятивный и time of impact подход. Он имеет следующие преимущества:

полигональная оболочка больше не требуется;

минимальные паузы в движении;

задачи можно решать параллельно;

поддерживаются пули.

В Box2D 3.0 полностью обновили API. В нём нет классов C++ и минимально использовались макросы. Все внутренние данные скрыты в каталоге src, что делает общедоступные заголовки include меньше и проще для чтения.  

Разработчик перешёл с C++ на C. Он решил уделить основное внимание многопоточности и SIMD. Его вдохновил дизайн потоков bepu, и он выбрал Tracy, опираясь на enkiTS для управления потоками и пулом задач. Также был реализован набор инструкций процессора AVX2.

Версия 3.0 поставляется с Soft Step, который более стабилен и обрабатывает более длинные цепочки тел, более крупные стеки и так далее. 

Разработчик смог повысить точность алгоритмов, и теперь симуляция хорошо работает в мирах размером до 20 км. 

Он представил консольное приложение для бенчмаркинга, которое выдаёт файлы CSV и показывает, насколько хорошо v3 масштабируется с количеством ядер и различными процессорами, если они совместно используют кэш L2/L3. Тесты показывают, что новая версия более чем в два раза быстрее v2.4.

О том, как создать собственный физический 2D-движок, можно почитать здесь.



Источник новости: habr.com

DimonVideo
2024-08-12T18:50:05Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика