From 6036ee9c421154a83a306bc16533e47f9494fd32 Mon Sep 17 00:00:00 2001 From: William Todd Stinson Date: Fri, 16 Nov 2012 17:26:01 -0800 Subject: MAINT-1890 FIX Removing previous hacky fix for this issue. The better solution is to clamp the update_period to a reasonable number of frames (32). --- indra/newview/llflexibleobject.cpp | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'indra') diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index f5bf900d0d..28d195d5e9 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -96,18 +96,6 @@ LLVolumeImplFlexible::~LLVolumeImplFlexible() //static void LLVolumeImplFlexible::updateClass() { - // XXX stinson 11/13/2012 : This hack removes the optimization for limiting the number of flexi-prims - // updated. With the optimization, flexi-prims attached to the users avatar were not being - // animated correctly immediately following teleport. With the optimization removed, the bug went away. -#define XXX_STINSON_MAINT_1890_HACK_FIX 1 -#if XXX_STINSON_MAINT_1890_HACK_FIX - for (std::vector::iterator iter = sInstanceList.begin(); - iter != sInstanceList.end(); - ++iter) - { - (*iter)->doIdleUpdate(); - } -#else // XXX_STINSON_MAINT_1890_HACK_FIX std::vector::iterator delay_iter = sUpdateDelay.begin(); for (std::vector::iterator iter = sInstanceList.begin(); @@ -121,7 +109,6 @@ void LLVolumeImplFlexible::updateClass() } ++delay_iter; } -#endif // XXX_STINSON_MAINT_1890_HACK_FIX } LLVector3 LLVolumeImplFlexible::getFramePosition() const @@ -373,6 +360,8 @@ void LLVolumeImplFlexible::doIdleUpdate() F32 pixel_area = mVO->getPixelArea(); U32 update_period = (U32) (LLViewerCamera::getInstance()->getScreenPixelArea()*0.01f/(pixel_area*(sUpdateFactor+1.f)))+1; + // MAINT-1890 Clamp the update period to ensure that the update_period is no greater than 32 frames + update_period = llclamp(update_period, 0U, 32U); if (visible) { -- cgit v1.2.3