summaryrefslogtreecommitdiff
path: root/indra/newview/llvoavatar.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2010-06-10 12:51:25 -0600
committerXiaohong Bao <bao@lindenlab.com>2010-06-10 12:51:25 -0600
commit482436019ad9ce306048d6734e43d0cdd56c583d (patch)
tree1c44ce1f802ff89c433a9b3b1b80c8ee0a53f680 /indra/newview/llvoavatar.cpp
parent5c7911f1e2cb060e5e2353cec01a7ecc09f05126 (diff)
parentaa96a6a4e8ebd86b8dc8da530b79f6cbb0365b04 (diff)
EXT-7760: FIXED: only 10 avatars render non-impostored
Diffstat (limited to 'indra/newview/llvoavatar.cpp')
-rw-r--r--indra/newview/llvoavatar.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 3e93dc1a90..776049a0be 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -595,7 +595,7 @@ LLVOAvatarSkeletonInfo* LLVOAvatar::sAvatarSkeletonInfo = NULL;
LLVOAvatar::LLVOAvatarXmlInfo* LLVOAvatar::sAvatarXmlInfo = NULL;
LLVOAvatarDictionary *LLVOAvatar::sAvatarDictionary = NULL;
S32 LLVOAvatar::sFreezeCounter = 0;
-S32 LLVOAvatar::sMaxVisible = 50;
+U32 LLVOAvatar::sMaxVisible = 12;
F32 LLVOAvatar::sRenderDistance = 256.f;
S32 LLVOAvatar::sNumVisibleAvatars = 0;
S32 LLVOAvatar::sNumLODChangesThisFrame = 0;
@@ -3173,23 +3173,23 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent)
{ // muted avatars update at 16 hz
mUpdatePeriod = 16;
}
- else if (visible && mVisibilityRank <= LLVOAvatar::sMaxVisible * 0.25f)
+ else if (visible && mVisibilityRank <= LLVOAvatar::sMaxVisible)
{ //first 25% of max visible avatars are not impostored
mUpdatePeriod = 1;
}
- else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible * 0.75f)
- { //back 25% of max visible avatars are slow updating impostors
- mUpdatePeriod = 8;
- }
- else if (visible && mVisibilityRank > (U32) LLVOAvatar::sMaxVisible)
+ else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible * 4)
{ //background avatars are REALLY slow updating impostors
mUpdatePeriod = 16;
}
+ else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible * 3)
+ { //back 25% of max visible avatars are slow updating impostors
+ mUpdatePeriod = 8;
+ }
else if (visible && mImpostorPixelArea <= impostor_area)
{ // stuff in between gets an update period based on pixel area
mUpdatePeriod = llclamp((S32) sqrtf(impostor_area*4.f/mImpostorPixelArea), 2, 8);
}
- else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible * 0.25f)
+ else if (visible && mVisibilityRank > LLVOAvatar::sMaxVisible)
{ // force nearby impostors in ultra crowded areas
mUpdatePeriod = 2;
}