From 2987303acd5e24ffa320566571c8987c1cf3f96f Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Fri, 22 Jan 2016 19:50:33 +0200 Subject: [PATCH 1/6] MAINT-6070 detailed logging for computing of Avatar Rendering Complexity --- indra/newview/llvoavatar.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 2e8d8602f9..f14af04c0d 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -8355,6 +8355,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity() } } } + LL_DEBUGS("ARCdetail") << "Avatar body parts complexity: " << cost << LL_ENDL; for (attachment_map_t::const_iterator attachment_point = mAttachmentPoints.begin(); @@ -8376,7 +8377,12 @@ void LLVOAvatar::calculateUpdateRenderComplexity() const LLVOVolume* volume = drawable->getVOVolume(); if (volume) { - cost += volume->getRenderCost(textures); + U32 attachment_total_cost = 0; + U32 attachment_volume_cost = 0; + U32 attachment_texture_cost = 0; + U32 attachment_children_cost = 0; + + attachment_volume_cost += volume->getRenderCost(textures); const_child_list_t children = volume->getChildren(); for (const_child_list_t::const_iterator child_iter = children.begin(); @@ -8387,7 +8393,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity() LLVOVolume *child = dynamic_cast( child_obj ); if (child) { - cost += child->getRenderCost(textures); + attachment_children_cost += child->getRenderCost(textures); } } @@ -8396,8 +8402,17 @@ void LLVOAvatar::calculateUpdateRenderComplexity() ++volume_texture) { // add the cost of each individual texture in the linkset - cost += volume_texture->second; + attachment_texture_cost += volume_texture->second; } + + attachment_total_cost = attachment_volume_cost + attachment_texture_cost + attachment_children_cost; + LL_DEBUGS("ARCdetail") << "Attachment " << attached_object->getAttachmentItemID() + << " has total cost: " << attachment_total_cost + << " volume cost: " << attachment_volume_cost + << " texture cost: " << attachment_texture_cost + << " and includes " << volume->numChildren() + << " children with " << attachment_children_cost << " cost" << LL_ENDL; + cost += attachment_total_cost; } } } From c98bed2319f642051d13215af65e719910dc9bb3 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Fri, 22 Jan 2016 21:41:00 +0200 Subject: [PATCH 2/6] MAINT-6070 compressing logs --- indra/newview/llvoavatar.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index f14af04c0d..d57ba02dcc 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -8406,12 +8406,13 @@ void LLVOAvatar::calculateUpdateRenderComplexity() } attachment_total_cost = attachment_volume_cost + attachment_texture_cost + attachment_children_cost; - LL_DEBUGS("ARCdetail") << "Attachment " << attached_object->getAttachmentItemID() - << " has total cost: " << attachment_total_cost - << " volume cost: " << attachment_volume_cost - << " texture cost: " << attachment_texture_cost - << " and includes " << volume->numChildren() - << " children with " << attachment_children_cost << " cost" << LL_ENDL; + LL_DEBUGS("ARCdetail") << "Attachment costs " << attached_object->getAttachmentItemID() + << " total: " << attachment_total_cost + << ", volume: " << attachment_volume_cost + << ", textures: " << attachment_texture_cost + << ", " << volume->numChildren() + << " children: " << attachment_children_cost + << LL_ENDL; cost += attachment_total_cost; } } From 510ca136794008f73895c72c07d4f93e345ced26 Mon Sep 17 00:00:00 2001 From: ruslantproductengine Date: Wed, 3 Feb 2016 17:15:59 +0200 Subject: [PATCH 3/6] MAINT-5682 ([QuickGraphics] Some avatars are invisible) Fixed two cases: - When changing in graphics settings lead to imposers resting and not restoring - When avatar become always invisible as descrivbed in ticket --- indra/newview/llvoavatar.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index d57ba02dcc..8f94e608b1 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1101,6 +1101,7 @@ void LLVOAvatar::resetImpostors() { LLVOAvatar* avatar = (LLVOAvatar*) *iter; avatar->mImpostor.release(); + avatar->mNeedsImpostorUpdate = TRUE; } } @@ -8073,7 +8074,7 @@ void LLVOAvatar::updateFreezeCounter(S32 counter) BOOL LLVOAvatar::updateLOD() { - if (isImpostor()) + if (isImpostor() && 0 != mDrawable->getNumFaces() && mDrawable->getFace(0)->hasGeometry()) { return TRUE; } From ba2fccf6dc8adcf4abda06004a5f450b5d79856d Mon Sep 17 00:00:00 2001 From: ruslantproductengine Date: Mon, 8 Feb 2016 19:16:58 +0200 Subject: [PATCH 4/6] MAINT-6069 Modify rendering cost calculation to use the currently active LoD --- indra/newview/llvovolume.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index f8f613cf0f..c15bf4ecf3 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -3435,7 +3435,7 @@ U32 LLVOVolume::getRenderCost(texture_cost_t &textures) const { // base cost is dependent on mesh complexity // note that 3 is the highest LOD as of the time of this coding. - S32 size = gMeshRepo.getMeshSize(volume_params.getSculptID(),3); + S32 size = gMeshRepo.getMeshSize(volume_params.getSculptID(), getLOD()); if ( size > 0) { if (gMeshRepo.getSkinInfo(volume_params.getSculptID(), this)) From be8844ff3bd88f24fd3922d64d6d0f786407a880 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 12 Feb 2016 16:58:33 -0500 Subject: [PATCH 5/6] MAINT-1945: correct total bytes sent in log stats --- indra/llmessage/message.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llmessage/message.cpp b/indra/llmessage/message.cpp index e9ce94ab3b..026f71ff43 100755 --- a/indra/llmessage/message.cpp +++ b/indra/llmessage/message.cpp @@ -1360,7 +1360,7 @@ S32 LLMessageSystem::sendMessage(const LLHost &host) mPacketsOut++; - mBytesOut += buffer_length; + mTotalBytesOut += buffer_length; mSendReliable = FALSE; mReliablePacketParams.clear(); From 2dcfa3b6bd3ebeeab62174d86f9dc85558bcb7c8 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 12 Feb 2016 16:58:41 -0500 Subject: [PATCH 6/6] Suppress some overly verbose logging --- indra/llmessage/llavatarnamecache.cpp | 2 +- indra/newview/app_settings/logcontrol.xml | 26 ++++++++++++------- .../newview/llavatarrenderinfoaccountant.cpp | 4 +-- indra/newview/llviewermessage.cpp | 8 +++--- indra/newview/llwaterparammanager.cpp | 2 +- indra/newview/llwldaycycle.cpp | 2 +- 6 files changed, 26 insertions(+), 18 deletions(-) diff --git a/indra/llmessage/llavatarnamecache.cpp b/indra/llmessage/llavatarnamecache.cpp index 549708097a..360d239e61 100755 --- a/indra/llmessage/llavatarnamecache.cpp +++ b/indra/llmessage/llavatarnamecache.cpp @@ -355,7 +355,7 @@ void LLAvatarNameCache::requestNamesViaCapability() if (!url.empty()) { - LL_INFOS("AvNameCache") << "LLAvatarNameCache::requestNamesViaCapability getting " << ids << " ids" << LL_ENDL; + LL_DEBUGS("AvNameCache") << " getting " << ids << " ids" << LL_ENDL; LLHTTPClient::get(url, new LLAvatarNameResponder(agent_ids)); } } diff --git a/indra/newview/app_settings/logcontrol.xml b/indra/newview/app_settings/logcontrol.xml index de3732f339..ecd7c4bc36 100755 --- a/indra/newview/app_settings/logcontrol.xml +++ b/indra/newview/app_settings/logcontrol.xml @@ -5,7 +5,23 @@ print-location false settings - + + + levelERROR + functions + + + classes + + + files + + + tags + + ShaderLoading + + levelINFO functions @@ -19,14 +35,6 @@ tags - AppInit - Capabilities - SystemInfo - TextureCache - AppCache - Window - RenderInit - MediaAuth diff --git a/indra/newview/llavatarrenderinfoaccountant.cpp b/indra/newview/llavatarrenderinfoaccountant.cpp index d351b38653..2760a97bda 100644 --- a/indra/newview/llavatarrenderinfoaccountant.cpp +++ b/indra/newview/llavatarrenderinfoaccountant.cpp @@ -311,7 +311,7 @@ void LLAvatarRenderInfoAccountant::sendRenderInfoToRegion(LLViewerRegion * regio } else { - LL_INFOS("AvatarRenderInfo") << "Sent render costs for " << num_avs + LL_DEBUGS("AvatarRenderInfo") << "Sent render costs for " << num_avs << " avatars to region " << regionp->getName() << LL_ENDL; @@ -356,7 +356,7 @@ void LLAvatarRenderInfoAccountant::getRenderInfoFromRegion(LLViewerRegion * regi handler); if (LLCORE_HTTP_HANDLE_INVALID != handle) { - LL_INFOS("AvatarRenderInfo") << "Requested avatar render info for region " + LL_DEBUGS("AvatarRenderInfo") << "Requested avatar render info for region " << regionp->getName() << LL_ENDL; } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 6ba10373b9..6ab7a324cb 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2468,7 +2468,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) buffer = message; - LL_INFOS("Messaging") << "process_improved_im: session_id( " << session_id << " ), from_id( " << from_id << " )" << LL_ENDL; + LL_DEBUGS("Messaging") << "session_id( " << session_id << " ), from_id( " << from_id << " )" << LL_ENDL; // add to IM panel, but do not bother the user gIMMgr->addMessage( @@ -2517,7 +2517,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) } buffer = saved + message; - LL_INFOS("Messaging") << "process_improved_im: session_id( " << session_id << " ), from_id( " << from_id << " )" << LL_ENDL; + LL_DEBUGS("Messaging") << "session_id( " << session_id << " ), from_id( " << from_id << " )" << LL_ENDL; bool mute_im = is_muted; if(accept_im_from_only_friend && !is_friend && !is_linden) @@ -2982,7 +2982,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) buffer = message; - LL_INFOS("Messaging") << "process_improved_im: session_id( " << session_id << " ), from_id( " << from_id << " )" << LL_ENDL; + LL_DEBUGS("Messaging") << "message in dnd; session_id( " << session_id << " ), from_id( " << from_id << " )" << LL_ENDL; // add to IM panel, but do not bother the user gIMMgr->addMessage( @@ -3009,7 +3009,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) buffer = saved + message; - LL_INFOS("Messaging") << "process_improved_im: session_id( " << session_id << " ), from_id( " << from_id << " )" << LL_ENDL; + LL_DEBUGS("Messaging") << "standard message session_id( " << session_id << " ), from_id( " << from_id << " )" << LL_ENDL; gIMMgr->addMessage( session_id, diff --git a/indra/newview/llwaterparammanager.cpp b/indra/newview/llwaterparammanager.cpp index 374792193c..28ae569ba2 100755 --- a/indra/newview/llwaterparammanager.cpp +++ b/indra/newview/llwaterparammanager.cpp @@ -89,7 +89,7 @@ void LLWaterParamManager::loadAllPresets() void LLWaterParamManager::loadPresetsFromDir(const std::string& dir) { - LL_INFOS("AppInit", "Shaders") << "Loading water presets from " << dir << LL_ENDL; + LL_DEBUGS("AppInit", "Shaders") << "Loading water presets from " << dir << LL_ENDL; LLDirIterator dir_iter(dir, "*.xml"); while (1) diff --git a/indra/newview/llwldaycycle.cpp b/indra/newview/llwldaycycle.cpp index 88079c5d26..106f17f61b 100755 --- a/indra/newview/llwldaycycle.cpp +++ b/indra/newview/llwldaycycle.cpp @@ -107,7 +107,7 @@ void LLWLDayCycle::loadDayCycleFromFile(const std::string & fileName) // static LLSD LLWLDayCycle::loadDayCycleFromPath(const std::string& file_path) { - LL_INFOS("Windlight") << "Loading DayCycle settings from " << file_path << LL_ENDL; + LL_DEBUGS("Windlight") << "Loading DayCycle settings from " << file_path << LL_ENDL; llifstream day_cycle_xml(file_path.c_str()); if (day_cycle_xml.is_open())