diff options
-rw-r--r-- | indra/newview/llavatarrendernotifier.cpp | 16 | ||||
-rw-r--r-- | indra/newview/llavatarrendernotifier.h | 26 | ||||
-rw-r--r-- | indra/newview/llfloaterperformance.cpp | 135 | ||||
-rw-r--r-- | indra/newview/llfloaterperformance.h | 11 | ||||
-rw-r--r-- | indra/newview/llvoavatar.cpp | 33 | ||||
-rw-r--r-- | indra/newview/llvoavatar.h | 3 | ||||
-rw-r--r-- | indra/newview/skins/default/textures/icons/green_dot.png | bin | 18614 -> 0 bytes | |||
-rw-r--r-- | indra/newview/skins/default/textures/textures.xml | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_performance.xml | 730 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_performance_complexity.xml (renamed from indra/newview/skins/default/xui/en/panel_performance_scripts.xml) | 46 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_performance_huds.xml | 20 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_performance_nearby.xml | 25 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_performance_preferences.xml | 4 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_performance_troubleshooting.xml | 4 |
14 files changed, 597 insertions, 458 deletions
diff --git a/indra/newview/llavatarrendernotifier.cpp b/indra/newview/llavatarrendernotifier.cpp index 4fd57c7341..8b09f7903d 100644 --- a/indra/newview/llavatarrendernotifier.cpp +++ b/indra/newview/llavatarrendernotifier.cpp @@ -235,6 +235,12 @@ void LLAvatarRenderNotifier::updateNotificationAgent(U32 agentComplexity) // save the value for use in following messages mLatestAgentComplexity = agentComplexity; + static LLCachedControl<U32> show_my_complexity_changes(gSavedSettings, "ShowMyComplexityChanges", 20); + if (!show_my_complexity_changes) + { + return; + } + if (!isAgentAvatarValid() || !gAgentWearables.areWearablesLoaded()) { // data not ready, nothing to show. @@ -282,7 +288,8 @@ static const char* e_hud_messages[] = }; LLHUDRenderNotifier::LLHUDRenderNotifier() : -mReportedHUDWarning(WARN_NONE) +mReportedHUDWarning(WARN_NONE), +mHUDsCount(0) { } @@ -299,7 +306,14 @@ void LLHUDRenderNotifier::updateNotificationHUD(hud_complexity_list_t complexity } mHUDComplexityList = complexity; + mHUDsCount = mHUDComplexityList.size(); + static LLCachedControl<U32> show_my_complexity_changes(gSavedSettings, "ShowMyComplexityChanges", 20); + if (!show_my_complexity_changes) + { + return; + } + // TODO: // Find a way to show message with list of issues, but without making it too large // and intrusive. diff --git a/indra/newview/llavatarrendernotifier.h b/indra/newview/llavatarrendernotifier.h index 3fd7a32d84..37130bfcf6 100644 --- a/indra/newview/llavatarrendernotifier.h +++ b/indra/newview/llavatarrendernotifier.h @@ -63,6 +63,25 @@ struct LLHUDComplexity typedef std::list<LLHUDComplexity> hud_complexity_list_t; +struct LLObjectComplexity +{ + LLObjectComplexity() + { + reset(); + } + void reset() + { + objectId = LLUUID::null; + objectName = ""; + objectCost = 0; + } + LLUUID objectId; + std::string objectName; + U32 objectCost; +}; + +typedef std::list<LLObjectComplexity> object_complexity_list_t; + // Class to notify user about drastic changes in agent's render weights or if other agents // reported that user's agent is too 'heavy' for their settings class LLAvatarRenderNotifier : public LLSingleton<LLAvatarRenderNotifier> @@ -77,6 +96,9 @@ public: void updateNotificationState(); void updateNotificationAgent(U32 agentComplexity); + void setObjectComplexityList(object_complexity_list_t object_list) { mObjectComplexityList = object_list; } + object_complexity_list_t getObjectComplexityList() { return mObjectComplexityList; } + private: LLNotificationPtr mNotificationPtr; @@ -109,6 +131,8 @@ private: // Used to detect changes in voavatar's rezzed status. // If value decreases - there were changes in outfit. S32 mLastOutfitRezStatus; + + object_complexity_list_t mObjectComplexityList; }; // Class to notify user about heavy set of HUD @@ -122,6 +146,7 @@ public: bool isNotificationVisible(); hud_complexity_list_t getHUDComplexityList() { return mHUDComplexityList; } + S32 getHUDsCount() { return mHUDsCount; } private: enum EWarnLevel @@ -144,6 +169,7 @@ private: LLHUDComplexity mLatestHUDComplexity; LLFrameTimer mHUDPopUpDelayTimer; hud_complexity_list_t mHUDComplexityList; + S32 mHUDsCount; }; #endif /* ! defined(LL_llavatarrendernotifier_H) */ diff --git a/indra/newview/llfloaterperformance.cpp b/indra/newview/llfloaterperformance.cpp index a44c3a262d..c96d3dac5e 100644 --- a/indra/newview/llfloaterperformance.cpp +++ b/indra/newview/llfloaterperformance.cpp @@ -37,17 +37,22 @@ #include "lltextbox.h" #include "lltrans.h" #include "llvoavatar.h" +#include "llvoavatarself.h" + +const F32 REFRESH_INTERVAL = 1.0f; +const S32 COMPLEXITY_THRESHOLD_1 = 100000; LLFloaterPerformance::LLFloaterPerformance(const LLSD& key) - : LLFloater(key) +: LLFloater(key), + mUpdateTimer(new LLTimer()) { - } LLFloaterPerformance::~LLFloaterPerformance() { mComplexityChangedSignal.disconnect(); + delete mUpdateTimer; } BOOL LLFloaterPerformance::postBuild() @@ -55,32 +60,34 @@ BOOL LLFloaterPerformance::postBuild() mMainPanel = getChild<LLPanel>("panel_performance_main"); mTroubleshootingPanel = getChild<LLPanel>("panel_performance_troubleshooting"); mNearbyPanel = getChild<LLPanel>("panel_performance_nearby"); - mScriptsPanel = getChild<LLPanel>("panel_performance_scripts"); - mPreferencesPanel = getChild<LLPanel>("panel_performance_preferences"); + mComplexityPanel = getChild<LLPanel>("panel_performance_complexity"); + mSettingsPanel = getChild<LLPanel>("panel_performance_preferences"); mHUDsPanel = getChild<LLPanel>("panel_performance_huds"); getChild<LLPanel>("troubleshooting_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mTroubleshootingPanel)); getChild<LLPanel>("nearby_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mNearbyPanel)); - getChild<LLPanel>("scripts_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mScriptsPanel)); - getChild<LLPanel>("preferences_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mPreferencesPanel)); + getChild<LLPanel>("complexity_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mComplexityPanel)); + getChild<LLPanel>("settings_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mSettingsPanel)); getChild<LLPanel>("huds_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mHUDsPanel)); initBackBtn(mTroubleshootingPanel); initBackBtn(mNearbyPanel); - initBackBtn(mScriptsPanel); - initBackBtn(mPreferencesPanel); + initBackBtn(mComplexityPanel); + initBackBtn(mSettingsPanel); initBackBtn(mHUDsPanel); - - mHUDsPanel->getChild<LLButton>("refresh_list_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::populateHUDList, this)); - mHUDList = mHUDsPanel->getChild<LLNameListCtrl>("hud_list"); mHUDList->setNameListType(LLNameListCtrl::SPECIAL); mHUDList->setHoverIconName("StopReload_Off"); mHUDList->setIconClickedCallback(boost::bind(&LLFloaterPerformance::detachItem, this, _1)); - mPreferencesPanel->getChild<LLButton>("advanced_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickAdvanced, this)); - mPreferencesPanel->getChild<LLButton>("defaults_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickRecommended, this)); + mObjectList = mComplexityPanel->getChild<LLNameListCtrl>("obj_list"); + mObjectList->setNameListType(LLNameListCtrl::SPECIAL); + mObjectList->setHoverIconName("StopReload_Off"); + mObjectList->setIconClickedCallback(boost::bind(&LLFloaterPerformance::detachItem, this, _1)); + + mSettingsPanel->getChild<LLButton>("advanced_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickAdvanced, this)); + mSettingsPanel->getChild<LLButton>("defaults_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickRecommended, this)); mNearbyPanel->getChild<LLButton>("exceptions_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickExceptions, this)); mNearbyList = mNearbyPanel->getChild<LLNameListCtrl>("nearby_list"); @@ -89,6 +96,8 @@ BOOL LLFloaterPerformance::postBuild() mComplexityChangedSignal = gSavedSettings.getControl("IndirectMaxComplexity")->getCommitSignal()->connect(boost::bind(&LLFloaterPerformance::updateComplexityText, this)); mNearbyPanel->getChild<LLSliderCtrl>("IndirectMaxComplexity")->setCommitCallback(boost::bind(&LLFloaterPerformance::updateMaxComplexity, this)); + LLAvatarComplexityControls::setIndirectMaxArc(); + return TRUE; } @@ -107,13 +116,43 @@ void LLFloaterPerformance::showSelectedPanel(LLPanel* selected_panel) } } +void LLFloaterPerformance::draw() +{ + if (mUpdateTimer->hasExpired()) + { + getChild<LLTextBox>("fps_value")->setValue((S32)llround(LLTrace::get_frame_recording().getPeriodMeanPerSec(LLStatViewer::FPS))); + if (mMainPanel->getVisible()) + { + mMainPanel->getChild<LLTextBox>("huds_value")->setValue(LLHUDRenderNotifier::getInstance()->getHUDsCount()); + mMainPanel->getChild<LLTextBox>("complexity_value")->setValue((S32)gAgentAvatarp->getVisualComplexity()); + updateNearbyComplexityDesc(); + } + else if (mHUDsPanel->getVisible()) + { + populateHUDList(); + } + else if (mNearbyPanel->getVisible()) + { + populateNearbyList(); + updateNearbyComplexityDesc(); + } + else if (mComplexityPanel->getVisible()) + { + populateObjectList(); + } + + mUpdateTimer->setTimerExpirySec(REFRESH_INTERVAL); + } + LLFloater::draw(); +} + void LLFloaterPerformance::showMainPanel() { mTroubleshootingPanel->setVisible(FALSE); mNearbyPanel->setVisible(FALSE); - mScriptsPanel->setVisible(FALSE); + mComplexityPanel->setVisible(FALSE); mHUDsPanel->setVisible(FALSE); - mPreferencesPanel->setVisible(FALSE); + mSettingsPanel->setVisible(FALSE); mMainPanel->setVisible(TRUE); } @@ -165,16 +204,55 @@ void LLFloaterPerformance::populateHUDList() mHUDsPanel->getChild<LLTextBox>("huds_value")->setValue(std::to_string(complexity_list.size())); } +void LLFloaterPerformance::populateObjectList() +{ + mObjectList->clearRows(); + mObjectList->updateColumns(true); + + object_complexity_list_t complexity_list = LLAvatarRenderNotifier::getInstance()->getObjectComplexityList(); + + object_complexity_list_t::iterator iter = complexity_list.begin(); + object_complexity_list_t::iterator end = complexity_list.end(); + + for (; iter != end; ++iter) + { + LLObjectComplexity object_complexity = *iter; + + LLSD item; + item["special_id"] = object_complexity.objectId; + item["target"] = LLNameListCtrl::SPECIAL; + LLSD& row = item["columns"]; + row[0]["column"] = "complex_visual"; + row[0]["type"] = "text"; + row[0]["value"] = "*"; + + row[1]["column"] = "complex_value"; + row[1]["type"] = "text"; + row[1]["value"] = std::to_string(object_complexity.objectCost); + row[1]["font"]["name"] = "SANSSERIF"; + + row[2]["column"] = "name"; + row[2]["type"] = "text"; + row[2]["value"] = object_complexity.objectName; + row[2]["font"]["name"] = "SANSSERIF"; + + mObjectList->addElement(item); + } + mObjectList->sortByColumnIndex(1, FALSE); +} + void LLFloaterPerformance::populateNearbyList() { mNearbyList->clearRows(); mNearbyList->updateColumns(true); + S32 avatars = 0; + std::vector<LLCharacter*>::iterator char_iter = LLCharacter::sInstances.begin(); while (char_iter != LLCharacter::sInstances.end()) { LLVOAvatar* avatar = dynamic_cast<LLVOAvatar*>(*char_iter); - if (avatar && !avatar->isDead() && !avatar->isControlAvatar()) + if (avatar && !avatar->isDead() && !avatar->isControlAvatar() && !avatar->isSelf()) { avatar->calculateUpdateRenderComplexity(); @@ -204,17 +282,38 @@ void LLFloaterPerformance::populateNearbyList() name_text->setColor(LLUIColorTable::instance().getColor("ConversationFriendColor")); } } + avatars++; } char_iter++; } - mNearbyList->sortByColumnIndex(1, FALSE); + mNearbyList->sortByColumnIndex(1, FALSE); +} +void LLFloaterPerformance::updateNearbyComplexityDesc() +{ + S32 max_complexity = 0; + std::vector<LLCharacter*>::iterator char_iter = LLCharacter::sInstances.begin(); + while (char_iter != LLCharacter::sInstances.end()) + { + LLVOAvatar* avatar = dynamic_cast<LLVOAvatar*>(*char_iter); + if (avatar && !avatar->isDead() && !avatar->isControlAvatar() && !avatar->isSelf()) + { + max_complexity = llmax(max_complexity, (S32)avatar->getVisualComplexity()); + } + char_iter++; + } + std::string desc = getString(max_complexity > COMPLEXITY_THRESHOLD_1 ? "very_high" : "medium"); + + if (mMainPanel->getVisible()) + { + mMainPanel->getChild<LLTextBox>("avatars_nearby_value")->setValue(desc); + } + mNearbyPanel->getChild<LLTextBox>("av_nearby_value")->setValue(desc); } void LLFloaterPerformance::detachItem(const LLUUID& item_id) { LLAppearanceMgr::instance().removeItemFromAvatar(item_id); - mHUDList->removeNameItem(item_id); } void LLFloaterPerformance::onClickRecommended() diff --git a/indra/newview/llfloaterperformance.h b/indra/newview/llfloaterperformance.h index 0cba07f21e..1facfe9225 100644 --- a/indra/newview/llfloaterperformance.h +++ b/indra/newview/llfloaterperformance.h @@ -37,6 +37,7 @@ public: virtual ~LLFloaterPerformance(); /*virtual*/ BOOL postBuild(); + /*virtual*/ void draw(); void showSelectedPanel(LLPanel* selected_panel); void showMainPanel(); @@ -46,6 +47,7 @@ public: private: void initBackBtn(LLPanel* panel); void populateHUDList(); + void populateObjectList(); void populateNearbyList(); void onClickAdvanced(); @@ -55,15 +57,20 @@ private: void updateMaxComplexity(); void updateComplexityText(); + void updateNearbyComplexityDesc(); + LLPanel* mMainPanel; LLPanel* mTroubleshootingPanel; LLPanel* mNearbyPanel; - LLPanel* mScriptsPanel; + LLPanel* mComplexityPanel; LLPanel* mHUDsPanel; - LLPanel* mPreferencesPanel; + LLPanel* mSettingsPanel; LLNameListCtrl* mHUDList; + LLNameListCtrl* mObjectList; LLNameListCtrl* mNearbyList; + LLTimer* mUpdateTimer; + boost::signals2::connection mComplexityChangedSignal; }; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index f69b9b3861..ab7e5f7f8a 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -10533,7 +10533,8 @@ void LLVOAvatar::accountRenderComplexityForObject( const F32 max_attachment_complexity, LLVOVolume::texture_cost_t& textures, U32& cost, - hud_complexity_list_t& hud_complexity_list) + hud_complexity_list_t& hud_complexity_list, + object_complexity_list_t& object_complexity_list) { if (attached_object && !attached_object->isHUDAttachment()) { @@ -10552,12 +10553,12 @@ void LLVOAvatar::accountRenderComplexityForObject( F32 attachment_volume_cost = 0; F32 attachment_texture_cost = 0; F32 attachment_children_cost = 0; - const F32 animated_object_attachment_surcharge = 1000; + const F32 animated_object_attachment_surcharge = 1000; - if (attached_object->isAnimatedObject()) - { - attachment_volume_cost += animated_object_attachment_surcharge; - } + if (attached_object->isAnimatedObject()) + { + attachment_volume_cost += animated_object_attachment_surcharge; + } attachment_volume_cost += volume->getRenderCost(textures); const_child_list_t children = volume->getChildren(); @@ -10590,6 +10591,15 @@ void LLVOAvatar::accountRenderComplexityForObject( << LL_ENDL; // Limit attachment complexity to avoid signed integer flipping of the wearer's ACI cost += (U32)llclamp(attachment_total_cost, MIN_ATTACHMENT_COMPLEXITY, max_attachment_complexity); + + if (isSelf()) + { + LLObjectComplexity object_complexity; + object_complexity.objectName = attached_object->getAttachmentItemName(); + object_complexity.objectId = attached_object->getAttachmentItemID(); + object_complexity.objectCost = attachment_total_cost; + object_complexity_list.push_back(object_complexity); + } } } } @@ -10676,6 +10686,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity() U32 cost = VISUAL_COMPLEXITY_UNKNOWN; LLVOVolume::texture_cost_t textures; hud_complexity_list_t hud_complexity_list; + object_complexity_list_t object_complexity_list; for (U8 baked_index = 0; baked_index < BAKED_NUM_INDICES; baked_index++) { @@ -10706,7 +10717,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity() if (volp && !volp->isAttachment()) { accountRenderComplexityForObject(volp, max_attachment_complexity, - textures, cost, hud_complexity_list); + textures, cost, hud_complexity_list, object_complexity_list); } } @@ -10722,7 +10733,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity() { const LLViewerObject* attached_object = attachment_iter->get(); accountRenderComplexityForObject(attached_object, max_attachment_complexity, - textures, cost, hud_complexity_list); + textures, cost, hud_complexity_list, object_complexity_list); } } @@ -10782,13 +10793,13 @@ void LLVOAvatar::calculateUpdateRenderComplexity() mVisualComplexity = cost; mVisualComplexityStale = false; - static LLCachedControl<U32> show_my_complexity_changes(gSavedSettings, "ShowMyComplexityChanges", 20); - - if (isSelf() && show_my_complexity_changes) + if (isSelf()) { // Avatar complexity LLAvatarRenderNotifier::getInstance()->updateNotificationAgent(mVisualComplexity); + LLAvatarRenderNotifier::getInstance()->setObjectComplexityList(object_complexity_list); + // HUD complexity LLHUDRenderNotifier::getInstance()->updateNotificationHUD(hud_complexity_list); } diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 74ef589ca4..f83f9d4eaf 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -299,7 +299,8 @@ public: const F32 max_attachment_complexity, LLVOVolume::texture_cost_t& textures, U32& cost, - hud_complexity_list_t& hud_complexity_list); + hud_complexity_list_t& hud_complexity_list, + object_complexity_list_t& object_complexity_list); void calculateUpdateRenderComplexity(); static const U32 VISUAL_COMPLEXITY_UNKNOWN; void updateVisualComplexity(); diff --git a/indra/newview/skins/default/textures/icons/green_dot.png b/indra/newview/skins/default/textures/icons/green_dot.png Binary files differdeleted file mode 100644 index 02c07810c2..0000000000 --- a/indra/newview/skins/default/textures/icons/green_dot.png +++ /dev/null diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 51bb91cbf9..a875c4e848 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -234,8 +234,6 @@ with the same filename but different name <texture name="Generic_Person" file_name="icons/Generic_Person.png" preload="false" /> <texture name="Generic_Person_Large" file_name="icons/Generic_Person_Large.png" preload="false" /> - <texture name="Green_dot" file_name="icons/green_dot.png" preload="false" /> - <texture name="Hand" file_name="icons/hand.png" preload="false" /> <texture name="Help_Press" file_name="navbar/Help_Press.png" preload="false" /> diff --git a/indra/newview/skins/default/xui/en/floater_performance.xml b/indra/newview/skins/default/xui/en/floater_performance.xml index 42269ba34a..09af364266 100644 --- a/indra/newview/skins/default/xui/en/floater_performance.xml +++ b/indra/newview/skins/default/xui/en/floater_performance.xml @@ -1,409 +1,387 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater - height="550" + height="590" layout="topleft" name="performance" save_rect="true" title="IMPROVE GRAPHICS SPEED" width="580"> + <string + name="very_high" + value="very high"/> + <string + name="medium" + value="medium"/> <panel bevel_style="none" follows="left|top" - height="490" + height="540" width="580" - name="panel_performance_main" + name="panel_top" visible="true" layout="topleft" left="0" top="0"> - <text + <panel + bg_alpha_color="black" + background_visible="true" + background_opaque="false" + border="false" + bevel_style="none" follows="left|top" - font="SansSerifHuge" - text_color="White" - height="20" + height="40" + width="560" + name="fps_subpanel" layout="topleft" left="10" - name="fps_lbl" - top="17" - width="130"> - Current FPS - </text> - <text - follows="left|top" - font="SansSerifHugeBold" - text_color="White" - height="20" - layout="topleft" - left_pad="5" - name="fps_value" - width="100"> - 75.2 - </text> - - <icon - height="16" - width="16" - image_name="Green_dot" - mouse_opaque="true" - name="icon_arrow4" - follows="right|top" - top="16" - right="-154"/> - <icon - height="16" - width="16" - image_name="Green_dot" - mouse_opaque="true" - name="icon_arrow4" - follows="right|top" - top_pad="9"/> - <icon - height="16" - width="16" - image_name="Green_dot" - mouse_opaque="true" - name="icon_arrow4" - follows="right|top" - top_pad="8"/> - - <text - follows="right|top" - font="SansSerif" - height="20" - layout="topleft" - top="17" - right="-90" - name="client_lbl" - width="60"> - Client: - </text> - <text - follows="right|top" - font="SansSerif" - height="20" - layout="topleft" - top_pad="5" - name="client_lbl" - width="60"> - Network: - </text> - <text - follows="right|top" - font="SansSerif" - height="20" - layout="topleft" - top_pad="5" - name="client_lbl" - width="60"> - Server: - </text> - <text - follows="right|top" - font="SansSerif" - height="20" - layout="topleft" - right="-15" - name="client_value" - top="17" - width="45"> - Normal - </text> - <text - follows="right|top" - font="SansSerif" - height="20" - layout="topleft" - name="network_value" - top_pad="5" - width="45"> - Normal - </text> - <text - follows="right|top" - font="SansSerif" - height="20" - layout="topleft" - name="server_value" - top_pad="5" - width="45"> - Normal - </text> - <panel - bg_alpha_color="PerformanceFloaterGray" - background_visible="true" - background_opaque="false" - border="true" - bevel_style="none" - follows="left|top" - height="60" - width="560" - name="troubleshooting_subpanel" - layout="topleft" - left="10" - top="102"> - <text - follows="left|top" - font="SansSerifLarge" - text_color="White" - height="20" - layout="topleft" - left="10" - name="troubleshooting_lbl" - top="12" - width="395"> - General troubleshooting - </text> - <text - follows="left|top" - font="SansSerif" - text_color="White" - height="20" - layout="topleft" - left="10" - name="troubleshooting_info" - top_pad="5" - width="395"> - Choose among common problems and see what you can do. - </text> - <icon - height="16" - width="16" - image_name="Arrow_Right_Off" - mouse_opaque="true" - name="icon_arrow1" - follows="right|top" - top="24" - right="-20"/> + top="5"> + <text + follows="left|top" + font="SansSerifHuge" + text_color="White" + height="20" + layout="topleft" + left="20" + top="8" + name="fps_value" + width="40"> + 75 + </text> + <text + follows="left|top" + font="SansSerifLarge" + text_color="White" + height="20" + layout="topleft" + left_pad="0" + top="14" + name="fps_lbl" + width="450"> + FPS -- 60 or more for the best experience + </text> + </panel> </panel> <panel - bg_alpha_color="PerformanceFloaterGray" - background_visible="true" - background_opaque="false" - border="true" bevel_style="none" follows="left|top" - height="60" - width="560" - name="nearby_subpanel" - layout="topleft" - top_pad="20"> - <text - follows="left|top" - font="SansSerifLarge" - text_color="White" - height="20" - layout="topleft" - left="10" - name="avatars_nearby_lbl" - top="12" - width="115"> - Avatars nearby: - </text> - <text - follows="left|top" - font="SansSerifLarge" - text_color="PerformanceMid" - height="20" - layout="topleft" - left_pad="3" - name="avatars_nearby_value" - width="100"> - 42 (very high) - </text> - <text - follows="left|top" - font="SansSerif" - text_color="White" - height="20" - layout="topleft" - left="10" - name="avatars_nearby_info" - top_pad="5" - width="395"> - Click to review avatars and choose a complexity limit. - </text> - <icon - height="16" - width="16" - image_name="Arrow_Right_Off" - mouse_opaque="true" - name="icon_arrow2" - follows="right|top" - top="24" - right="-20"/> - </panel> - <panel - bg_alpha_color="PerformanceFloaterGray" - background_visible="true" - background_opaque="false" - border="true" - bevel_style="none" - follows="left|top" - height="60" - width="560" - name="preferences_subpanel" - layout="topleft" - top_pad="20"> - <text - follows="left|top" - font="SansSerifLarge" - text_color="White" - height="20" - layout="topleft" - left="10" - name="complexity_lbl" - top="12" - width="110"> - This location is - </text> - <text - follows="left|top" - font="SansSerifLarge" - text_color="PerformanceMid" - height="20" - layout="topleft" - left_pad="3" - name="complexity_value" - width="100"> - very complex - </text> - <text - follows="left|top" - font="SansSerif" - text_color="White" - height="20" - layout="topleft" - left="10" - name="complexity_info" - top_pad="5" - width="395"> - Try changing graphics quality or draw distance. - </text> - <icon - height="16" - width="16" - image_name="Arrow_Right_Off" - mouse_opaque="true" - name="icon_arrow3" - follows="right|top" - top="24" - right="-20"/> - </panel> - <panel - bg_alpha_color="PerformanceFloaterGray" - background_visible="true" - background_opaque="false" - border="true" - bevel_style="none" - follows="left|top" - height="60" - width="560" - name="scripts_subpanel" + height="540" + width="580" + name="panel_performance_main" + visible="true" layout="topleft" - top_pad="20"> - <text + left="0" + top="60"> + <panel + bg_alpha_color="PerformanceFloaterGray" + background_visible="true" + background_opaque="false" + border="true" + bevel_style="none" follows="left|top" - font="SansSerifLarge" - text_color="White" - height="20" + height="60" + width="560" + name="presets_subpanel" layout="topleft" left="10" - name="scripts_lbl" - top="12" - width="88"> - Your avatar: - </text> - <text + top="5"> + <text + follows="left|top" + font="SansSerifLarge" + text_color="White" + height="20" + layout="topleft" + left="10" + name="presets_lbl" + top="12" + width="395"> + Quick settings for common situations + </text> + <text + follows="left|top" + font="SansSerif" + text_color="White" + height="20" + layout="topleft" + left="10" + name="presets_desc" + top_pad="5" + width="395"> + Choose settings for parties, exploration, photography, and more. + </text> + <icon + height="16" + width="16" + image_name="Arrow_Right_Off" + mouse_opaque="true" + name="icon_arrow1" + follows="right|top" + top="24" + right="-20"/> + </panel> + <panel + bg_alpha_color="PerformanceFloaterGray" + background_visible="true" + background_opaque="false" + border="true" + bevel_style="none" follows="left|top" - font="SansSerifLarge" - text_color="PerformanceMid" - height="20" + height="60" + width="560" + name="settings_subpanel" layout="topleft" - left_pad="2" - name="scripts_value" - width="100"> - 12 scripts - </text> - <text + top_pad="20"> + <text + follows="left|top" + font="SansSerifLarge" + text_color="White" + height="20" + layout="topleft" + left="10" + name="settings_lbl" + top="12" + width="180"> + Individual settings + </text> + <text + follows="left|top" + font="SansSerif" + text_color="White" + height="20" + layout="topleft" + left="10" + name="settings_desc" + top_pad="5" + width="395"> + More control over quality, visibility distance, and enhancements. + </text> + <icon + height="16" + width="16" + image_name="Arrow_Right_Off" + mouse_opaque="true" + name="icon_arrow3" + follows="right|top" + top="24" + right="-20"/> + </panel> + <panel + bg_alpha_color="PerformanceFloaterGray" + background_visible="true" + background_opaque="false" + border="true" + bevel_style="none" follows="left|top" - font="SansSerif" - text_color="White" - height="20" + height="60" + width="560" + name="nearby_subpanel" layout="topleft" - left="10" - name="scripts_info" - top_pad="5" - width="395"> - Removing high-impact attachments may improve graphics speed. - </text> - <icon - height="16" - width="16" - image_name="Arrow_Right_Off" - mouse_opaque="true" - name="icon_arrow4" - follows="right|top" - top="24" - right="-20"/> - </panel> - <panel - bg_alpha_color="PerformanceFloaterGray" - background_visible="true" - background_opaque="false" - border="true" - bevel_style="none" - follows="left|top" - height="60" - width="560" - name="huds_subpanel" - layout="topleft" - top_pad="20"> - <text + top_pad="20"> + <text + follows="left|top" + font="SansSerifLarge" + text_color="White" + height="20" + layout="topleft" + left="10" + name="avatars_nearby_lbl" + top="12" + width="205"> + Nearby avatar complexity is + </text> + <text + follows="left|top" + font="SansSerifLarge" + text_color="PerformanceMid" + height="20" + layout="topleft" + left_pad="5" + name="avatars_nearby_value" + width="100"> + very high + </text> + <text + follows="left|top" + font="SansSerif" + text_color="White" + height="20" + layout="topleft" + left="10" + name="avatars_nearby_desc" + top_pad="5" + width="395"> + Choose which avatars are not displayed in detail, to increase FPS. + </text> + <icon + height="16" + width="16" + image_name="Arrow_Right_Off" + mouse_opaque="true" + name="icon_arrow2" + follows="right|top" + top="24" + right="-20"/> + </panel> + <panel + bg_alpha_color="PerformanceFloaterGray" + background_visible="true" + background_opaque="false" + border="true" + bevel_style="none" follows="left|top" - font="SansSerifLarge" - text_color="White" - height="20" + height="60" + width="560" + name="complexity_subpanel" layout="topleft" - left="10" - name="huds_lbl" - top="12" - width="80"> - Your HUDs: - </text> - <text + top_pad="20"> + <text + follows="left|top" + font="SansSerifLarge" + text_color="White" + height="20" + layout="topleft" + left="10" + name="complexity_lbl" + top="12" + width="180"> + Your avatar complexity is + </text> + <text + follows="left|top" + font="SansSerifLarge" + text_color="PerformanceMid" + height="20" + layout="topleft" + left_pad="5" + name="complexity_value" + width="100"> + 275 + </text> + <text + follows="left|top" + font="SansSerif" + text_color="White" + height="20" + layout="topleft" + left="10" + name="complexity_info" + top_pad="5" + width="455"> + Reduce the complexity of your avatar if you aren't satisfied with current FPS. + </text> + <icon + height="16" + width="16" + image_name="Arrow_Right_Off" + mouse_opaque="true" + name="icon_arrow4" + follows="right|top" + top="24" + right="-20"/> + </panel> + <panel + bg_alpha_color="PerformanceFloaterGray" + background_visible="true" + background_opaque="false" + border="true" + bevel_style="none" follows="left|top" - font="SansSerifLarge" - text_color="PerformanceMid" - height="20" + height="60" + width="560" + name="huds_subpanel" layout="topleft" - left_pad="3" - name="huds_value" - width="100"> - 7 - </text> - <text + top_pad="20"> + <text + follows="left|top" + font="SansSerifLarge" + text_color="White" + height="20" + layout="topleft" + left="10" + name="huds_lbl" + top="12" + width="135"> + Your current HUDs: + </text> + <text + follows="left|top" + font="SansSerifLarge" + text_color="PerformanceMid" + height="20" + layout="topleft" + left_pad="5" + name="huds_value" + width="100"> + 7 + </text> + <text + follows="left|top" + font="SansSerif" + text_color="White" + height="20" + layout="topleft" + left="10" + name="huds_desc" + top_pad="5" + width="395"> + Removing HUDs you are not using can improve speed. + </text> + <icon + height="16" + width="16" + image_name="Arrow_Right_Off" + mouse_opaque="true" + name="icon_arrow4" + follows="right|top" + top="24" + right="-20"/> + </panel> + <panel + bg_alpha_color="PerformanceFloaterGray" + background_visible="true" + background_opaque="false" + border="true" + bevel_style="none" follows="left|top" - font="SansSerif" - text_color="White" - height="20" + height="60" + width="560" + name="troubleshooting_subpanel" layout="topleft" - left="10" - name="huds_info" - top_pad="5" - width="395"> - Removing HUDs you are not using can improve graphics speed. - </text> - <icon - height="16" - width="16" - image_name="Arrow_Right_Off" - mouse_opaque="true" - name="icon_arrow4" - follows="right|top" - top="24" - right="-20"/> + top_pad="20"> + <text + follows="left|top" + font="SansSerifLarge" + text_color="White" + height="20" + layout="topleft" + left="10" + name="troubleshooting_lbl" + top="12" + width="395"> + General troubleshooting + </text> + <text + follows="left|top" + font="SansSerif" + text_color="White" + height="20" + layout="topleft" + left="10" + name="troubleshooting_desc" + top_pad="5" + width="395"> + Choose among common problems and see what you can do. + </text> + <icon + height="16" + width="16" + image_name="Arrow_Right_Off" + mouse_opaque="true" + name="icon_arrow1" + follows="right|top" + top="24" + right="-20"/> + </panel> </panel> - </panel> <panel filename="panel_performance_troubleshooting.xml" follows="all" @@ -411,7 +389,7 @@ left="0" name="panel_performance_troubleshooting" visible="false" - top="0" /> + top="55" /> <panel filename="panel_performance_nearby.xml" follows="all" @@ -419,15 +397,15 @@ left="0" name="panel_performance_nearby" visible="false" - top="0" /> + top="55" /> <panel - filename="panel_performance_scripts.xml" + filename="panel_performance_complexity.xml" follows="all" layout="topleft" left="0" - name="panel_performance_scripts" + name="panel_performance_complexity" visible="false" - top="0" /> + top="55" /> <panel filename="panel_performance_preferences.xml" follows="all" @@ -435,7 +413,7 @@ left="0" name="panel_performance_preferences" visible="false" - top="0" /> + top="55" /> <panel filename="panel_performance_huds.xml" follows="all" @@ -443,5 +421,5 @@ left="0" name="panel_performance_huds" visible="false" - top="0" /> + top="55" /> </floater> diff --git a/indra/newview/skins/default/xui/en/panel_performance_scripts.xml b/indra/newview/skins/default/xui/en/panel_performance_complexity.xml index e6dc4a217d..8d4512c4f7 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_scripts.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_complexity.xml @@ -4,7 +4,7 @@ follows="left|top" height="490" width="580" - name="panel_performance_scripts" + name="panel_performance_complexity" layout="topleft" left="0" top="0"> @@ -15,7 +15,7 @@ mouse_opaque="true" follows="left|top" name="back_btn" - top="10" + top="7" image_selected="Arrow_Left_Off" image_pressed="Arrow_Left_Off" image_unselected="Arrow_Left_Off" @@ -27,7 +27,7 @@ height="20" layout="topleft" left_pad="3" - top="13" + top="10" name="back_lbl" width="40"> Back @@ -35,25 +35,14 @@ <text follows="left|top" font="SansSerifLarge" - text_color="PerformanceMid" + text_color="white" height="20" layout="topleft" left="20" top_pad="10" name="attachments_title" width="195"> - Avatar attachment scripts: - </text> - <text - follows="left|top" - font="SansSerifLargeBold" - text_color="PerformanceMid" - height="20" - layout="topleft" - left_pad="5" - name="attachments_value" - width="70"> - 12 + My avatar complexity </text> <text follows="left|top" @@ -65,7 +54,7 @@ left="20" name="attachments_desc1" width="580"> - These attachments contain scripts (embedded apps) that use memory. + Complex attachments require more time and memory to display. </text> <text follows="left|top" @@ -77,6 +66,27 @@ left="20" name="attachments_desc2" width="580"> - If there are any you don't need, detaching them may improve graphics speed. + While you are in this location, removing the most complex ones may increase speed. </text> + <name_list + column_padding="0" + draw_stripes="true" + height="220" + follows="left|top" + layout="topleft" + name="obj_list" + top_pad="10" + width="540"> + <name_list.columns + label="" + name="complex_visual" + width="90" /> + <name_list.columns + label="" + name="complex_value" + width="40" /> + <name_list.columns + label="" + name="name"/> + </name_list> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_performance_huds.xml b/indra/newview/skins/default/xui/en/panel_performance_huds.xml index c881fadbe8..96bdf2412f 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_huds.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_huds.xml @@ -15,7 +15,7 @@ mouse_opaque="true" follows="left|top" name="back_btn" - top="10" + top="7" image_selected="Arrow_Left_Off" image_pressed="Arrow_Left_Off" image_unselected="Arrow_Left_Off" @@ -27,7 +27,7 @@ height="20" layout="topleft" left_pad="3" - top="13" + top="10" name="back_lbl" width="40"> Back @@ -35,14 +35,14 @@ <text follows="left|top" font="SansSerifLarge" - text_color="PerformanceMid" + text_color="White" height="20" layout="topleft" left="20" top_pad="10" name="huds_title" - width="120"> - HUDs displayed: + width="135"> + Your current HUDs: </text> <text follows="left|top" @@ -65,7 +65,7 @@ left="20" name="huds_desc1" width="540"> - If there are any you don't need, detaching them may improve graphics speed. + Detaching HUDs you aren't using us always a good idea, but especially in a complex location. </text> <text follows="left|top" @@ -100,13 +100,5 @@ label="" name="name"/> </name_list> - <button - follows="left|top" - height="19" - label="Refresh List" - layout="topleft" - name="refresh_list_btn" - top_pad="20" - width="100" /> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_performance_nearby.xml b/indra/newview/skins/default/xui/en/panel_performance_nearby.xml index d71b5334cd..28ffbd5c2e 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_nearby.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_nearby.xml @@ -15,7 +15,7 @@ mouse_opaque="true" follows="left|top" name="back_btn" - top="10" + top="7" image_selected="Arrow_Left_Off" image_pressed="Arrow_Left_Off" image_unselected="Arrow_Left_Off" @@ -27,7 +27,7 @@ height="20" layout="topleft" left_pad="3" - top="13" + top="10" name="back_lbl" width="40"> Back @@ -35,14 +35,14 @@ <text follows="left|top" font="SansSerifLarge" - text_color="PerformanceMid" + text_color="White" height="20" layout="topleft" left="20" top_pad="10" name="av_nearby_title" - width="215"> - Avatars within draw distance: + width="205"> + Nearby avatar complexity is </text> <text follows="left|top" @@ -53,7 +53,7 @@ left_pad="3" name="av_nearby_value" width="150"> - 42 (very high) + very high </text> <text follows="left|top" @@ -65,7 +65,7 @@ top_pad="5" name="av_nearby_desc" width="580"> - Some avatars nearby are slow to display. Choosing complexity limit may help graphics speed. + Some avatars nearby are slow to display. Choosing a complexity limit may help graphics speed. </text> <slider control_name="IndirectMaxComplexity" @@ -74,7 +74,8 @@ height="16" initial_value="101" increment="1" - label="Avatar Maximum Complexity:" + label="Maximum avatar complexity" + text_color="White" label_width="165" layout="topleft" min_val="1" @@ -82,6 +83,7 @@ name="IndirectMaxComplexity" show_text="false" top_pad="10" + left="40" width="300"> </slider> <text @@ -92,7 +94,7 @@ layout="topleft" top_delta="0" left_delta="304" - text_readonly_color="LabelDisabledColor" + text_color="White" name="IndirectMaxComplexityText" width="65"> 0 @@ -116,7 +118,7 @@ <name_list.columns label="" name="complex_value" - width="40" /> + width="50" /> <name_list.columns label="" name="name"/> @@ -131,7 +133,7 @@ top_pad="10" name="av_nearby_desc2" width="580"> - You can also right-click on an avatar to control display. + You can also right-click on an avatar in-world to control display. </text> <button height="23" @@ -147,6 +149,7 @@ height="16" initial_value="true" label="Always display friends" + label_text.text_color="White" layout="topleft" name="display_friends" top_pad="3" diff --git a/indra/newview/skins/default/xui/en/panel_performance_preferences.xml b/indra/newview/skins/default/xui/en/panel_performance_preferences.xml index 81605b35a2..aaa27061e3 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_preferences.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_preferences.xml @@ -15,7 +15,7 @@ mouse_opaque="true" follows="left|top" name="back_btn" - top="10" + top="7" image_selected="Arrow_Left_Off" image_pressed="Arrow_Left_Off" image_unselected="Arrow_Left_Off" @@ -27,7 +27,7 @@ height="20" layout="topleft" left_pad="3" - top="13" + top="10" name="back_lbl" width="40"> Back diff --git a/indra/newview/skins/default/xui/en/panel_performance_troubleshooting.xml b/indra/newview/skins/default/xui/en/panel_performance_troubleshooting.xml index d942580880..0a14eeb1c0 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_troubleshooting.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_troubleshooting.xml @@ -15,7 +15,7 @@ mouse_opaque="true" follows="left|top" name="back_btn" - top="10" + top="7" image_selected="Arrow_Left_Off" image_pressed="Arrow_Left_Off" image_unselected="Arrow_Left_Off" @@ -27,7 +27,7 @@ height="20" layout="topleft" left_pad="3" - top="13" + top="10" name="back_lbl" width="40"> Back |