SH-2970 WIP - more phase tracking

master
Brad Payne (Vir Linden) 2012-03-08 17:07:23 -05:00
parent accc2c6fc8
commit 7bc698cbec
5 changed files with 55 additions and 10 deletions

3
indra/newview/llagentwearables.cpp Normal file → Executable file
View File

@ -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");
}

View File

@ -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");
}
}

View File

@ -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()

View File

@ -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;
/*********************************************************************************

View File

@ -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