# UNDF: UNDF-2026-000000966 --- a/apps/openmw/mwrender/objectpaging.cpp +++ b/apps/openmw/mwrender/objectpaging.cpp @@ -1,4 +1,5 @@ #include "objectpaging.hpp" +#include // ...existing includes... @@ -555,6 +556,12 @@ + // Build mMovedRefs lookup set once per cell for O(1) membership check. + std::unordered_set movedRefSet; + movedRefSet.reserve(cell->mMovedRefs.size()); + for (const auto& moved : cell->mMovedRefs) + movedRefSet.insert(moved.mRefNum); + { try { @@ -573,8 +580,7 @@ if (moved) continue; - if (std::find(cell->mMovedRefs.begin(), cell->mMovedRefs.end(), ref.mRefNum) - != cell->mMovedRefs.end()) + if (movedRefSet.count(ref.mRefNum)) continue; int type = store.findStatic(ref.mRefID);