
Исправление бага с утечкой памяти в 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 модифицирован, можете пропатчить вручную, нужна только одна строчка:
подробнее от ViZgl:
p.s. если кому-то вдруг интересна история поиска бага, посмотреть её можно тут: flashgamedev.ru/viewtopic.php?f=6&t=4648
Эта тема уже не раз поднималась, в т.ч. на официальном форуме бокс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
- +17
- Stranger087
Комментарии (5)