summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Linden <none@none>2013-07-15 21:00:19 -0700
committerRichard Linden <none@none>2013-07-15 21:00:19 -0700
commitbd078122e3a87e958fb6b0ea9caeef885298d527 (patch)
tree144f9c964b85d0f7f2776fbf13a01ab006e4d932
parent551ec2a56607bc6f9182f4e6410ef7f921bcac10 (diff)
SH-4299 FIX: Interesting: High fps shown temporarily off scale in statistics console
timing of scene load recording extension now guaranteed > requested time step removed double add of recorded data removed spam
-rw-r--r--indra/llcommon/lltracerecording.cpp3
-rwxr-xr-xindra/newview/app_settings/settings.xml4
-rw-r--r--indra/newview/llscenemonitor.cpp11
-rwxr-xr-xindra/newview/llviewerassetstats.cpp1
4 files changed, 9 insertions, 10 deletions
diff --git a/indra/llcommon/lltracerecording.cpp b/indra/llcommon/lltracerecording.cpp
index 875c371068..5d43771cb2 100644
--- a/indra/llcommon/lltracerecording.cpp
+++ b/indra/llcommon/lltracerecording.cpp
@@ -367,9 +367,6 @@ void PeriodicRecording::appendPeriodicRecording( PeriodicRecording& other )
if (mAutoResize)
{
- // append first recording into our current slot
- getCurRecording().appendRecording(other.mRecordingPeriods[other_oldest_recording_index]);
-
// push back recordings for everything in the middle
U32 other_index = (other_oldest_recording_index + 1) % other_recording_slots;
while (other_index != other_current_recording_index)
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index a255793017..5bbe56bc0e 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -9844,13 +9844,13 @@
<key>SceneLoadingPixelDiffThreshold</key>
<map>
<key>Comment</key>
- <string>Amount of pixels changed required to consider the scene as still loading (fraction of pixels on screen)</string>
+ <string>Amount of pixels changed required to consider the scene as still loading (square root of fraction of pixels on screen)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
- <real>0.0003</real>
+ <real>0.02</real>
</map>
<key>ScriptHelpFollowsCursor</key>
<map>
diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp
index eec4a703a1..2f48be12fb 100644
--- a/indra/newview/llscenemonitor.cpp
+++ b/indra/newview/llscenemonitor.cpp
@@ -290,7 +290,6 @@ void LLSceneMonitor::capture()
if((timer.getElapsedTimeF32() > scene_load_sample_time()
|| force_capture)
- && mDiffState == WAITING_FOR_NEXT_DIFF
&& mEnabled
&& LLGLSLShader::sNoFixedFunction
&& last_capture_frame != gFrameCount)
@@ -470,7 +469,8 @@ void LLSceneMonitor::fetchQueryResult()
static LLCachedControl<F32> scene_load_sample_time(gSavedSettings, "SceneLoadingMonitorSampleTime");
static LLFrameTimer timer;
- if(mDiffState == WAIT_ON_RESULT && timer.getElapsedTimeF32() > scene_load_sample_time)
+ F32 elapsed_time = timer.getElapsedTimeF32();
+ if(mDiffState == WAIT_ON_RESULT && elapsed_time > scene_load_sample_time)
{
mDiffState = WAITING_FOR_NEXT_DIFF;
@@ -481,21 +481,24 @@ void LLSceneMonitor::fetchQueryResult()
GLuint count = 0;
glGetQueryObjectuivARB(mQueryObject, GL_QUERY_RESULT_ARB, &count);
- mDiffResult = count * 0.5f / (mDiff->getWidth() * mDiff->getHeight() * mDiffPixelRatio * mDiffPixelRatio); //0.5 -> (front face + back face)
+ mDiffResult = sqrtf(count * 0.5f / (mDiff->getWidth() * mDiff->getHeight() * mDiffPixelRatio * mDiffPixelRatio)); //0.5 -> (front face + back face)
LL_DEBUGS("SceneMonitor") << "Frame difference: " << std::setprecision(4) << mDiffResult << LL_ENDL;
- record(sFramePixelDiff, sqrtf(mDiffResult));
+ record(sFramePixelDiff, mDiffResult);
static LLCachedControl<F32> diff_threshold(gSavedSettings,"SceneLoadingPixelDiffThreshold");
if(mDiffResult > diff_threshold())
{
mSceneLoadRecording.extend();
+ llassert(mSceneLoadRecording.getResults().getLastRecording().getDuration() > scene_load_sample_time);
}
else
{
mSceneLoadRecording.nextPeriod();
}
}
+
+ timer.reset();
}
}
diff --git a/indra/newview/llviewerassetstats.cpp b/indra/newview/llviewerassetstats.cpp
index 5f11a2b519..579567bb14 100755
--- a/indra/newview/llviewerassetstats.cpp
+++ b/indra/newview/llviewerassetstats.cpp
@@ -526,7 +526,6 @@ void record_enqueue(LLViewerAssetType::EType at, bool with_http, bool is_temp)
{
const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp));
- llinfos << "enqueue " << int(eac) << llendl;
add(*sEnqueued[int(eac)], 1);
}