From 09f43945d598b50a31bdbe4a3f86c73d909ec9bc Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 4 Mar 2016 16:42:41 -0500 Subject: MAINT-5721: set new (much lower) limits for RenderAutoMuteSurfaceAreaLimit, but also disable if RenderAvatarMaxComplexity is unlimited (zero) --- indra/newview/app_settings/high_graphics.xml | 2 +- indra/newview/app_settings/low_graphics.xml | 2 +- indra/newview/app_settings/mid_graphics.xml | 2 +- indra/newview/app_settings/settings.xml | 6 ++++-- indra/newview/app_settings/ultra_graphics.xml | 2 +- indra/newview/featuretable.txt | 3 +-- indra/newview/featuretable_mac.txt | 3 +-- indra/newview/llvoavatar.cpp | 16 ++++++++++------ 8 files changed, 20 insertions(+), 16 deletions(-) (limited to 'indra') diff --git a/indra/newview/app_settings/high_graphics.xml b/indra/newview/app_settings/high_graphics.xml index f66ba3c4df..c38b3fcda4 100755 --- a/indra/newview/app_settings/high_graphics.xml +++ b/indra/newview/app_settings/high_graphics.xml @@ -29,7 +29,7 @@ - + diff --git a/indra/newview/app_settings/low_graphics.xml b/indra/newview/app_settings/low_graphics.xml index 304e7c7347..b0ddb5bd56 100755 --- a/indra/newview/app_settings/low_graphics.xml +++ b/indra/newview/app_settings/low_graphics.xml @@ -29,7 +29,7 @@ - + diff --git a/indra/newview/app_settings/mid_graphics.xml b/indra/newview/app_settings/mid_graphics.xml index 68f193a15f..41344f935d 100755 --- a/indra/newview/app_settings/mid_graphics.xml +++ b/indra/newview/app_settings/mid_graphics.xml @@ -29,7 +29,7 @@ - + diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index bb8b810b93..ef6107b1d5 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -10030,13 +10030,15 @@ RenderAutoMuteSurfaceAreaLimit Comment - Maximum surface area of attachments before an avatar is rendered as a simple impostor (0 to not use this limit). + Maximum surface area of attachments before an avatar is + rendered as a simple impostor (to not use this limit, set to zero + or set RenderAvatarMaxComplexity to zero). Persist 1 Type F32 Value - 10.0E6 + 1000.0 RenderAutoMuteLogging diff --git a/indra/newview/app_settings/ultra_graphics.xml b/indra/newview/app_settings/ultra_graphics.xml index a333634fea..6b8956bf79 100755 --- a/indra/newview/app_settings/ultra_graphics.xml +++ b/indra/newview/app_settings/ultra_graphics.xml @@ -30,7 +30,7 @@ based on default graphics setting --> - + diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 3b58b943cf..222a992f03 100755 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -34,8 +34,7 @@ RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxNonImpostors 1 16 RenderAvatarMaxComplexity 1 80000 RenderAvatarVP 1 1 -RenderAutoMuteByteLimit 1 10000000 -RenderAutoMuteSurfaceAreaLimit 1 1.0E6 +RenderAutoMuteSurfaceAreaLimit 1 1000.0 RenderCubeMap 1 1 RenderDelayVBUpdate 1 0 RenderFarClip 1 256 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 024aab83dd..f46de50ef6 100755 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -34,8 +34,7 @@ RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxNonImpostors 1 12 RenderAvatarMaxComplexity 1 60000 RenderAvatarVP 1 1 -RenderAutoMuteByteLimit 1 10000000 -RenderAutoMuteSurfaceAreaLimit 1 1.0E6 +RenderAutoMuteSurfaceAreaLimit 1 1000.0 RenderCubeMap 1 1 RenderDelayVBUpdate 1 0 RenderFarClip 1 256 diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index c88f5d1fce..e5d440fa3e 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6522,10 +6522,14 @@ bool LLVOAvatar::isTooComplex() const { // Determine if visually muted or not static LLCachedControl max_render_cost(gSavedSettings, "RenderAvatarMaxComplexity", 0U); - static LLCachedControl max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 10.0E6f); - too_complex = ((max_render_cost > 0 && mVisualComplexity > max_render_cost) - || (max_attachment_area > 0.0f && mAttachmentSurfaceArea > max_attachment_area) - ); + static LLCachedControl max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 1000.0f); + // If the user has chosen unlimited max complexity, we also disregard max attachment area + // so that unlimited will completely disable the overly complex impostor rendering + // yes, this leaves them vulnerable to griefing objects... their choice + too_complex = ( max_render_cost > 0 + && ( mVisualComplexity > max_render_cost + || (max_attachment_area > 0.0f && mAttachmentSurfaceArea > max_attachment_area) + )); } return too_complex; @@ -8282,10 +8286,10 @@ void LLVOAvatar::idleUpdateRenderComplexity() mText->addLine(info_line, info_color, info_style); // Attachment Surface Area - static LLCachedControl max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 10.0E6f); + static LLCachedControl max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 1000.0f); info_line = llformat("%.2f m^2", mAttachmentSurfaceArea); - if (max_attachment_area != 0) // zero means don't care, so don't bother coloring based on this + if (max_render_cost != 0 && max_attachment_area != 0) // zero means don't care, so don't bother coloring based on this { green_level = 1.f-llclamp((mAttachmentSurfaceArea-max_attachment_area)/max_attachment_area, 0.f, 1.f); red_level = llmin(mAttachmentSurfaceArea/max_attachment_area, 1.f); -- cgit v1.2.3