summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x[-rw-r--r--]indra/newview/llagentwearables.cpp3
-rw-r--r--indra/newview/llagentwearablesfetch.cpp2
-rwxr-xr-xindra/newview/llappearancemgr.cpp32
-rwxr-xr-xindra/newview/llvoavatarself.cpp24
-rwxr-xr-xindra/newview/llvoavatarself.h4
5 files changed, 55 insertions, 10 deletions
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 53ca0a214a..bb6b98096b 100644..100755
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -952,6 +952,8 @@ void LLAgentWearables::processAgentInitialWearablesUpdate(LLMessageSystem* mesgs
if (isAgentAvatarValid())
{
+ gAgentAvatarp->clearPhases(); // reset phase timers for outfit loading.
+ gAgentAvatarp->startPhase("process_initial_wearables_update");
gAgentAvatarp->outputRezTiming("Received initial wearables update");
}
@@ -1627,6 +1629,7 @@ void LLAgentWearables::queryWearableCache()
{
if (isAgentAvatarValid())
{
+ selfStartPhase("fetch_texture_cache_entries");
gAgentAvatarp->outputRezTiming("Fetching textures from cache");
}
diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp
index 8cba54347e..2735c7ef39 100644
--- a/indra/newview/llagentwearablesfetch.cpp
+++ b/indra/newview/llagentwearablesfetch.cpp
@@ -89,6 +89,7 @@ LLInitialWearablesFetch::LLInitialWearablesFetch(const LLUUID& cof_id) :
{
if (isAgentAvatarValid())
{
+ gAgentAvatarp->startPhase("initial_wearables_fetch");
gAgentAvatarp->outputRezTiming("Initial wearables fetch started");
}
}
@@ -107,6 +108,7 @@ void LLInitialWearablesFetch::done()
doOnIdleOneTime(boost::bind(&LLInitialWearablesFetch::processContents,this));
if (isAgentAvatarValid())
{
+ gAgentAvatarp->stopPhase("initial_wearables_fetch");
gAgentAvatarp->outputRezTiming("Initial wearables fetch done");
}
}
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index c7da1f7b8c..13f76c0593 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -161,6 +161,8 @@ public:
{
mCatID = cat_id;
mAppend = append;
+
+ selfStartPhase("wear_inventory_category_callback");
}
void fire(const LLUUID& item_id)
{
@@ -172,6 +174,7 @@ public:
* after the last item has fired the event and dereferenced it -- if all
* the events actually fire!
*/
+ selfStopPhase("wear_inventory_category_callback");
}
protected:
@@ -217,11 +220,14 @@ LLUpdateAppearanceOnDestroy::LLUpdateAppearanceOnDestroy(bool update_base_outfit
mFireCount(0),
mUpdateBaseOrder(update_base_outfit_ordering)
{
+ selfStartPhase("update_appearance_on_destroy");
}
LLUpdateAppearanceOnDestroy::~LLUpdateAppearanceOnDestroy()
{
llinfos << self_av_string() << "done update appearance on destroy" << llendl;
+
+ selfStopPhase("update_appearance_on_destroy");
if (!LLApp::isExiting())
{
@@ -344,14 +350,16 @@ LLWearableHoldingPattern::LLWearableHoldingPattern():
}
sActiveHoldingPatterns.insert(this);
- gAgentAvatarp->clearPhases();
- gAgentAvatarp->startPhase("holding_pattern");
+ selfStartPhase("holding_pattern");
}
LLWearableHoldingPattern::~LLWearableHoldingPattern()
{
sActiveHoldingPatterns.erase(this);
- gAgentAvatarp->stopPhase("holding_pattern");
+ if (isMostRecent())
+ {
+ selfStopPhase("holding_pattern");
+ }
}
bool LLWearableHoldingPattern::isMostRecent()
@@ -439,10 +447,8 @@ void LLWearableHoldingPattern::checkMissingWearables()
}
resetTime(60.0F);
- if (!isMissingCompleted())
- {
- gAgentAvatarp->startPhase("get_missing_wearables");
- }
+
+ selfStartPhase("get_missing_wearables");
if (!pollMissingWearables())
{
doOnIdleRepeating(boost::bind(&LLWearableHoldingPattern::pollMissingWearables,this));
@@ -506,7 +512,7 @@ void LLWearableHoldingPattern::onAllComplete()
void LLWearableHoldingPattern::onFetchCompletion()
{
- gAgentAvatarp->stopPhase("get_wearables");
+ selfStopPhase("get_wearables");
if (!isMostRecent())
{
@@ -715,7 +721,8 @@ bool LLWearableHoldingPattern::pollMissingWearables()
if (done)
{
- gAgentAvatarp->stopPhase("get_missing_wearables");
+ selfStopPhase("get_missing_wearables");
+
gAgentAvatarp->debugWearablesLoaded();
// BAP - if we don't call clearCOFLinksForMissingWearables()
@@ -1701,6 +1708,8 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering)
return;
}
+ selfStartPhase("update_appearance_from_cof");
+
BoolSetter setIsInUpdateAppearanceFromCOF(mIsInUpdateAppearanceFromCOF);
llinfos << self_av_string() << "starting" << llendl;
@@ -1795,7 +1804,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering)
}
}
- gAgentAvatarp->startPhase("get_wearables");
+ selfStartPhase("get_wearables");
for (LLWearableHoldingPattern::found_list_t::iterator it = holder->getFoundList().begin();
it != holder->getFoundList().end(); ++it)
@@ -1874,6 +1883,9 @@ void LLAppearanceMgr::wearInventoryCategory(LLInventoryCategory* category, bool
{
if(!category) return;
+ selfClearPhases();
+ selfStartPhase("wear_inventory_category");
+
gAgentWearables.notifyLoadingStarted();
llinfos << self_av_string() << "wearInventoryCategory( " << category->getName()
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index 2c206347bc..ed3295c43c 100755
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -74,6 +74,30 @@ BOOL isAgentAvatarValid()
(!gAgentAvatarp->isDead()));
}
+void selfStartPhase(const std::string& phase_name)
+{
+ if (isAgentAvatarValid())
+ {
+ gAgentAvatarp->startPhase(phase_name);
+ }
+}
+
+void selfStopPhase(const std::string& phase_name)
+{
+ if (isAgentAvatarValid())
+ {
+ gAgentAvatarp->stopPhase(phase_name);
+ }
+}
+
+void selfClearPhases()
+{
+ if (isAgentAvatarValid())
+ {
+ gAgentAvatarp->clearPhases();
+ }
+}
+
using namespace LLVOAvatarDefines;
/*********************************************************************************
diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h
index aaceff933a..9ac4306419 100755
--- a/indra/newview/llvoavatarself.h
+++ b/indra/newview/llvoavatarself.h
@@ -388,4 +388,8 @@ extern LLVOAvatarSelf *gAgentAvatarp;
BOOL isAgentAvatarValid();
+void selfStartPhase(const std::string& phase_name);
+void selfStopPhase(const std::string& phase_name);
+void selfClearPhases();
+
#endif // LL_VO_AVATARSELF_H