diff options
| author | Mark Palange <palange@lindenlab.com> | 2009-02-03 21:15:57 +0000 |
|---|---|---|
| committer | Mark Palange <palange@lindenlab.com> | 2009-02-03 21:15:57 +0000 |
| commit | 46f8fb8781ccce338b4a88aaf8371ee3dec56d29 (patch) | |
| tree | b2dc09521a166d2181c48f4a4f1ca90b83b99477 /indra/newview/llvoavatar.cpp | |
| parent | e188badaf29a1a02307f93864eed6737096bd9a1 (diff) | |
svn merge -r107016:108767 svn+ssh://svn.lindenlab.com/svn/linden/viewer/viewer_1-22
Merge back of viewer 1.22 RC6 and RC7 change to trunk.
QAR-1214 and QAR-1227
Diffstat (limited to 'indra/newview/llvoavatar.cpp')
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 4f2504fc17..7e22eb40bb 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -289,7 +289,9 @@ BOOL LLVOAvatar::sJointDebug = FALSE; S32 LLVOAvatar::sCurJoint = 0; S32 LLVOAvatar::sCurVolume = 0; F32 LLVOAvatar::sUnbakedTime = 0.f; +F32 LLVOAvatar::sUnbakedUpdateTime = 0.f; F32 LLVOAvatar::sGreyTime = 0.f; +F32 LLVOAvatar::sGreyUpdateTime = 0.f; struct LLAvatarTexData { @@ -4722,7 +4724,7 @@ void LLVOAvatar::addLocalTextureStats( LLVOAvatar::ELocTexIndex idx, LLViewerIma desired_pixels = llmin(mPixelArea, (F32)LOCTEX_IMAGE_AREA_OTHER ); imagep->setBoostLevel(LLViewerImage::BOOST_AVATAR); } - imagep->addTextureStats( desired_pixels, texel_area_ratio ); + imagep->addTextureStats( desired_pixels / texel_area_ratio ); if (imagep->getDiscardLevel() < 0) { mHasGrey = TRUE; // for statistics gathering @@ -4744,7 +4746,7 @@ void LLVOAvatar::addBakedTextureStats( LLViewerImage* imagep, F32 pixel_area, F3 { mMaxPixelArea = llmax(pixel_area, mMaxPixelArea); mMinPixelArea = llmin(pixel_area, mMinPixelArea); - imagep->addTextureStats(pixel_area, texel_area_ratio); + imagep->addTextureStats(pixel_area / texel_area_ratio); imagep->setBoostLevel(boost_level); } @@ -9172,9 +9174,19 @@ void LLVOAvatar::cullAvatarsByPixelArea() } else { - sUnbakedTime += gFrameTimeSeconds; + if (gFrameTimeSeconds != sUnbakedUpdateTime) // only update once per frame + { + sUnbakedUpdateTime = gFrameTimeSeconds; + sUnbakedTime += gFrameIntervalSeconds; + } if (grey_avatars > 0) - sGreyTime += gFrameTimeSeconds; + { + if (gFrameTimeSeconds != sGreyUpdateTime) // only update once per frame + { + sGreyUpdateTime = gFrameTimeSeconds; + sGreyTime += gFrameIntervalSeconds; + } + } } } |
