started working on some serious performance improvements. now the union find is optimized, the broadphase add/remove overlapping pair was too slow. added a stl::set to keep track of overlapping pairs. this speeds up the set find/remove. work in progress.the SimpleBroadphase is broken. will be fixed tomorrow.
Did some tests with 3000 rigidbodies, works much smoother now :)
This commit is contained in:
@@ -282,7 +282,7 @@ void ParallelIslandDispatcher::ReleaseManifoldResult(ManifoldResult*)
|
||||
}
|
||||
|
||||
|
||||
void ParallelIslandDispatcher::DispatchAllCollisionPairs(BroadphasePair* pairs,int numPairs,DispatcherInfo& dispatchInfo)
|
||||
void ParallelIslandDispatcher::DispatchAllCollisionPairs(OverlappingPairCache* pairCache,DispatcherInfo& dispatchInfo)
|
||||
{
|
||||
//m_blockedForChanges = true;
|
||||
|
||||
@@ -290,8 +290,9 @@ void ParallelIslandDispatcher::DispatchAllCollisionPairs(BroadphasePair* pairs,i
|
||||
|
||||
int dispatcherId = GetUniqueId();
|
||||
|
||||
assert(0);
|
||||
|
||||
|
||||
/*
|
||||
for (i=0;i<numPairs;i++)
|
||||
{
|
||||
|
||||
@@ -342,7 +343,7 @@ void ParallelIslandDispatcher::DispatchAllCollisionPairs(BroadphasePair* pairs,i
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
//m_blockedForChanges = false;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user