SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
removed PeriodicRecording::getTotalRecording as it was showing up at the top on the profiler renamed getPrevRecordingPeriod, etc. to getPrevRecordingmaster
parent
164273afbb
commit
07ca6fce7c
|
|
@ -176,11 +176,14 @@ TimeBlockTreeNode& TimeBlock::getTreeNode() const
|
|||
TimeBlockTreeNode* nodep = LLTrace::get_thread_recorder()->getTimeBlockTreeNode(getIndex());
|
||||
llassert(nodep);
|
||||
return *nodep;
|
||||
}
|
||||
}
|
||||
|
||||
static LLFastTimer::DeclareTimer FTM_PROCESS_TIMES("Process FastTimer Times");
|
||||
|
||||
//static
|
||||
void TimeBlock::processTimes()
|
||||
{
|
||||
LLFastTimer _(FTM_PROCESS_TIMES);
|
||||
get_clock_count(); // good place to calculate clock frequency
|
||||
U64 cur_time = getCPUClockCount64();
|
||||
|
||||
|
|
@ -329,12 +332,12 @@ void TimeBlock::logStats()
|
|||
{
|
||||
TimeBlock& timer = *it;
|
||||
LLTrace::PeriodicRecording& frame_recording = LLTrace::get_frame_recording();
|
||||
sd[timer.getName()]["Time"] = (LLSD::Real) (frame_recording.getLastRecordingPeriod().getSum(timer).value());
|
||||
sd[timer.getName()]["Calls"] = (LLSD::Integer) (frame_recording.getLastRecordingPeriod().getSum(timer.callCount()));
|
||||
sd[timer.getName()]["Time"] = (LLSD::Real) (frame_recording.getLastRecording().getSum(timer).value());
|
||||
sd[timer.getName()]["Calls"] = (LLSD::Integer) (frame_recording.getLastRecording().getSum(timer.callCount()));
|
||||
|
||||
// computing total time here because getting the root timer's getCountHistory
|
||||
// doesn't work correctly on the first frame
|
||||
total_time += frame_recording.getLastRecordingPeriod().getSum(timer);
|
||||
total_time += frame_recording.getLastRecording().getSum(timer);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -353,7 +356,7 @@ void TimeBlock::logStats()
|
|||
void TimeBlock::dumpCurTimes()
|
||||
{
|
||||
LLTrace::PeriodicRecording& frame_recording = LLTrace::get_frame_recording();
|
||||
LLTrace::Recording& last_frame_recording = frame_recording.getLastRecordingPeriod();
|
||||
LLTrace::Recording& last_frame_recording = frame_recording.getLastRecording();
|
||||
|
||||
// walk over timers in depth order and output timings
|
||||
for(timer_tree_dfs_iterator_t it = begin_timer_tree(TimeBlock::getRootTimeBlock());
|
||||
|
|
|
|||
|
|
@ -360,8 +360,7 @@ U32 Recording::getSampleCount( const TraceType<MeasurementAccumulator<S64> >& st
|
|||
|
||||
PeriodicRecording::PeriodicRecording( U32 num_periods, EPlayState state)
|
||||
: mAutoResize(num_periods == 0),
|
||||
mCurPeriod(0),
|
||||
mTotalValid(false)
|
||||
mCurPeriod(0)
|
||||
{
|
||||
if (num_periods)
|
||||
{
|
||||
|
|
@ -373,7 +372,7 @@ PeriodicRecording::PeriodicRecording( U32 num_periods, EPlayState state)
|
|||
void PeriodicRecording::nextPeriod()
|
||||
{
|
||||
EPlayState play_state = getPlayState();
|
||||
Recording& old_recording = getCurRecordingPeriod();
|
||||
Recording& old_recording = getCurRecording();
|
||||
if (mAutoResize)
|
||||
{
|
||||
mRecordingPeriods.push_back(Recording());
|
||||
|
|
@ -382,87 +381,59 @@ void PeriodicRecording::nextPeriod()
|
|||
mCurPeriod = (num_periods > 0)
|
||||
? (mCurPeriod + 1) % num_periods
|
||||
: mCurPeriod + 1;
|
||||
old_recording.splitTo(getCurRecordingPeriod());
|
||||
old_recording.splitTo(getCurRecording());
|
||||
|
||||
switch(play_state)
|
||||
{
|
||||
case STOPPED:
|
||||
getCurRecordingPeriod().stop();
|
||||
getCurRecording().stop();
|
||||
break;
|
||||
case PAUSED:
|
||||
getCurRecordingPeriod().pause();
|
||||
getCurRecording().pause();
|
||||
break;
|
||||
case STARTED:
|
||||
break;
|
||||
}
|
||||
// new period, need to recalculate total
|
||||
mTotalValid = false;
|
||||
}
|
||||
|
||||
Recording& PeriodicRecording::getTotalRecording()
|
||||
{
|
||||
if (!mTotalValid)
|
||||
{
|
||||
mTotalRecording.reset();
|
||||
U32 num_periods = mRecordingPeriods.size();
|
||||
|
||||
if (num_periods)
|
||||
{
|
||||
for (S32 i = mCurPeriod + 1; i < mCurPeriod + num_periods; i++)
|
||||
{
|
||||
mTotalRecording.appendRecording(mRecordingPeriods[i % num_periods]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (S32 i = 0; i < mCurPeriod; i++)
|
||||
{
|
||||
mTotalRecording.appendRecording(mRecordingPeriods[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
mTotalValid = true;
|
||||
return mTotalRecording;
|
||||
}
|
||||
|
||||
void PeriodicRecording::start()
|
||||
{
|
||||
getCurRecordingPeriod().start();
|
||||
getCurRecording().start();
|
||||
}
|
||||
|
||||
void PeriodicRecording::stop()
|
||||
{
|
||||
getCurRecordingPeriod().stop();
|
||||
getCurRecording().stop();
|
||||
}
|
||||
|
||||
void PeriodicRecording::pause()
|
||||
{
|
||||
getCurRecordingPeriod().pause();
|
||||
getCurRecording().pause();
|
||||
}
|
||||
|
||||
void PeriodicRecording::resume()
|
||||
{
|
||||
getCurRecordingPeriod().resume();
|
||||
getCurRecording().resume();
|
||||
}
|
||||
|
||||
void PeriodicRecording::restart()
|
||||
{
|
||||
getCurRecordingPeriod().restart();
|
||||
getCurRecording().restart();
|
||||
}
|
||||
|
||||
void PeriodicRecording::reset()
|
||||
{
|
||||
getCurRecordingPeriod().reset();
|
||||
getCurRecording().reset();
|
||||
}
|
||||
|
||||
void PeriodicRecording::splitTo(PeriodicRecording& other)
|
||||
{
|
||||
getCurRecordingPeriod().splitTo(other.getCurRecordingPeriod());
|
||||
getCurRecording().splitTo(other.getCurRecording());
|
||||
}
|
||||
|
||||
void PeriodicRecording::splitFrom(PeriodicRecording& other)
|
||||
{
|
||||
getCurRecordingPeriod().splitFrom(other.getCurRecordingPeriod());
|
||||
getCurRecording().splitFrom(other.getCurRecording());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -254,50 +254,48 @@ namespace LLTrace
|
|||
void nextPeriod();
|
||||
U32 getNumPeriods() { return mRecordingPeriods.size(); }
|
||||
|
||||
Recording& getLastRecordingPeriod()
|
||||
Recording& getLastRecording()
|
||||
{
|
||||
U32 num_periods = mRecordingPeriods.size();
|
||||
return mRecordingPeriods[(mCurPeriod + num_periods - 1) % num_periods];
|
||||
}
|
||||
|
||||
const Recording& getLastRecordingPeriod() const
|
||||
const Recording& getLastRecording() const
|
||||
{
|
||||
return getPrevRecordingPeriod(1);
|
||||
return getPrevRecording(1);
|
||||
}
|
||||
|
||||
Recording& getCurRecordingPeriod()
|
||||
Recording& getCurRecording()
|
||||
{
|
||||
return mRecordingPeriods[mCurPeriod];
|
||||
}
|
||||
|
||||
const Recording& getCurRecordingPeriod() const
|
||||
const Recording& getCurRecording() const
|
||||
{
|
||||
return mRecordingPeriods[mCurPeriod];
|
||||
}
|
||||
|
||||
Recording& getPrevRecordingPeriod(U32 offset)
|
||||
Recording& getPrevRecording(U32 offset)
|
||||
{
|
||||
U32 num_periods = mRecordingPeriods.size();
|
||||
offset = llclamp(offset, 0u, num_periods - 1);
|
||||
return mRecordingPeriods[(mCurPeriod + num_periods - offset) % num_periods];
|
||||
}
|
||||
|
||||
const Recording& getPrevRecordingPeriod(U32 offset) const
|
||||
const Recording& getPrevRecording(U32 offset) const
|
||||
{
|
||||
U32 num_periods = mRecordingPeriods.size();
|
||||
offset = llclamp(offset, 0u, num_periods - 1);
|
||||
return mRecordingPeriods[(mCurPeriod + num_periods - offset) % num_periods];
|
||||
}
|
||||
|
||||
Recording snapshotCurRecordingPeriod() const
|
||||
Recording snapshotCurRecording() const
|
||||
{
|
||||
Recording recording_copy(getCurRecordingPeriod());
|
||||
Recording recording_copy(getCurRecording());
|
||||
recording_copy.stop();
|
||||
return recording_copy;
|
||||
}
|
||||
|
||||
Recording& getTotalRecording();
|
||||
|
||||
template <typename T>
|
||||
typename T::value_t getPeriodMin(const TraceType<T>& stat) const
|
||||
{
|
||||
|
|
@ -391,7 +389,6 @@ namespace LLTrace
|
|||
private:
|
||||
std::vector<Recording> mRecordingPeriods;
|
||||
Recording mTotalRecording;
|
||||
bool mTotalValid;
|
||||
const bool mAutoResize;
|
||||
S32 mCurPeriod;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -103,12 +103,11 @@ void LLStatBar::draw()
|
|||
max = 0.f,
|
||||
mean = 0.f;
|
||||
|
||||
S32 num_samples = 0;
|
||||
LLTrace::PeriodicRecording& frame_recording = LLTrace::get_frame_recording();
|
||||
|
||||
if (mCountFloatp)
|
||||
{
|
||||
LLTrace::Recording& last_frame_recording = frame_recording.getLastRecordingPeriod();
|
||||
LLTrace::Recording& last_frame_recording = frame_recording.getLastRecording();
|
||||
|
||||
if (mPerSec)
|
||||
{
|
||||
|
|
@ -116,7 +115,6 @@ void LLStatBar::draw()
|
|||
min = frame_recording.getPeriodMinPerSec(*mCountFloatp);
|
||||
max = frame_recording.getPeriodMaxPerSec(*mCountFloatp);
|
||||
mean = frame_recording.getPeriodMeanPerSec(*mCountFloatp);
|
||||
num_samples = frame_recording.getTotalRecording().getSampleCount(*mCountFloatp);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -124,12 +122,11 @@ void LLStatBar::draw()
|
|||
min = frame_recording.getPeriodMin(*mCountFloatp);
|
||||
max = frame_recording.getPeriodMax(*mCountFloatp);
|
||||
mean = frame_recording.getPeriodMean(*mCountFloatp);
|
||||
num_samples = frame_recording.getTotalRecording().getSampleCount(*mCountFloatp);
|
||||
}
|
||||
}
|
||||
else if (mCountIntp)
|
||||
{
|
||||
LLTrace::Recording& last_frame_recording = frame_recording.getLastRecordingPeriod();
|
||||
LLTrace::Recording& last_frame_recording = frame_recording.getLastRecording();
|
||||
|
||||
if (mPerSec)
|
||||
{
|
||||
|
|
@ -137,7 +134,6 @@ void LLStatBar::draw()
|
|||
min = frame_recording.getPeriodMinPerSec(*mCountIntp);
|
||||
max = frame_recording.getPeriodMaxPerSec(*mCountIntp);
|
||||
mean = frame_recording.getPeriodMeanPerSec(*mCountIntp);
|
||||
num_samples = frame_recording.getTotalRecording().getSampleCount(*mCountIntp);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -145,26 +141,25 @@ void LLStatBar::draw()
|
|||
min = frame_recording.getPeriodMin(*mCountIntp);
|
||||
max = frame_recording.getPeriodMax(*mCountIntp);
|
||||
mean = frame_recording.getPeriodMean(*mCountIntp);
|
||||
num_samples = frame_recording.getTotalRecording().getSampleCount(*mCountIntp);
|
||||
}
|
||||
}
|
||||
else if (mMeasurementFloatp)
|
||||
{
|
||||
LLTrace::Recording& recording = frame_recording.getTotalRecording();
|
||||
current = recording.getLastValue(*mMeasurementFloatp);
|
||||
min = recording.getMin(*mMeasurementFloatp);
|
||||
max = recording.getMax(*mMeasurementFloatp);
|
||||
mean = recording.getMean(*mMeasurementFloatp);
|
||||
num_samples = frame_recording.getTotalRecording().getSampleCount(*mMeasurementFloatp);
|
||||
LLTrace::Recording& last_frame_recording = frame_recording.getLastRecording();
|
||||
|
||||
current = last_frame_recording.getLastValue(*mMeasurementFloatp);
|
||||
min = frame_recording.getPeriodMin(*mMeasurementFloatp);
|
||||
max = frame_recording.getPeriodMax(*mMeasurementFloatp);
|
||||
mean = frame_recording.getPeriodMean(*mMeasurementFloatp);
|
||||
}
|
||||
else if (mMeasurementIntp)
|
||||
{
|
||||
LLTrace::Recording& recording = frame_recording.getTotalRecording();
|
||||
current = recording.getLastValue(*mMeasurementIntp);
|
||||
min = recording.getMin(*mMeasurementIntp);
|
||||
max = recording.getMax(*mMeasurementIntp);
|
||||
mean = recording.getMean(*mMeasurementIntp);
|
||||
num_samples = frame_recording.getTotalRecording().getSampleCount(*mMeasurementIntp);
|
||||
LLTrace::Recording& last_frame_recording = frame_recording.getLastRecording();
|
||||
|
||||
current = last_frame_recording.getLastValue(*mMeasurementIntp);
|
||||
min = frame_recording.getPeriodMin(*mMeasurementIntp);
|
||||
max = frame_recording.getPeriodMax(*mMeasurementIntp);
|
||||
mean = frame_recording.getPeriodMean(*mMeasurementIntp);
|
||||
}
|
||||
|
||||
current *= mUnitScale;
|
||||
|
|
@ -203,7 +198,7 @@ void LLStatBar::draw()
|
|||
const S32 tick_length = 4;
|
||||
const S32 tick_width = 1;
|
||||
|
||||
if (mScaleRange && num_samples)
|
||||
if (mScaleRange && min < max)
|
||||
{
|
||||
F32 cur_max = mTickSpacing;
|
||||
while(max > cur_max && mMaxBar > cur_max)
|
||||
|
|
@ -352,7 +347,7 @@ void LLStatBar::draw()
|
|||
for (i = 1; i <= max_frame; i++)
|
||||
{
|
||||
F32 offset = ((F32)i / (F32)mNumFrames) * span;
|
||||
LLTrace::Recording& recording = frame_recording.getPrevRecordingPeriod(i);
|
||||
LLTrace::Recording& recording = frame_recording.getPrevRecording(i);
|
||||
if (mPerSec)
|
||||
{
|
||||
if (mCountFloatp)
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ void LLStatGraph::draw()
|
|||
range = mMax - mMin;
|
||||
if (mNewStatFloatp)
|
||||
{
|
||||
LLTrace::Recording& recording = LLTrace::get_frame_recording().getLastRecordingPeriod();
|
||||
LLTrace::Recording& recording = LLTrace::get_frame_recording().getLastRecording();
|
||||
|
||||
if (mPerSec)
|
||||
{
|
||||
|
|
@ -79,7 +79,7 @@ void LLStatGraph::draw()
|
|||
}
|
||||
else if (mNewStatIntp)
|
||||
{
|
||||
LLTrace::Recording& recording = LLTrace::get_frame_recording().getLastRecordingPeriod();
|
||||
LLTrace::Recording& recording = LLTrace::get_frame_recording().getLastRecording();
|
||||
|
||||
if (mPerSec)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1082,7 +1082,7 @@ void LLAgentCamera::updateLookAt(const S32 mouse_x, const S32 mouse_y)
|
|||
LLQuaternion av_inv_rot = ~gAgentAvatarp->mRoot.getWorldRotation();
|
||||
LLVector3 root_at = LLVector3::x_axis * gAgentAvatarp->mRoot.getWorldRotation();
|
||||
|
||||
if (LLTrace::get_frame_recording().getLastRecordingPeriod().getLastValue(*gViewerWindow->getMouseVelocityStat()) < 0.01f
|
||||
if (LLTrace::get_frame_recording().getLastRecording().getLastValue(*gViewerWindow->getMouseVelocityStat()) < 0.01f
|
||||
&& (root_at * last_at_axis > 0.95f))
|
||||
{
|
||||
LLVector3 vel = gAgentAvatarp->getVelocity();
|
||||
|
|
|
|||
|
|
@ -333,7 +333,7 @@ static std::string get_tooltip(TimeBlock& timer, S32 history_index, PeriodicReco
|
|||
}
|
||||
else
|
||||
{
|
||||
tooltip = llformat("%s (%d ms, %d calls)", timer.getName().c_str(), (S32)LLUnit<LLUnits::Milliseconds, F64>(frame_recording.getPrevRecordingPeriod(history_index).getSum(timer)).value(), (S32)frame_recording.getPrevRecordingPeriod(history_index).getSum(timer.callCount()));
|
||||
tooltip = llformat("%s (%d ms, %d calls)", timer.getName().c_str(), (S32)LLUnit<LLUnits::Milliseconds, F64>(frame_recording.getPrevRecording(history_index).getSum(timer)).value(), (S32)frame_recording.getPrevRecording(history_index).getSum(timer.callCount()));
|
||||
}
|
||||
return tooltip;
|
||||
}
|
||||
|
|
@ -417,7 +417,7 @@ void LLFastTimerView::draw()
|
|||
printLineStats();
|
||||
LLView::draw();
|
||||
|
||||
mAllTimeMax = llmax(mAllTimeMax, mRecording->getLastRecordingPeriod().getSum(FTM_FRAME));
|
||||
mAllTimeMax = llmax(mAllTimeMax, mRecording->getLastRecording().getSum(FTM_FRAME));
|
||||
mHoverID = NULL;
|
||||
mHoverBarIndex = -1;
|
||||
}
|
||||
|
|
@ -984,7 +984,7 @@ void LLFastTimerView::printLineStats()
|
|||
LLUnit<LLUnits::Seconds, F32> ticks;
|
||||
if (mPrintStats > 0)
|
||||
{
|
||||
ticks = mRecording->getPrevRecordingPeriod(mPrintStats).getSum(*idp);
|
||||
ticks = mRecording->getPrevRecording(mPrintStats).getSum(*idp);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1096,8 +1096,8 @@ void LLFastTimerView::drawLineGraph()
|
|||
j > 0;
|
||||
j--)
|
||||
{
|
||||
LLUnit<LLUnits::Seconds, F32> time = llmax(mRecording->getPrevRecordingPeriod(j).getSum(*idp), LLUnit<LLUnits::Seconds, F64>(0.000001));
|
||||
U32 calls = mRecording->getPrevRecordingPeriod(j).getSum(idp->callCount());
|
||||
LLUnit<LLUnits::Seconds, F32> time = llmax(mRecording->getPrevRecording(j).getSum(*idp), LLUnit<LLUnits::Seconds, F64>(0.000001));
|
||||
U32 calls = mRecording->getPrevRecording(j).getSum(idp->callCount());
|
||||
|
||||
if (alpha == 1.f)
|
||||
{
|
||||
|
|
@ -1197,8 +1197,8 @@ void LLFastTimerView::drawLegend( S32 y )
|
|||
if (mHoverBarIndex > 0 && mHoverID)
|
||||
{
|
||||
S32 hidx = mScrollIndex + mHoverBarIndex;
|
||||
ms = mRecording->getPrevRecordingPeriod(hidx).getSum(*idp);
|
||||
calls = mRecording->getPrevRecordingPeriod(hidx).getSum(idp->callCount());
|
||||
ms = mRecording->getPrevRecording(hidx).getSum(*idp);
|
||||
calls = mRecording->getPrevRecording(hidx).getSum(idp->callCount());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1455,7 +1455,7 @@ S32 LLFastTimerView::updateTimerBarWidths(LLTrace::TimeBlock* time_block, std::v
|
|||
LLFastTimer _(FTM_UPDATE_TIMER_BAR_WIDTHS);
|
||||
F32 self_time_frame_fraction = history_index == -1
|
||||
? (mRecording->getPeriodMean(time_block->selfTime()) / mTotalTimeDisplay)
|
||||
: (mRecording->getPrevRecordingPeriod(history_index).getSum(time_block->selfTime()) / mTotalTimeDisplay);
|
||||
: (mRecording->getPrevRecording(history_index).getSum(time_block->selfTime()) / mTotalTimeDisplay);
|
||||
|
||||
S32 self_time_width = llround(self_time_frame_fraction * (F32)mBarRect.getWidth());
|
||||
S32 full_width = self_time_width;
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ LLSD LLFloaterAbout::getInfo()
|
|||
|
||||
if (gPacketsIn > 0)
|
||||
{
|
||||
LLTrace::Recording cur_frame = LLTrace::get_frame_recording().snapshotCurRecordingPeriod();
|
||||
LLTrace::Recording cur_frame = LLTrace::get_frame_recording().snapshotCurRecording();
|
||||
info["PACKETS_LOST"] = cur_frame.getSum(LLStatViewer::PACKETS_LOST);
|
||||
info["PACKETS_IN"] = F32(gPacketsIn);
|
||||
info["PACKETS_PCT"] = 100.f*info["PACKETS_LOST"].asReal() / info["PACKETS_IN"].asReal();
|
||||
|
|
|
|||
|
|
@ -901,7 +901,7 @@ void LLHUDNameTag::updateAll()
|
|||
}
|
||||
|
||||
LLTrace::CountStatHandle<>* camera_vel_stat = LLViewerCamera::getVelocityStat();
|
||||
F32 camera_vel = LLTrace::get_frame_recording().getLastRecordingPeriod().getPerSec(*camera_vel_stat);
|
||||
F32 camera_vel = LLTrace::get_frame_recording().getLastRecording().getPerSec(*camera_vel_stat);
|
||||
if (camera_vel > MAX_STABLE_CAMERA_VELOCITY)
|
||||
{
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -348,11 +348,12 @@ void update_statistics()
|
|||
sample(LLStatViewer::SIM_PING, LLTrace::Seconds(10));
|
||||
}
|
||||
|
||||
add(LLStatViewer::FPS, 1);
|
||||
if (LLTrace::get_frame_recording().getTotalRecording().getSampleCount(LLStatViewer::FPS))
|
||||
if (LLViewerStats::instance().getRecording().getSum(LLStatViewer::FPS))
|
||||
{
|
||||
sample(LLStatViewer::FPS_SAMPLE, LLTrace::get_frame_recording().getTotalRecording().getPerSec(LLStatViewer::FPS));
|
||||
sample(LLStatViewer::FPS_SAMPLE, LLTrace::get_frame_recording().getPeriodMeanPerSec(LLStatViewer::FPS));
|
||||
}
|
||||
add(LLStatViewer::FPS, 1);
|
||||
|
||||
F32 layer_bits = (F32)(gVLManager.getLandBits() + gVLManager.getWindBits() + gVLManager.getCloudBits());
|
||||
add(LLStatViewer::LAYERS_KBIT, LLTrace::Bits(layer_bits));
|
||||
add(LLStatViewer::OBJECT_KBIT, gObjectData);
|
||||
|
|
|
|||
|
|
@ -617,9 +617,7 @@ void LLViewerTextureList::updateImages(F32 max_time)
|
|||
}
|
||||
cleared = FALSE;
|
||||
|
||||
LLTrace::Recording& recording = LLTrace::get_frame_recording().getTotalRecording();
|
||||
|
||||
LLAppViewer::getTextureFetch()->setTextureBandwidth(recording.getPerSec(LLStatViewer::TEXTURE_KBIT).value());
|
||||
LLAppViewer::getTextureFetch()->setTextureBandwidth(LLTrace::get_frame_recording().getPeriodMeanPerSec(LLStatViewer::TEXTURE_KBIT).value());
|
||||
|
||||
{
|
||||
using namespace LLStatViewer;
|
||||
|
|
|
|||
|
|
@ -9816,7 +9816,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
|
|||
{
|
||||
LLTrace::CountStatHandle<>* velocity_stat = LLViewerCamera::getVelocityStat();
|
||||
F32 fade_amt = gFrameIntervalSeconds.value()
|
||||
* llmax(LLTrace::get_frame_recording().getLastRecordingPeriod().getSum(*velocity_stat) / LLTrace::get_frame_recording().getLastRecordingPeriod().getDuration().value(), 1.0);
|
||||
* llmax(LLTrace::get_frame_recording().getLastRecording().getSum(*velocity_stat) / LLTrace::get_frame_recording().getLastRecording().getDuration().value(), 1.0);
|
||||
|
||||
//update shadow targets
|
||||
for (U32 i = 0; i < 2; i++)
|
||||
|
|
|
|||
Loading…
Reference in New Issue