diff options
| -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">  | 
