diff options
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/app_settings/settings.xml | 28 | ||||
-rwxr-xr-x | indra/newview/llvoavatar.cpp | 55 | ||||
-rwxr-xr-x | indra/newview/llvoavatar.h | 1 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/menu_viewer.xml | 9 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/notifications.xml | 39 |
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"> |