Speed up of LLViewerObjectList::cleanDeadObjects with a factor of 10000.
Also a little review of Dead objects in general. The old code was calling 'erase' on a large vector, once for every dead object (which are a lot, especially if you exit or teleport), causing the whole (large) vector to be copied every time. The new code only calls erase once per call (about once a second at most now), erasing 20 to 100 objects at the END of the vector. This is INCREDIBLY faster.
This commit is contained in:
@@ -190,6 +190,7 @@ public:
|
||||
S32 mNumDeadObjectUpdates;
|
||||
S32 mNumUnknownKills;
|
||||
S32 mNumDeadObjects;
|
||||
S32 mMinNumDeadObjects;
|
||||
protected:
|
||||
std::vector<U64> mOrphanParents; // LocalID/ip,port of orphaned objects
|
||||
std::vector<OrphanInfo> mOrphanChildren; // UUID's of orphaned objects
|
||||
|
||||
Reference in New Issue
Block a user