SL-18933 FIXED Maximum render time cycles if the Desired framerate is much lower than current framerate

meow-7.2.2
Maxim Nikolenko 2023-01-11 19:34:04 +02:00
parent 020bfa66ba
commit 005b29b89f
4 changed files with 17 additions and 3 deletions

View File

@ -446,7 +446,7 @@ namespace LLPerfStats
// turn off if we are not locked.
tunables.updateUserAutoTuneEnabled(false);
}
if( LLPerfStats::tunedAvatars > 0 )
if(renderAvatarMaxART_ns != 0 && LLPerfStats::tunedAvatars > 0 )
{
// if we have more time to spare let's shift up little in the hope we'll restore an avatar.
renderAvatarMaxART_ns += LLPerfStats::ART_MIN_ADJUST_UP_NANOS;

View File

@ -45,7 +45,7 @@ namespace LLPerfStats
// Note if changing these, they should correspond with the log range of the correpsonding sliders
static constexpr U64 ART_UNLIMITED_NANOS{50000000};
static constexpr U64 ART_MINIMUM_NANOS{100000};
static constexpr U64 ART_MIN_ADJUST_UP_NANOS{10000};
static constexpr U64 ART_MIN_ADJUST_UP_NANOS{20000};
static constexpr U64 ART_MIN_ADJUST_DOWN_NANOS{10000};
static constexpr F32 PREFERRED_DD{180};

View File

@ -816,6 +816,12 @@ LLVOAvatar::~LLVOAvatar()
debugAvatarRezTime("AvatarRezLeftNotification","left sometime after declouding");
}
if(mTuned)
{
LLPerfStats::tunedAvatars--;
mTuned = false;
}
logPendingPhases();
LL_DEBUGS("Avatar") << "LLVOAvatar Destructor (0x" << this << ") id:" << mID << LL_ENDL;
@ -8382,9 +8388,15 @@ void LLVOAvatar::updateTooSlow()
mTooSlow = false;
mTooSlowWithoutShadows = false;
}
if(mTooSlow)
if(mTooSlow && !mTuned)
{
LLPerfStats::tunedAvatars++; // increment the number of avatars that have been tweaked.
mTuned = true;
}
else if(!mTooSlow && mTuned)
{
LLPerfStats::tunedAvatars--;
mTuned = false;
}
}

View File

@ -410,6 +410,8 @@ private:
bool mTooSlow{false};
bool mTooSlowWithoutShadows{false};
bool mTuned{false};
private:
LLViewerStats::PhaseMap mPhases;