summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llcommon/lltracerecording.cpp1
-rw-r--r--indra/llcommon/llunit.h13
-rw-r--r--indra/newview/llscenemonitor.cpp24
3 files changed, 28 insertions, 10 deletions
diff --git a/indra/llcommon/lltracerecording.cpp b/indra/llcommon/lltracerecording.cpp
index 5d43771cb2..48b5a7c3fa 100644
--- a/indra/llcommon/lltracerecording.cpp
+++ b/indra/llcommon/lltracerecording.cpp
@@ -41,7 +41,6 @@ namespace LLTrace
Recording::Recording(EPlayState state)
: mElapsedSeconds(0),
mInHandOff(false)
-
{
mBuffers = new AccumulatorBufferGroup();
setPlayState(state);
diff --git a/indra/llcommon/llunit.h b/indra/llcommon/llunit.h
index 731cc0eded..51f14a5948 100644
--- a/indra/llcommon/llunit.h
+++ b/indra/llcommon/llunit.h
@@ -139,6 +139,13 @@ protected:
};
template<typename STORAGE_TYPE, typename UNIT_TYPE>
+std::ostream& operator <<(std::ostream& s, const LLUnit<STORAGE_TYPE, UNIT_TYPE>& unit)
+{
+ s << unit.value() << UNIT_TYPE::getUnitLabel();
+ return s;
+}
+
+template<typename STORAGE_TYPE, typename UNIT_TYPE>
struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNIT_TYPE>
{
typedef LLUnitImplicit<STORAGE_TYPE, UNIT_TYPE> self_t;
@@ -162,6 +169,12 @@ struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNIT_TYPE>
}
};
+template<typename STORAGE_TYPE, typename UNIT_TYPE>
+std::ostream& operator <<(std::ostream& s, const LLUnitImplicit<STORAGE_TYPE, UNIT_TYPE>& unit)
+{
+ s << unit.value() << UNIT_TYPE::getUnitLabel();
+ return s;
+}
template<typename S, typename T>
struct LLIsSameType
diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp
index 2f48be12fb..3f4f872174 100644
--- a/indra/newview/llscenemonitor.cpp
+++ b/indra/newview/llscenemonitor.cpp
@@ -469,8 +469,8 @@ void LLSceneMonitor::fetchQueryResult()
static LLCachedControl<F32> scene_load_sample_time(gSavedSettings, "SceneLoadingMonitorSampleTime");
static LLFrameTimer timer;
- F32 elapsed_time = timer.getElapsedTimeF32();
- if(mDiffState == WAIT_ON_RESULT && elapsed_time > scene_load_sample_time)
+ if(mDiffState == WAIT_ON_RESULT
+ && !LLAppViewer::instance()->quitRequested())
{
mDiffState = WAITING_FOR_NEXT_DIFF;
@@ -487,14 +487,20 @@ void LLSceneMonitor::fetchQueryResult()
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
+ F32 elapsed_time = timer.getElapsedTimeF32();
+
+ if (elapsed_time > scene_load_sample_time)
{
- mSceneLoadRecording.nextPeriod();
+ if(mDiffResult > diff_threshold())
+ {
+ mSceneLoadRecording.extend();
+ llinfos << mSceneLoadRecording.getResults().getLastRecording().getDuration() << llendl;
+ llassert_always(mSceneLoadRecording.getResults().getLastRecording().getDuration() > scene_load_sample_time);
+ }
+ else
+ {
+ mSceneLoadRecording.nextPeriod();
+ }
}
}