From b625f9cd9956d135760da0053e46cf01692779c5 Mon Sep 17 00:00:00 2001
From: "Brad Payne (Vir Linden)" <vir@lindenlab.com>
Date: Thu, 16 Nov 2017 20:33:11 +0000
Subject: [PATCH] SL-763 - disabling the use_quantum optimization in
 LLMotionController until it can be fixed.

---
 indra/llcharacter/llmotioncontroller.cpp | 6 +++++-
 indra/newview/llcontrolavatar.cpp        | 5 +++--
 indra/newview/llvoavatar.cpp             | 5 ++++-
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp
index 35e76f1d9d0..bd23859bcbd 100644
--- a/indra/llcharacter/llmotioncontroller.cpp
+++ b/indra/llcharacter/llmotioncontroller.cpp
@@ -814,7 +814,11 @@ void LLMotionController::updateLoadingMotions()
 //-----------------------------------------------------------------------------
 void LLMotionController::updateMotions(bool force_update)
 {
-	BOOL use_quantum = (mTimeStep != 0.f);
+    // SL-763: "Distant animated objects run at super fast speed"
+    // The use_quantum optimization does not work as implemented.
+    // Disabling until such time as someone can do a deeper dive.
+	//BOOL use_quantum = (mTimeStep != 0.f);
+	BOOL use_quantum = FALSE;
 
 	// Always update mPrevTimerElapsed
 	F32 cur_time = mTimer.getElapsedTimeF32();
diff --git a/indra/newview/llcontrolavatar.cpp b/indra/newview/llcontrolavatar.cpp
index 7600bc69592..7e89a97c03a 100644
--- a/indra/newview/llcontrolavatar.cpp
+++ b/indra/newview/llcontrolavatar.cpp
@@ -52,8 +52,9 @@ LLControlAvatar::~LLControlAvatar()
 // virtual
 void LLControlAvatar::initInstance()
 {
-	// AXON - potential optimizations here - avoid creating system
-	// avatar mesh since it's not used.
+	// AXON - potential optimizations here: avoid creating system
+	// avatar mesh content since it's not used. For now we just clean some
+	// things up after the fact in releaseMeshData().
     LLVOAvatar::initInstance();
 }
 
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index b1ae7f543a6..1eddf92df9b 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -3896,8 +3896,11 @@ void LLVOAvatar::updateTimeStep()
 			stopMotion(ANIM_AGENT_WALK_ADJUST);
 			removeAnimationData("Walk Speed");
 		}
-        // AXON: see SL-763 - playback with altered time step does not
+        // See SL-763 - playback with altered time step does not
         // appear to work correctly, odd behavior for distant avatars.
+        // As of 11-2017, LLMotionController::updateMotions() will
+        // ignore the value here. Need to re-enable if it's every
+        // fixed.
 		mMotionController.setTimeStep(time_step);
 	}
 
-- 
GitLab