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.pngBinary files differ deleted 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 | 
