As seen in GameLogic::reset, the m_objVector does not shrink on level unload.
m_objVector.clear();
m_objVector.resize(OBJ_HASH_SIZE, NULL); // 8192
I expect it is not intended to not shrink memory back to initial levels on reset. It means that the maximum memory allocated from a long match session will carry over to all subsequent match sessions.
In case of m_objVector we are looking at 400+ kb memory savings per 1 hour match or so.
This is probably a general issue across many classes and should be optimized.
As seen in GameLogic::reset, the
m_objVectordoes not shrink on level unload.I expect it is not intended to not shrink memory back to initial levels on reset. It means that the maximum memory allocated from a long match session will carry over to all subsequent match sessions.
In case of
m_objVectorwe are looking at 400+ kb memory savings per 1 hour match or so.This is probably a general issue across many classes and should be optimized.