summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2017-09-22 22:03:07 +0100
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2017-09-22 22:03:07 +0100
commit8c38fc7b5661feb180de9a0a9ccbdadbd2af9f37 (patch)
tree7bb324d2179cffd0e2cdbee28cf9944caeb9c56d /indra
parenta6068419e7fe1a5a0eda007b2e989769c0a92262 (diff)
SL-797 - boost ARC by 20K for each attached animated object. Placeholder value to be revised after testing.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llvoavatar.cpp12
-rw-r--r--indra/newview/llvovolume.cpp4
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();
+ }
}
}