From 2c6bc5afa59a88136fd6de4ebf0cb99ea7cdef3f Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 21 Aug 2013 14:06:57 -0700 Subject: SH-4433 WIP Interesting: Statistics > Ping Sim is always 0 ms made getPrimaryAccumulator return a reference since it was an always non-null pointer changed unit conversion to perform lazy division in order to avoid truncation of timer values --- indra/newview/llviewerobject.cpp | 9 ++- .../newview/skins/default/xui/en/floater_stats.xml | 88 +++++++--------------- 2 files changed, 33 insertions(+), 64 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 8092eda7b2..9235f23a8c 100755 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -2439,7 +2439,7 @@ void LLViewerObject::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time) // Move an object due to idle-time viewer side updates by interpolating motion -void LLViewerObject::interpolateLinearMotion(const F64SecondsImplicit& time, const F32SecondsImplicit& dt) +void LLViewerObject::interpolateLinearMotion(const F64SecondsImplicit& time, const F32SecondsImplicit& dt_seconds) { // linear motion // PHYSICS_TIMESTEP is used below to correct for the fact that the velocity in object @@ -2450,8 +2450,9 @@ void LLViewerObject::interpolateLinearMotion(const F64SecondsImplicit& time, con // to see if object is selected, instead of explicitly // zeroing it out + F32 dt = dt_seconds; F64Seconds time_since_last_update = time - mLastMessageUpdateSecs; - if (time_since_last_update <= (F64Seconds)0.0 || dt <= (F32Seconds)0.f) + if (time_since_last_update <= (F64Seconds)0.0 || dt <= 0.f) { return; } @@ -2463,7 +2464,7 @@ void LLViewerObject::interpolateLinearMotion(const F64SecondsImplicit& time, con { // Old code path ... unbounded, simple interpolation if (!(accel.isExactlyZero() && vel.isExactlyZero())) { - LLVector3 pos = (vel + (0.5f * (dt-PHYSICS_TIMESTEP)) * accel) * dt.value(); + LLVector3 pos = (vel + (0.5f * (dt-PHYSICS_TIMESTEP)) * accel) * dt; // region local setPositionRegion(pos + getPositionRegion()); @@ -2477,7 +2478,7 @@ void LLViewerObject::interpolateLinearMotion(const F64SecondsImplicit& time, con { // Object is moving, and hasn't been too long since we got an update from the server // Calculate predicted position and velocity - LLVector3 new_pos = (vel + (0.5f * (dt-PHYSICS_TIMESTEP)) * accel) * dt.value(); + LLVector3 new_pos = (vel + (0.5f * (dt-PHYSICS_TIMESTEP)) * accel) * dt; LLVector3 new_v = accel * dt; if (time_since_last_update > sPhaseOutUpdateInterpolationTime && diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index fc2369276c..02d1bf6a0e 100755 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -42,8 +42,7 @@ show_bar="true"/> + stat="packetslostpercentstat"/> @@ -71,12 +70,10 @@ stat="numobjectsstat"/> + stat="numnewobjectsstat"/> + stat="gltexmemstat"/> + stat="formattedmemstat"/> + stat="rawmemstat"/> + stat="glboundmemstat"/> + stat="simtimedilation"/> + stat="simmainagents"/> + stat="simobjects"/> + stat="simactiveobjects"/> + stat="simactivescripts"/> + stat="simpctscriptsrun"/> + stat="simsimaistepmsec"/> + unit_label="/sec"/> + stat="simframemsec"/> + stat="simnetmsec"/> + stat="simsimphysicsmsec"/> + stat="simsimothermsec"/> + stat="simagentmsec"/> + stat="simimagesmsec"/> + stat="simscriptmsec"/> + stat="simsparemsec"/> + stat="simsimphysicsstepmsec"/> + stat="simsimphysicsshapeupdatemsec"/> + stat="simsimphysicsothermsec"/> + stat="simsleepmsec"/> + stat="simpumpiomsec"/> -- cgit v1.2.3