For EXT-5259: Major regression in load time for new users from 1.23 to 2.0. Moved autopopulate to after avatar appearance resolves

meow-7.2.2
Brad Payne (Vir Linden) 2010-02-12 13:12:26 -05:00
parent cc8b983398
commit a3d8338cdc
5 changed files with 26 additions and 11 deletions

View File

@ -2143,6 +2143,8 @@ void LLAgentWearables::updateServer()
void LLAgentWearables::populateMyOutfitsFolder(void)
{
llinfos << "BAP starting populate" << llendl;
LLLibraryOutfitsFetch* outfits = new LLLibraryOutfitsFetch();
// Get the complete information on the items in the inventory and

View File

@ -1307,6 +1307,20 @@ void LLAppearanceManager::updateIsDirty()
}
}
void LLAppearanceManager::onFirstFullyVisible()
{
// If this is the very first time the user has logged into viewer2+ (from a legacy viewer, or new account)
// then auto-populate outfits from the library into the My Outfits folder.
static bool check_populate_my_outfits = true;
if (check_populate_my_outfits &&
(LLInventoryModel::getIsFirstTimeInViewer2()
|| gSavedSettings.getBOOL("MyOutfitsAutofill")))
{
gAgentWearables.populateMyOutfitsFolder();
}
check_populate_my_outfits = false;
}
//#define DUMP_CAT_VERBOSE
void LLAppearanceManager::dumpCat(const LLUUID& cat_id, const std::string& msg)

View File

@ -113,6 +113,9 @@ public:
// should only be necessary to do on initial login.
void updateIsDirty();
// Called when self avatar is first fully visible.
void onFirstFullyVisible();
protected:
LLAppearanceManager();
~LLAppearanceManager();

View File

@ -1891,17 +1891,6 @@ bool idle_startup()
}
}
// If this is the very first time the user has logged into viewer2+ (from a legacy viewer, or new account)
// then auto-populate outfits from the library into the My Outfits folder.
static bool check_populate_my_outfits = true;
if (check_populate_my_outfits &&
(LLInventoryModel::getIsFirstTimeInViewer2()
|| gSavedSettings.getBOOL("MyOutfitsAutofill")))
{
gAgentWearables.populateMyOutfitsFolder();
}
check_populate_my_outfits = false;
return TRUE;
}

View File

@ -2535,6 +2535,13 @@ void LLVOAvatar::idleUpdateLoadingEffect()
if (isFullyLoaded() && isSelf())
{
llwarns << "BAP self isFullyLoaded" << llendl;
static bool first_fully_visible = true;
if (first_fully_visible)
{
first_fully_visible = false;
LLAppearanceManager::instance().onFirstFullyVisible();
}
}
if (isFullyLoaded())
{