diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2017-09-22 22:03:07 +0100 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2017-09-22 22:03:07 +0100 |
commit | 8c38fc7b5661feb180de9a0a9ccbdadbd2af9f37 (patch) | |
tree | 7bb324d2179cffd0e2cdbee28cf9944caeb9c56d | |
parent | a6068419e7fe1a5a0eda007b2e989769c0a92262 (diff) |
SL-797 - boost ARC by 20K for each attached animated object. Placeholder value to be revised after testing.
-rw-r--r-- | indra/newview/llvoavatar.cpp | 12 | ||||
-rw-r--r-- | indra/newview/llvovolume.cpp | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index ac5d1b335c..fdce66e2c6 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -9165,6 +9165,12 @@ void LLVOAvatar::updateImpostorRendering(U32 newMaxNonImpostorsValue) void LLVOAvatar::idleUpdateRenderComplexity() { + if (isControlAvatar()) + { + // ARC for animated object attachments is accounted with the avatar they're attached to. + return; + } + // Render Complexity calculateUpdateRenderComplexity(); // Update mVisualComplexity if needed @@ -9319,7 +9325,13 @@ void LLVOAvatar::calculateUpdateRenderComplexity() F32 attachment_volume_cost = 0; F32 attachment_texture_cost = 0; F32 attachment_children_cost = 0; + // AXON placeholder value, will revisit in testing. + const F32 animated_object_attachment_surcharge = 20000; + if (attached_object->isAnimatedObject()) + { + attachment_volume_cost += animated_object_attachment_surcharge; + } attachment_volume_cost += volume->getRenderCost(textures); const_child_list_t children = volume->getChildren(); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 07032ca0ae..e660a4c4a6 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -3340,6 +3340,10 @@ void LLVOVolume::setExtendedMeshFlags(U32 flags) param_block->setFlags(flags); } parameterChanged(LLNetworkData::PARAMS_EXTENDED_MESH, true); + if (isAttachment() && getAvatarAncestor()) + { + getAvatarAncestor()->updateVisualComplexity(); + } } } |