summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rwxr-xr-xindra/newview/app_settings/settings.xml28
-rwxr-xr-xindra/newview/llvoavatar.cpp55
-rwxr-xr-xindra/newview/llvoavatar.h1
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_viewer.xml9
-rwxr-xr-xindra/newview/skins/default/xui/en/notifications.xml39
5 files changed, 15 insertions, 117 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 676ba57726..7cb45559fa 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -9480,7 +9480,7 @@
<key>RenderAutoMuteByteLimit</key>
<map>
<key>Comment</key>
- <string>Maximum bytes of attachments before an avatar is automatically visually muted (0 for no limit).</string>
+ <string>Maximum bytes of attachments before an avatar is rendered as a simple imposter (0 for no limit).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -9491,7 +9491,7 @@
<key>RenderAutoMuteRenderCostLimit</key>
<map>
<key>Comment</key>
- <string>Maximum render weight before an avatar is automatically visually muted (0 to not use this limit).</string>
+ <string>Maximum render weight before an avatar is rendered as a simple imposter (0 to not use this limit).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -9502,7 +9502,7 @@
<key>RenderAutoMuteSurfaceAreaLimit</key>
<map>
<key>Comment</key>
- <string>Maximum surface area of attachments before an avatar is automatically visually muted (0 to not use this limit).</string>
+ <string>Maximum surface area of attachments before an avatar is rendered as a simple imposter (0 to not use this limit).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -9510,16 +9510,16 @@
<key>Value</key>
<integer>0</integer>
</map>
- <key>RenderAutoMuteEnabled</key>
+ <key>RenderAutoMuteThreshold</key>
<map>
<key>Comment</key>
- <string>Apply visual muting to high cost, non-friends, not in IM, or somewhat distant avatars</string>
+ <string>Threshold on the Avatar Detail slider where simple imposter mode is enabled. (less than 0 is always on, greather than 1 always off)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
- <string>Boolean</string>
+ <string>F32</string>
<key>Value</key>
- <integer>0</integer>
+ <real>0.25</real>
</map>
<key>RenderAutoMuteLogging</key>
<map>
@@ -9531,19 +9531,7 @@
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
- </map>
- <key>RenderAutoMuteVisibilityRank</key>
- <map>
- <key>Comment</key>
- <string>Number of avatars to show normally for visual muting mode.</string>
- <key>Persist</key>
- <integer>1</integer>
- <key>Type</key>
- <string>U32</string>
- <key>Value</key>
- <integer>0</integer>
- </map>
-
+ </map>
<key>RenderAutoHideSurfaceAreaLimit</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 3c25339037..4de2f4684e 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -2999,11 +2999,10 @@ bool LLVOAvatar::isVisuallyMuted()
if (!isSelf())
{
- static LLCachedControl<bool> render_mute_enabled(gSavedSettings, "RenderAutoMuteEnabled");
+ static LLCachedControl<F32> render_mute_threshold(gSavedSettings, "RenderAutoMuteThreshold");
static LLCachedControl<U32> max_attachment_bytes(gSavedSettings, "RenderAutoMuteByteLimit");
static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit");
static LLCachedControl<U32> max_render_cost(gSavedSettings, "RenderAutoMuteRenderCostLimit");
- static LLCachedControl<U32> visibility_rank(gSavedSettings, "RenderAutoMuteVisibilityRank");
if (mVisuallyMuteSetting == ALWAYS_VISUAL_MUTE)
{ // Always want to see this AV as an imposter
@@ -3013,7 +3012,7 @@ bool LLVOAvatar::isVisuallyMuted()
{ // Never show as imposter
muted = false;
}
- else if (render_mute_enabled)
+ else if (LLVOAvatar::sLODFactor <= render_mute_threshold)
{
F64 now = LLFrameTimer::getTotalSeconds();
@@ -3034,13 +3033,14 @@ bool LLVOAvatar::isVisuallyMuted()
// Could be part of the grand || collection above, but yanked out to make the logic visible
if (!muted)
{
- if (visibility_rank > 0)
+ if (sMaxVisible > 0)
{ // They are above the visibilty rank - mute them
- muted = (mVisibilityRank > visibility_rank);
+ muted = (mVisibilityRank > sMaxVisible);
}
+ /* Not used - always draw friends or those in IMs. Works nicely, needs UI?
if (muted || // Don't mute friends or IMs
- visibility_rank == 0)
+ sMaxVisible == 0)
{
muted = !(LLAvatarTracker::instance().isBuddy(getID()));
if (muted)
@@ -3049,6 +3049,7 @@ bool LLVOAvatar::isVisuallyMuted()
muted = !gIMMgr->hasSession(session_id);
}
}
+ */
}
// Save visual mute state and set interval for updating
@@ -7879,8 +7880,6 @@ void LLVOAvatar::idleUpdateRenderCost()
calculateUpdateRenderCost(); // Update mVisualComplexity if needed
- doRenderCostNagging(max_render_cost); // Remind the user their AV is too complex
-
if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHAME))
{
std::string viz_string = LLVOAvatar::rezStatusToString(getRezzedStatus());
@@ -7892,46 +7891,6 @@ void LLVOAvatar::idleUpdateRenderCost()
}
-// Remind the user about their expensive avatar
-void LLVOAvatar::doRenderCostNagging(U32 max_render_cost)
-{
- if (isSelf())
- {
- static S32 sOldComplexity = 0;
- static F64 sLastRenderCostNagTime = 0.0;
-
- const F64 RENDER_NAG_INTERVAL = 60.0;
-
- F64 now = LLFrameTimer::getTotalSeconds();
- if (sLastRenderCostNagTime > 0.0 &&
- (now - sLastRenderCostNagTime) > RENDER_NAG_INTERVAL &&
- sOldComplexity != mVisualComplexity)
- {
- sOldComplexity = mVisualComplexity;
-
- if (max_render_cost > 0)
- { //pop up notification that you have exceeded a render cost limit
- if (mVisualComplexity > max_render_cost+max_render_cost/2)
- {
- LLNotificationsUtil::add("ExceededHighDetailRenderCost");
- sLastRenderCostNagTime = now;
- }
- else if (mVisualComplexity > max_render_cost)
- {
- LLNotificationsUtil::add("ExceededMidDetailRenderCost");
- sLastRenderCostNagTime = now;
- }
- else if (mVisualComplexity > max_render_cost/2)
- {
- LLNotificationsUtil::add("ExceededLowDetailRenderCost");
- sLastRenderCostNagTime = now;
- }
- }
- }
- }
-}
-
-
// Calculations for mVisualComplexity value
void LLVOAvatar::calculateUpdateRenderCost()
{
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index 8862056066..afe1d56059 100755
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -250,7 +250,6 @@ public:
static void invalidateNameTags();
void addNameTagLine(const std::string& line, const LLColor4& color, S32 style, const LLFontGL* font);
void idleUpdateRenderCost();
- void doRenderCostNagging(U32 max_render_cost);
void calculateUpdateRenderCost();
void updateVisualComplexity() { mVisualComplexityStale = TRUE; }
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index f66272aa2e..9c8313f46c 100755
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -547,15 +547,6 @@
<menu_item_check.on_check
control="NavBarShowParcelProperties" />
</menu_item_check>
- <menu_item_check
- label="Simple Imposters"
- name="RenderAutoMuteEnabled">
- <menu_item_check.on_check
- control="RenderAutoMuteEnabled" />
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="RenderAutoMuteEnabled" />
- </menu_item_check>
<menu_item_separator />
<menu_item_check
label="Advanced Menu"
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 5bf33da14a..1e18ddbf99 100755
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -203,45 +203,6 @@ Message Template [PATH] not found.
</notification>
<notification
- icon="notify.tga"
- name="ExceededHighDetailRenderCost"
- persist="false"
- type="alertmodal">
- Your avatar has become too complex to be rendered by even high performance computers. Almost all Residents will see a low detail stand in instead of your actual avatar.
- <unique/>
- <usetemplate
- ignoretext="Avatar exceeded high detail complexity."
- name="okignore"
- yestext="Close"/>
- </notification>
-
- <notification
- icon="notify.tga"
- name="ExceededMidDetailRenderCost"
- persist="false"
- type="alertmodal">
- Your avatar has become too complex to be rendered by most computers. Many Residents will see a low detail stand in instead of your actual avatar.
- <unique/>
- <usetemplate
- ignoretext="Avatar exceeded mid detail complexity."
- name="okignore"
- yestext="Close"/>
-</notification>
-
- <notification
- icon="notify.tga"
- name="ExceededLowDetailRenderCost"
- persist="false"
- type="alertmodal">
- Your avatar has become too complex to be rendered by some computers. Some Residents will see a low detail stand in instead of your actual avatar.
- <unique/>
- <usetemplate
- ignoretext="Avatar exceeded low detail complexity."
- name="okignore"
- yestext="Close"/>
- </notification>
-
- <notification
icon="alertmodal.tga"
name="WearableSave"
type="alertmodal">