Исправление бага с утечкой памяти в box2d (memory leak solution, b2vec2)

В обработке контактов в box2d 2.1a есть баг, из-за которого память иногда безгранично наполняется объектами b2Vec2, а тела и их userData после удаления не собираются GC

Эта тема уже не раз поднималась, в т.ч. на официальном форуме бокс2д, но только сегодня мы совместными усилиями его локализовали и исправили :)

Итак, box2d memory leak contacts patch: rar архив
Распаковывать в папку над папкой Box2D

патчит файлы:
Box2D/Dynamics/Contacts/b2Contact.as
Box2D/Dynamics/Contacts/b2ContactFactory.as

если у кого-то класс b2Contact модифицирован, можете пропатчить вручную, нужна только одна строчка:

b2internal var m_swaped: Boolean = false;


подробнее от ViZgl:

p.s. если кому-то вдруг интересна история поиска бага, посмотреть её можно тут: flashgamedev.ru/viewtopic.php?f=6&t=4648

Комментарии (5)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.