[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24364] trunk/blender/extern/bullet2/src: Fix for bug #19817: cloth simulation with collision slow on Mac.

Brecht Van Lommel brecht at blender.org
Thu Nov 5 20:06:29 CET 2009


Revision: 24364
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24364
Author:   blendix
Date:     2009-11-05 20:06:29 +0100 (Thu, 05 Nov 2009)

Log Message:
-----------
Fix for bug #19817: cloth simulation with collision slow on Mac.

The cause of this is in the bullet library, seems like some kind
of poor handling of many repeated allocations by Mac OS X, but the
allocation is unnecessary, so removed it.

Patch submitted to bullet:
http://code.google.com/p/bullet/issues/detail?id=303

Modified Paths:
--------------
    trunk/blender/extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp
    trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h
    trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h
    trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
    trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h
    trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp
    trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
    trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h
    trunk/blender/extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp

Modified: trunk/blender/extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp
===================================================================
--- trunk/blender/extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp	2009-11-05 19:06:29 UTC (rev 24364)
@@ -202,7 +202,6 @@
 		input.m_maximumDistanceSquared*= input.m_maximumDistanceSquared;
 	}
 
-	input.m_stackAlloc = dispatchInfo.m_stackAllocator;
 	input.m_transformA = body0->getWorldTransform();
 	input.m_transformB = body1->getWorldTransform();
 

Modified: trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h
===================================================================
--- trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h	2009-11-05 19:06:29 UTC (rev 24364)
@@ -33,7 +33,7 @@
 		const btConvexShape* convexA,const btConvexShape* convexB,
 					const btTransform& transA,const btTransform& transB,
 				btVector3& v, btVector3& pa, btVector3& pb,
-				class btIDebugDraw* debugDraw,btStackAlloc* stackAlloc
+				class btIDebugDraw* debugDraw
 				) = 0;
 
 

Modified: trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h
===================================================================
--- trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h	2009-11-05 19:06:29 UTC (rev 24364)
@@ -41,15 +41,13 @@
 	struct ClosestPointInput
 	{
 		ClosestPointInput()
-			:m_maximumDistanceSquared(btScalar(1e30)),
-			m_stackAlloc(0)
+			:m_maximumDistanceSquared(btScalar(1e30))
 		{
 		}
 
 		btTransform m_transformA;
 		btTransform m_transformB;
 		btScalar	m_maximumDistanceSquared;
-		btStackAlloc* m_stackAlloc;
 	};
 
 	virtual ~btDiscreteCollisionDetectorInterface() {};

Modified: trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
===================================================================
--- trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp	2009-11-05 19:06:29 UTC (rev 24364)
@@ -25,7 +25,7 @@
 											  const btConvexShape* pConvexA, const btConvexShape* pConvexB,
 											  const btTransform& transformA, const btTransform& transformB,
 											  btVector3& v, btVector3& wWitnessOnA, btVector3& wWitnessOnB,
-											  class btIDebugDraw* debugDraw, btStackAlloc* stackAlloc )
+											  class btIDebugDraw* debugDraw )
 {
 
 	(void)debugDraw;

Modified: trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h
===================================================================
--- trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h	2009-11-05 19:06:29 UTC (rev 24364)
@@ -29,7 +29,7 @@
 									  const btConvexShape* pConvexA, const btConvexShape* pConvexB,
 									  const btTransform& transformA, const btTransform& transformB,
 									  btVector3& v, btVector3& wWitnessOnA, btVector3& wWitnessOnB,
-									  class btIDebugDraw* debugDraw,btStackAlloc* stackAlloc );
+									  class btIDebugDraw* debugDraw );
 
 	private :
 

Modified: trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp
===================================================================
--- trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp	2009-11-05 19:06:29 UTC (rev 24364)
@@ -293,7 +293,7 @@
 					m_minkowskiA,m_minkowskiB,
 					localTransA,localTransB,
 					m_cachedSeparatingAxis, tmpPointOnA, tmpPointOnB,
-					debugDraw,input.m_stackAlloc
+					debugDraw
 					);
 
 				if (isValid2)

Modified: trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
===================================================================
--- trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp	2009-11-05 19:06:29 UTC (rev 24364)
@@ -71,11 +71,10 @@
 												   const btConvexShape* convexA,const btConvexShape* convexB,
 												   const btTransform& transA,const btTransform& transB,
 												   btVector3& v, btVector3& pa, btVector3& pb,
-												   class btIDebugDraw* debugDraw,btStackAlloc* stackAlloc
+												   class btIDebugDraw* debugDraw
 												   )
 {
 
-	(void)stackAlloc;
 	(void)v;
 	
 

Modified: trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h
===================================================================
--- trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h	2009-11-05 19:06:29 UTC (rev 24364)
@@ -28,7 +28,7 @@
 	const btConvexShape* convexA,const btConvexShape* convexB,
 				const btTransform& transA,const btTransform& transB,
 			btVector3& v, btVector3& pa, btVector3& pb,
-			class btIDebugDraw* debugDraw,btStackAlloc* stackAlloc
+			class btIDebugDraw* debugDraw
 			);
 };
 

Modified: trunk/blender/extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp
===================================================================
--- trunk/blender/extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp	2009-11-05 18:29:48 UTC (rev 24363)
+++ trunk/blender/extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp	2009-11-05 19:06:29 UTC (rev 24364)
@@ -365,10 +365,6 @@
 	btPointCollector gjkOutput;
 	btGjkPairDetector::ClosestPointInput input;
 	
-	btStackAlloc gStackAlloc(1024*1024*2);
- 
-	input.m_stackAlloc = &gStackAlloc;
-	
 	btTransform tr;
 	tr.setIdentity();
 	





More information about the Bf-blender-cvs mailing list