Blender Git Loki
Git Commits -> Revision e912ca9
Revision e912ca9 by Benoit Bolsee (master) August 21, 2008, 15:19 (GMT) |
BGE bug #17491 fixed: BGE, Dupli instance with different scale, massive slowdown. The root cause of this bug is the fact that Bullet shapes are shared between duplicated game objects. As the physics object scale is stored in the shape, all duplicas must have the same scale otherwise the physics representation is incorrect. This fix introduces a mechanism to duplicate shapes at runtime so that Bullet shapes are not shared anymore. The drawback is an increased memory consuption. A reference count mechanism will be introduced in a later revision to keep Bullet shape shared between duplicas that have the same scale. |
Commit Details:
Full Hash: e912ca9331d7f9637664e4588bdb72b0ebe76e5c
SVN Revision: 16204
Parent Commit: 4b9f5b2
Lines Changed: +420, -330
8 Modified Paths:
/projectfiles_vc7/gameengine/physics/PHY_Physics/PHY_Bullet/PHY_Bullet.vcproj (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp (+60, -278) (Diff)
/source/gameengine/Ketsji/KX_Scene.cpp (+0, -31) (Diff)
/source/gameengine/Ketsji/KX_Scene.h (+0, -6) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp (+275, -12) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsController.h (+69, -0) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp (+3, -2) (Diff)
/source/gameengine/Physics/common/PHY_DynamicTypes.h (+12, -0) (Diff)
/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp (+60, -278) (Diff)
/source/gameengine/Ketsji/KX_Scene.cpp (+0, -31) (Diff)
/source/gameengine/Ketsji/KX_Scene.h (+0, -6) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp (+275, -12) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsController.h (+69, -0) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp (+3, -2) (Diff)
/source/gameengine/Physics/common/PHY_DynamicTypes.h (+12, -0) (Diff)