diff options
author | Nyx (Neal Orman) <nyx@lindenlab.com> | 2009-11-09 16:41:16 -0500 |
---|---|---|
committer | Nyx (Neal Orman) <nyx@lindenlab.com> | 2009-11-09 16:41:16 -0500 |
commit | 75bdd2ff321032a3a9d4e814d6067088d48cafab (patch) | |
tree | 0f37364d789ed813d5f8d3640949bee26996ce0f /indra/newview/llwearable.cpp | |
parent | 90d985946ce167a313e2765728caf2652931dfdd (diff) |
EXT-2326 Editing appearance causes too many texture callbacks stalls the viewer
problem was caused by triggering updateMeshTextures() every time visual params
or textures were changed on your base avatar object. The latest structure
makes the parameters and textures in the wearables authoritative, causing them
to be copied to the avatar on a regular basis. This resulted in way too many callbacks
to be registered while waiting for baked textures to be uploaded.
Fixed by removing many calls to updateMeshTextures() and ensuring that it gets called
every time an appropriate param or texture actually changes, or a wearable gets
added/removed. This appears to cut the number of callbacks to a reasonable level.
Code reviewed by Bigpapi.
Diffstat (limited to 'indra/newview/llwearable.cpp')
-rw-r--r-- | indra/newview/llwearable.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index 2b4861ce4f..3185ee45bf 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -674,8 +674,6 @@ void LLWearable::writeToAvatar( BOOL set_by_user, BOOL update_customize_floater avatar->updateSexDependentLayerSets( set_by_user ); } - avatar->updateMeshTextures(); - // if( set_by_user ) // { // gAgent.sendAgentSetAppearance(); @@ -719,7 +717,7 @@ void LLWearable::removeFromAvatar( EWearableType type, BOOL set_by_user ) } avatar->updateVisualParams(); - avatar->updateMeshTextures(); + avatar->wearableUpdated(type); // if( set_by_user ) // { |