Change reservation strategy in MotionInstancePool to reduce fragmentation

This commit is contained in:
Walters
2021-04-20 22:17:11 -07:00
parent b21f835d0c
commit b38ab6c2bc
@@ -220,7 +220,7 @@ namespace EMotionFX
//mPool->mFreeList.Reserve( numInstances * 2 ); //mPool->mFreeList.Reserve( numInstances * 2 );
if (mPool->mFreeList.GetMaxLength() < mPool->mNumInstances) if (mPool->mFreeList.GetMaxLength() < mPool->mNumInstances)
{ {
mPool->mFreeList.Reserve(mPool->mNumInstances); mPool->mFreeList.Reserve(mPool->mNumInstances + mPool->mFreeList.GetMaxLength() / 2);
} }
mPool->mFreeList.ResizeFast(startIndex + numInstances); mPool->mFreeList.ResizeFast(startIndex + numInstances);