mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-30 16:20:21 +00:00
Merge branch 'optimize_object_paging_refs_exclusion' into 'master'
Optimize object paging refs exclusion See merge request OpenMW/openmw!4075
This commit is contained in:
commit
41a2a4082f
@ -343,7 +343,12 @@ namespace MWGui
|
||||
|
||||
MWBase::Environment::get().getInputManager()->update(0, true, true);
|
||||
|
||||
mResourceSystem->reportStats(mViewer->getFrameStamp()->getFrameNumber(), mViewer->getViewerStats());
|
||||
osg::Stats* const stats = mViewer->getViewerStats();
|
||||
const unsigned frameNumber = mViewer->getFrameStamp()->getFrameNumber();
|
||||
|
||||
stats->setAttribute(frameNumber, "Loading", 1);
|
||||
|
||||
mResourceSystem->reportStats(frameNumber, stats);
|
||||
if (osgUtil::IncrementalCompileOperation* ico = mViewer->getIncrementalCompileOperation())
|
||||
{
|
||||
ico->setMinimumTimeAvailableForGLCompileAndDeletePerFrame(1.f / getTargetFrameRate());
|
||||
|
@ -555,11 +555,19 @@ namespace MWRender
|
||||
// TODO
|
||||
}
|
||||
|
||||
if (activeGrid)
|
||||
if (activeGrid && !refs.empty())
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mRefTrackerMutex);
|
||||
for (auto ref : getRefTracker().mBlacklist)
|
||||
refs.erase(ref);
|
||||
const std::set<ESM::RefNum>& blacklist = getRefTracker().mBlacklist;
|
||||
if (blacklist.size() < refs.size())
|
||||
{
|
||||
for (ESM::RefNum ref : blacklist)
|
||||
refs.erase(ref);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::erase_if(refs, [&](const auto& ref) { return blacklist.contains(ref.first); });
|
||||
}
|
||||
}
|
||||
|
||||
osg::Vec2f minBound = (center - osg::Vec2f(size / 2.f, size / 2.f));
|
||||
|
@ -54,6 +54,7 @@ namespace Resource
|
||||
constexpr std::string_view firstPage[] = {
|
||||
"FrameNumber",
|
||||
"",
|
||||
"Loading",
|
||||
"Compiling",
|
||||
"WorkQueue",
|
||||
"WorkThread",
|
||||
@ -75,7 +76,6 @@ namespace Resource
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
};
|
||||
|
||||
static_assert(std::size(firstPage) == itemsPerPage);
|
||||
|
Loading…
x
Reference in New Issue
Block a user