diff options
Diffstat (limited to 'indra')
14 files changed, 372 insertions, 811 deletions
| diff --git a/indra/newview/llfloateravatarrendersettings.cpp b/indra/newview/llfloateravatarrendersettings.cpp index b8f854feb3..7d098e6c88 100644 --- a/indra/newview/llfloateravatarrendersettings.cpp +++ b/indra/newview/llfloateravatarrendersettings.cpp @@ -89,7 +89,6 @@ BOOL LLFloaterAvatarRenderSettings::postBuild()      LLFloater::postBuild();      mAvatarSettingsList = getChild<LLNameListCtrl>("render_settings_list");      mAvatarSettingsList->setRightMouseDownCallback(boost::bind(&LLFloaterAvatarRenderSettings::onAvatarListRightClick, this, _1, _2, _3)); -    getChild<LLFilterEditor>("people_filter_input")->setCommitCallback(boost::bind(&LLFloaterAvatarRenderSettings::onFilterEdit, this, _2));  	return TRUE;  } @@ -133,37 +132,13 @@ void LLFloaterAvatarRenderSettings::updateList()      {          item_params.value = iter->first;          LLAvatarNameCache::get(iter->first, &av_name); -        if(!isHiddenRow(av_name.getCompleteName())) -        { -            item_params.columns.add().value(av_name.getCompleteName()).column("name"); -            std::string setting = getString(iter->second == 1 ? "av_never_render" : "av_always_render"); -            item_params.columns.add().value(setting).column("setting"); -            std::string timestamp = createTimestamp(LLRenderMuteList::getInstance()->getVisualMuteDate(iter->first)); -            item_params.columns.add().value(timestamp).column("timestamp"); -            mAvatarSettingsList->addNameItemRow(item_params); -        } +        item_params.columns.add().value(av_name.getCompleteName()).column("name"); +        std::string setting = getString(iter->second == 1 ? "av_never_render" : "av_always_render"); +        item_params.columns.add().value(setting).column("setting"); +        mAvatarSettingsList->addNameItemRow(item_params);      }  } -void LLFloaterAvatarRenderSettings::onFilterEdit(const std::string& search_string) -{ -    std::string filter_upper = search_string; -    LLStringUtil::toUpper(filter_upper); -    if (mNameFilter != filter_upper) -    { -        mNameFilter = filter_upper; -        mNeedsUpdate = true; -    } -} - -bool LLFloaterAvatarRenderSettings::isHiddenRow(const std::string& av_name) -{ -    if (mNameFilter.empty()) return false; -    std::string upper_name = av_name; -    LLStringUtil::toUpper(upper_name); -    return std::string::npos == upper_name.find(mNameFilter); -} -  static LLVOAvatar* find_avatar(const LLUUID& id)  {      LLViewerObject *obj = gObjectList.findObject(id); @@ -214,6 +189,10 @@ bool LLFloaterAvatarRenderSettings::isActionChecked(const LLSD& userdata, const      {          return (visual_setting == S32(LLVOAvatar::AV_RENDER_NORMALLY));      } +    else if ("non_default" == command_name) +    { +        return (visual_setting != S32(LLVOAvatar::AV_RENDER_NORMALLY)); +    }      else if ("never" == command_name)      {          return (visual_setting == S32(LLVOAvatar::AV_DO_NOT_RENDER)); diff --git a/indra/newview/llfloateravatarrendersettings.h b/indra/newview/llfloateravatarrendersettings.h index 00ee074f17..2e0a844afd 100644 --- a/indra/newview/llfloateravatarrendersettings.h +++ b/indra/newview/llfloateravatarrendersettings.h @@ -48,7 +48,6 @@ public:      void onAvatarListRightClick(LLUICtrl* ctrl, S32 x, S32 y);      void updateList(); -    void onFilterEdit(const std::string& search_string);      void onCustomAction (const LLSD& userdata, const LLUUID& av_id);      bool isActionChecked(const LLSD& userdata, const LLUUID& av_id);      void onClickAdd(const LLSD& userdata); @@ -59,15 +58,12 @@ public:      static void setNeedsUpdate();  private: -    bool isHiddenRow(const std::string& av_name);      void callbackAvatarPicked(const uuid_vec_t& ids, S32 visual_setting);      void removePicker();      bool mNeedsUpdate;      LLListContextMenu* mContextMenu;      LLNameListCtrl* mAvatarSettingsList; - -    std::string mNameFilter;  }; diff --git a/indra/newview/llfloaterperformance.cpp b/indra/newview/llfloaterperformance.cpp index 16afeb6e52..a2fb8c130d 100644 --- a/indra/newview/llfloaterperformance.cpp +++ b/indra/newview/llfloaterperformance.cpp @@ -31,6 +31,7 @@  #include "llappearancemgr.h"  #include "llavataractions.h"  #include "llavatarrendernotifier.h" +#include "llcheckboxctrl.h"  #include "llfeaturemanager.h"  #include "llfloaterpreference.h" // LLAvatarComplexityControls  #include "llfloaterreg.h" @@ -38,52 +39,69 @@  #include "llsliderctrl.h"  #include "lltextbox.h"  #include "lltrans.h" +#include "llviewerobjectlist.h"  #include "llvoavatar.h"  #include "llvoavatarself.h"  +#include "pipeline.h"  const F32 REFRESH_INTERVAL = 1.0f; -const S32 COMPLEXITY_THRESHOLD_HIGH = 100000; -const S32 COMPLEXITY_THRESHOLD_MEDIUM = 30000;  const S32 BAR_LEFT_PAD = 2;  const S32 BAR_RIGHT_PAD = 5;  const S32 BAR_BOTTOM_PAD = 9; +class LLExceptionsContextMenu : public LLListContextMenu +{ +public: +    LLExceptionsContextMenu(LLFloaterPerformance* floater_settings) +        :   mFloaterPerformance(floater_settings) +    {} +protected: +    LLContextMenu* createMenu() +    { +        LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar; +        LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar; +        registrar.add("Settings.SetRendering", boost::bind(&LLFloaterPerformance::onCustomAction, mFloaterPerformance, _2, mUUIDs.front())); +        enable_registrar.add("Settings.IsSelected", boost::bind(&LLFloaterPerformance::isActionChecked, mFloaterPerformance, _2, mUUIDs.front())); +        LLContextMenu* menu = createFromFile("menu_avatar_rendering_settings.xml"); + +        return menu; +    } + +    LLFloaterPerformance* mFloaterPerformance; +}; +  LLFloaterPerformance::LLFloaterPerformance(const LLSD& key)  :   LLFloater(key),      mUpdateTimer(new LLTimer()),      mNearbyMaxComplexity(0)  { +    mContextMenu = new LLExceptionsContextMenu(this);  }  LLFloaterPerformance::~LLFloaterPerformance()  {      mComplexityChangedSignal.disconnect(); +    delete mContextMenu;      delete mUpdateTimer;  }  BOOL LLFloaterPerformance::postBuild()  {      mMainPanel = getChild<LLPanel>("panel_performance_main"); -    mTroubleshootingPanel = getChild<LLPanel>("panel_performance_troubleshooting");      mNearbyPanel = getChild<LLPanel>("panel_performance_nearby");      mComplexityPanel = getChild<LLPanel>("panel_performance_complexity");      mSettingsPanel = getChild<LLPanel>("panel_performance_preferences");      mHUDsPanel = getChild<LLPanel>("panel_performance_huds"); -    mPresetsPanel = getChild<LLPanel>("panel_performance_presets"); -    getChild<LLPanel>("troubleshooting_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mTroubleshootingPanel));      getChild<LLPanel>("nearby_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mNearbyPanel));      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)); -    getChild<LLPanel>("presets_subpanel")->setMouseDownCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mPresetsPanel)); -    initBackBtn(mTroubleshootingPanel);      initBackBtn(mNearbyPanel);      initBackBtn(mComplexityPanel);      initBackBtn(mSettingsPanel);      initBackBtn(mHUDsPanel); -    initBackBtn(mPresetsPanel);      mHUDList = mHUDsPanel->getChild<LLNameListCtrl>("hud_list");      mHUDList->setNameListType(LLNameListCtrl::SPECIAL); @@ -96,12 +114,12 @@ BOOL LLFloaterPerformance::postBuild()      mObjectList->setIconClickedCallback(boost::bind(&LLFloaterPerformance::detachItem, this, _1));      mSettingsPanel->getChild<LLButton>("advanced_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickAdvanced, this)); +    mSettingsPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickHideAvatars, this)); +    mSettingsPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->set(!LLPipeline::hasRenderTypeControl(LLPipeline::RENDER_TYPE_AVATAR));      mNearbyPanel->getChild<LLButton>("exceptions_btn")->setCommitCallback(boost::bind(&LLFloaterPerformance::onClickExceptions, this));      mNearbyList = mNearbyPanel->getChild<LLNameListCtrl>("nearby_list"); - -    mPresetsPanel->getChild<LLTextBox>("avatars_nearby_link")->setURLClickedCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mNearbyPanel)); -    mPresetsPanel->getChild<LLTextBox>("settings_link")->setURLClickedCallback(boost::bind(&LLFloaterPerformance::showSelectedPanel, this, mSettingsPanel)); +    mNearbyList->setRightMouseDownCallback(boost::bind(&LLFloaterPerformance::onAvatarListRightClick, this, _1, _2, _3));      updateComplexityText();      mComplexityChangedSignal = gSavedSettings.getControl("IndirectMaxComplexity")->getCommitSignal()->connect(boost::bind(&LLFloaterPerformance::updateComplexityText, this)); @@ -134,28 +152,27 @@ void LLFloaterPerformance::showSelectedPanel(LLPanel* selected_panel)  void LLFloaterPerformance::draw()  { +    const S32 NUM_PERIODS = 50; +      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()) +        getChild<LLTextBox>("fps_value")->setValue((S32)llround(LLTrace::get_frame_recording().getPeriodMeanPerSec(LLStatViewer::FPS, NUM_PERIODS))); +        if (mHUDsPanel->getVisible())          {              populateHUDList();          }          else if (mNearbyPanel->getVisible())          {              populateNearbyList(); -            updateNearbyComplexityDesc();          }          else if (mComplexityPanel->getVisible())          {              populateObjectList();          } +        else if (mSettingsPanel->getVisible()) +        { +            mSettingsPanel->getChild<LLCheckBoxCtrl>("hide_avatars")->set(!LLPipeline::hasRenderTypeControl(LLPipeline::RENDER_TYPE_AVATAR)); +        }          mUpdateTimer->setTimerExpirySec(REFRESH_INTERVAL);      } @@ -170,12 +187,10 @@ void LLFloaterPerformance::showMainPanel()  void LLFloaterPerformance::hidePanels()  { -    mTroubleshootingPanel->setVisible(FALSE);      mNearbyPanel->setVisible(FALSE);      mComplexityPanel->setVisible(FALSE);      mHUDsPanel->setVisible(FALSE);      mSettingsPanel->setVisible(FALSE); -    mPresetsPanel->setVisible(FALSE);  }  void LLFloaterPerformance::initBackBtn(LLPanel* panel) @@ -236,8 +251,6 @@ void LLFloaterPerformance::populateHUDList()      mHUDList->sortByColumnIndex(1, FALSE);      mHUDList->setScrollPos(prev_pos);      mHUDList->selectItemBySpecialId(prev_selected_id); - -    mHUDsPanel->getChild<LLTextBox>("huds_value")->setValue(std::to_string(complexity_list.size()));  }  void LLFloaterPerformance::populateObjectList() @@ -384,32 +397,6 @@ void LLFloaterPerformance::getNearbyAvatars(std::vector<LLCharacter*> &valid_nea      }  } -void LLFloaterPerformance::updateNearbyComplexityDesc() -{ -    std::string desc = getString("low"); - -    static LLCachedControl<U32> max_render_cost(gSavedSettings, "RenderAvatarMaxComplexity", 0); -    if (mMainPanel->getVisible()) -    { -        std::vector<LLCharacter*> valid_nearby_avs; -        getNearbyAvatars(valid_nearby_avs); -    } -    if (mNearbyMaxComplexity > COMPLEXITY_THRESHOLD_HIGH) -    { -        desc = getString("very_high"); -    } -    else if (mNearbyMaxComplexity > COMPLEXITY_THRESHOLD_MEDIUM) -    { -        desc = getString("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); @@ -425,6 +412,11 @@ void LLFloaterPerformance::onClickAdvanced()      LLFloaterReg::showInstance("prefs_graphics_advanced");  } +void LLFloaterPerformance::onClickHideAvatars() +{ +    LLPipeline::toggleRenderTypeControl(LLPipeline::RENDER_TYPE_AVATAR); +} +  void LLFloaterPerformance::onClickExceptions()  {      LLFloaterReg::showInstance("avatar_render_settings"); @@ -443,4 +435,90 @@ void LLFloaterPerformance::updateComplexityText()          mNearbyPanel->getChild<LLTextBox>("IndirectMaxComplexityText", true));  } +static LLVOAvatar* find_avatar(const LLUUID& id) +{ +    LLViewerObject *obj = gObjectList.findObject(id); +    while (obj && obj->isAttachment()) +    { +        obj = (LLViewerObject *)obj->getParent(); +    } + +    if (obj && obj->isAvatar()) +    { +        return (LLVOAvatar*)obj; +    } +    else +    { +        return NULL; +    } +} + +void LLFloaterPerformance::onCustomAction(const LLSD& userdata, const LLUUID& av_id) +{ +    const std::string command_name = userdata.asString(); + +    S32 new_setting = 0; +    if ("default" == command_name) +    { +        new_setting = S32(LLVOAvatar::AV_RENDER_NORMALLY); +    } +    else if ("never" == command_name) +    { +        new_setting = S32(LLVOAvatar::AV_DO_NOT_RENDER); +    } +    else if ("always" == command_name) +    { +        new_setting = S32(LLVOAvatar::AV_ALWAYS_RENDER); +    } + +    LLVOAvatar *avatarp = find_avatar(av_id); +    if (avatarp) +    { +        avatarp->setVisualMuteSettings(LLVOAvatar::VisualMuteSettings(new_setting)); +    } +    else +    { +        LLRenderMuteList::getInstance()->saveVisualMuteSetting(av_id, new_setting); +    } +} + + +bool LLFloaterPerformance::isActionChecked(const LLSD& userdata, const LLUUID& av_id) +{ +    const std::string command_name = userdata.asString(); + +    S32 visual_setting = LLRenderMuteList::getInstance()->getSavedVisualMuteSetting(av_id); +    if ("default" == command_name) +    { +        return (visual_setting == S32(LLVOAvatar::AV_RENDER_NORMALLY)); +    } +    else if ("non_default" == command_name) +    { +        return (visual_setting != S32(LLVOAvatar::AV_RENDER_NORMALLY)); +    } +    else if ("never" == command_name) +    { +        return (visual_setting == S32(LLVOAvatar::AV_DO_NOT_RENDER)); +    } +    else if ("always" == command_name) +    { +        return (visual_setting == S32(LLVOAvatar::AV_ALWAYS_RENDER)); +    } +    return false; +} + +void LLFloaterPerformance::onAvatarListRightClick(LLUICtrl* ctrl, S32 x, S32 y) +{ +    LLNameListCtrl* list = dynamic_cast<LLNameListCtrl*>(ctrl); +    if (!list) return; +    list->selectItemAt(x, y, MASK_NONE); +    uuid_vec_t selected_uuids; + +    if(list->getCurrentID().notNull()) +    { +        selected_uuids.push_back(list->getCurrentID()); +        mContextMenu->show(ctrl, selected_uuids, x, y); +    } +} +  // EOF diff --git a/indra/newview/llfloaterperformance.h b/indra/newview/llfloaterperformance.h index ea15873b95..58f9447d4c 100644 --- a/indra/newview/llfloaterperformance.h +++ b/indra/newview/llfloaterperformance.h @@ -27,6 +27,7 @@  #define LL_LLFLOATERPERFORMANCE_H  #include "llfloater.h" +#include "lllistcontextmenu.h"  class LLCharacter;  class LLNameListCtrl; @@ -46,6 +47,11 @@ public:      void detachItem(const LLUUID& item_id); +    void onAvatarListRightClick(LLUICtrl* ctrl, S32 x, S32 y); + +    void onCustomAction (const LLSD& userdata, const LLUUID& av_id); +    bool isActionChecked(const LLSD& userdata, const LLUUID& av_id); +  private:      void initBackBtn(LLPanel* panel);      void populateHUDList(); @@ -53,25 +59,25 @@ private:      void populateNearbyList();      void onClickAdvanced(); +    void onClickHideAvatars();      void onClickExceptions();      void updateMaxComplexity();      void updateComplexityText();      void getNearbyAvatars(std::vector<LLCharacter*> &valid_nearby_avs); -    void updateNearbyComplexityDesc();      LLPanel* mMainPanel; -    LLPanel* mTroubleshootingPanel;      LLPanel* mNearbyPanel;      LLPanel* mComplexityPanel;      LLPanel* mHUDsPanel;      LLPanel* mSettingsPanel; -    LLPanel* mPresetsPanel;      LLNameListCtrl* mHUDList;      LLNameListCtrl* mObjectList;      LLNameListCtrl* mNearbyList; +    LLListContextMenu* mContextMenu; +      LLTimer* mUpdateTimer;      S32 mNearbyMaxComplexity; diff --git a/indra/newview/skins/default/xui/en/floater_avatar_render_settings.xml b/indra/newview/skins/default/xui/en/floater_avatar_render_settings.xml index e088d4d2a1..d222dca98b 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_render_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_render_settings.xml @@ -10,7 +10,7 @@   save_rect="true"   single_instance="true"   reuse_instance="true" - title="AVATAR RENDER SETTINGS" + title="AVATAR DISPLAY EXCEPTIONS"   width="300">      <string       name="av_never_render" @@ -18,53 +18,45 @@      <string       name="av_always_render"       value="Always"/> -    <filter_editor -     follows="left|top|right" -     height="23" -     layout="topleft" -     left="8" -     right="-47" -     label="Filter People" -     max_length_chars="300" -     name="people_filter_input" -     text_color="Black" -     text_pad_left="10" -     top="4" /> -    <menu_button -     follows="top|right" -     height="25" -     image_hover_unselected="Toolbar_Middle_Over" -     image_overlay="AddItem_Off" -     image_selected="Toolbar_Middle_Selected" -     image_unselected="Toolbar_Middle_Off" -     layout="topleft" -     left_pad="7" -     menu_filename="menu_avatar_rendering_settings_add.xml" -     menu_position="bottomleft" -     name="plus_btn" -     tool_tip="Actions on selected person" -     top="3" -     width="31" />      <name_list -     bottom="-8" +     bottom="-33"       draw_heading="true"       follows="all"       left="8"       multi_select="false"       name="render_settings_list"       right="-8" -     top="32"> +     top="0">          <name_list.columns           label="Name"           name="name" -         relative_width="0.5" /> +         relative_width="0.65" />          <name_list.columns -         label="Render setting" +         label="Full detail"           name="setting" -         relative_width="0.25" /> -        <name_list.columns -         label="Date added" -         name="timestamp" -         relative_width="0.25" /> +         relative_width="0.35" />       </name_list> +    <panel +     bg_alpha_color="ScrollBgWriteableColor" +     background_visible="true" +     background_opaque="false" +     bevel_style="none" +     follows="bottom|left|right" +     name="add_subpanel" +     layout="topleft" +     height="28" +     top_pad="0"> +     <menu_button +       follows="bottom|left" +       height="25" +       label="Add someone..." +       layout="topleft" +       menu_filename="menu_avatar_rendering_settings_add.xml" +       menu_position="bottomleft" +       name="plus_btn" +       tool_tip="Actions on selected person" +       top="1" +       left="8" +       width="120" /> +     </panel>  </floater> diff --git a/indra/newview/skins/default/xui/en/floater_performance.xml b/indra/newview/skins/default/xui/en/floater_performance.xml index 039421d589..210b2f8792 100644 --- a/indra/newview/skins/default/xui/en/floater_performance.xml +++ b/indra/newview/skins/default/xui/en/floater_performance.xml @@ -1,20 +1,11 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater - height="590" + height="692"   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"/> -  <string -    name="low" -    value="low"/>    <panel     bevel_style="none"     follows="left|top" @@ -57,70 +48,44 @@         height="20"         layout="topleft"         left_pad="0" -       top="14" +       top="13"         name="fps_lbl"         width="450"> -          FPS -- 60 or more for the best experience -      </text>     -    </panel> -  </panel> -  <panel -   bevel_style="none" -   follows="left|top" -   height="540" -   width="580" -   name="panel_performance_main" -   visible="true" -   layout="topleft" -   left="0"    -   top="60"> -    <panel -     bg_alpha_color="PanelGray" -     background_visible="true" -     background_opaque="false" -     border="true" -     bevel_style="none" -     follows="left|top" -     height="60" -     width="560" -     name="presets_subpanel" -     layout="topleft" -     left="10" -     top="5"> +          frames per second +      </text>        <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 +       left="395" +       top="7" +       name="fps_desc1_lbl" +       width="150"> +        Allow 5-10 seconds for        </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. +       top_pad="-3" +       name="fps_desc2_lbl" +       width="150"> +        changes to take full effect.        </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 +   bevel_style="none" +   follows="left|top" +   height="540" +   width="580" +   name="panel_performance_main" +   visible="true" +   layout="topleft" +   left="0"    +   top="60">          <panel       bg_alpha_color="PanelGray"       background_visible="true" @@ -128,11 +93,12 @@       border="true"       bevel_style="none"       follows="left|top" -     height="60" +     height="70"       width="560"       name="settings_subpanel"       layout="topleft" -     top_pad="20"> +     left="10" +     top="5">          <text           follows="left|top"           font="SansSerifLarge" @@ -143,7 +109,7 @@           name="settings_lbl"           top="12"           width="180"> -          Individual settings +          Graphics settings          </text>          <text           follows="left|top" @@ -153,9 +119,9 @@           layout="topleft"           left="10"           name="settings_desc" -         top_pad="5" +         top_pad="10"           width="395"> -          More control over quality, visibility distance, and enhancements. +          Choose settings for distance, water, lighting and more.          </text>          <icon           height="16" @@ -164,7 +130,7 @@           mouse_opaque="true"           name="icon_arrow3"           follows="right|top" -         top="24" +         top="29"           right="-20"/>        </panel>      <panel @@ -174,7 +140,7 @@       border="true"       bevel_style="none"       follows="left|top" -     height="60" +     height="70"       width="560"       name="nearby_subpanel"       layout="topleft" @@ -189,18 +155,7 @@         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="2" -       name="avatars_nearby_value" -       width="100"> -          very high +          Avatars nearby        </text>        <text         follows="left|top" @@ -210,9 +165,9 @@         layout="topleft"         left="10"         name="avatars_nearby_desc" -       top_pad="5" +       top_pad="10"         width="395"> -          Choose which avatars are not displayed in detail, to increase FPS. +          Manage which nearby avatars are fully displayed.        </text>        <icon         height="16" @@ -221,7 +176,7 @@         mouse_opaque="true"         name="icon_arrow2"         follows="right|top" -       top="24" +       top="29"         right="-20"/>      </panel>      <panel @@ -231,7 +186,7 @@       border="true"       bevel_style="none"       follows="left|top" -     height="60" +     height="70"       width="560"       name="complexity_subpanel"       layout="topleft" @@ -246,18 +201,7 @@         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 +          Your avatar complexity        </text>        <text         follows="left|top" @@ -267,7 +211,7 @@         layout="topleft"         left="10"         name="complexity_info" -       top_pad="5" +       top_pad="10"         width="455">            Reduce the complexity of your avatar if you aren't satisfied with current FPS.        </text> @@ -278,7 +222,7 @@         mouse_opaque="true"         name="icon_arrow4"         follows="right|top" -       top="24" +       top="29"         right="-20"/>      </panel>      <panel @@ -288,7 +232,7 @@       border="true"       bevel_style="none"       follows="left|top" -     height="60" +     height="70"       width="560"       name="huds_subpanel"       layout="topleft" @@ -303,18 +247,7 @@         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 +          Your active HUDs        </text>        <text         follows="left|top" @@ -324,7 +257,7 @@         layout="topleft"         left="10"         name="huds_desc" -       top_pad="5" +       top_pad="10"         width="395">            Removing HUDs you are not using can improve speed.        </text> @@ -335,73 +268,11 @@         mouse_opaque="true"         name="icon_arrow4"         follows="right|top" -       top="24" -       right="-20"/> -    </panel> -    <panel -     bg_alpha_color="PanelGray" -     background_visible="true" -     background_opaque="false" -     border="true" -     bevel_style="none" -     follows="left|top" -     height="60" -     width="560" -     name="troubleshooting_subpanel" -     layout="topleft" -     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" +       top="29"         right="-20"/>      </panel>    </panel>    <panel -    filename="panel_performance_presets.xml" -    follows="all" -    layout="topleft" -    left="0" -    name="panel_performance_presets" -    visible="false" -    top="55" /> -  <panel -    filename="panel_performance_troubleshooting.xml" -    follows="all" -    layout="topleft" -    left="0" -    name="panel_performance_troubleshooting" -    visible="false" -    top="55" /> -  <panel      filename="panel_performance_nearby.xml"      follows="all"      layout="topleft" diff --git a/indra/newview/skins/default/xui/en/menu_avatar_rendering_settings.xml b/indra/newview/skins/default/xui/en/menu_avatar_rendering_settings.xml index 5163cd3115..1a18483418 100644 --- a/indra/newview/skins/default/xui/en/menu_avatar_rendering_settings.xml +++ b/indra/newview/skins/default/xui/en/menu_avatar_rendering_settings.xml @@ -3,24 +3,25 @@   layout="topleft"   name="Settings">      <menu_item_check -     label="Default" -     layout="topleft" -     name="default"> -        <on_click function="Settings.SetRendering" parameter="default"/> -	<on_check function="Settings.IsSelected" parameter="default" />   -    </menu_item_check> -    <menu_item_check -     label="Always render" +     label="Always full detail"       layout="topleft"       name="always_render">          <on_click function="Settings.SetRendering" parameter="always"/> -	<on_check function="Settings.IsSelected" parameter="always" />   +        <on_check function="Settings.IsSelected" parameter="always" />        </menu_item_check>      <menu_item_check -     label="Never render" +     label="Never full detail"       layout="topleft"       name="never_render">          <on_click function="Settings.SetRendering" parameter="never"/> -	<on_check function="Settings.IsSelected" parameter="never" />   -    </menu_item_check>   +        <on_check function="Settings.IsSelected" parameter="never" /> +    </menu_item_check> +    <menu_item_check +     label="Remove from exceptions" +     layout="topleft" +     name="default"> +        <on_click function="Settings.SetRendering" parameter="default"/> +        <on_check function="Settings.IsSelected" parameter="default" /> +        <on_visible function="Settings.IsSelected" parameter="non_default" /> +  </menu_item_check>  </context_menu> diff --git a/indra/newview/skins/default/xui/en/menu_avatar_rendering_settings_add.xml b/indra/newview/skins/default/xui/en/menu_avatar_rendering_settings_add.xml index c64b24ed70..6e09eb5981 100644 --- a/indra/newview/skins/default/xui/en/menu_avatar_rendering_settings_add.xml +++ b/indra/newview/skins/default/xui/en/menu_avatar_rendering_settings_add.xml @@ -4,13 +4,13 @@       left="0" bottom="0" visible="false"       mouse_opaque="false">    <menu_item_call -   label="Always Render a Resident..." +   label="Always full detail..."     name="add_avatar_always_render">        <on_click         function="Settings.AddNewEntry" parameter="always"/>    </menu_item_call>    <menu_item_call -   label="Never Render a Resident..." +   label="Never full detail..."     name="add_avatar_never_render">        <on_click         function="Settings.AddNewEntry"  parameter="never"/> diff --git a/indra/newview/skins/default/xui/en/panel_performance_complexity.xml b/indra/newview/skins/default/xui/en/panel_performance_complexity.xml index 8d4512c4f7..b2f65f9488 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_complexity.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_complexity.xml @@ -42,7 +42,7 @@     top_pad="10"     name="attachments_title"     width="195"> -    My avatar complexity  +    Your avatar complexity     </text>    <text     follows="left|top" @@ -54,7 +54,7 @@     left="20"     name="attachments_desc1"     width="580"> -    Complex attachments require more time and memory to display. +    If your avatar is very complex, some other people may not see you in full detail and    </text>    <text     follows="left|top" @@ -66,7 +66,7 @@     left="20"     name="attachments_desc2"     width="580"> -    While you are in this location, removing the most complex ones may increase speed. +    your own graphics speed may be reduced.    </text>    <name_list      column_padding="0" 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 96bdf2412f..7dcadc557b 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_huds.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_huds.xml @@ -42,18 +42,7 @@     top_pad="10"     name="huds_title"     width="135"> -    Your current HUDs:  -  </text> -  <text -   follows="left|top" -   font="SansSerifLargeBold" -   text_color="PerformanceMid" -   height="20" -   layout="topleft" -   left_pad="3" -   name="huds_value" -   width="70"> -    7 +    Your active HUDs    </text>    <text     follows="left|top" @@ -65,7 +54,7 @@     left="20"     name="huds_desc1"     width="540"> -    Detaching HUDs you aren't using us always a good idea, but especially in a complex location. +    Detaching HUDs you aren't using saves memory and can make Second Life run faster.    </text>    <text     follows="left|top" @@ -77,7 +66,7 @@     left="20"     name="huds_desc2"     width="540"> -    Note: Using a HUD's minimize button does not save memory.  +    Note: Using a HUD's minimize button does not detach it.     </text>    <name_list      column_padding="0" 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 9d91e86b7a..4cc7ffda40 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_nearby.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_nearby.xml @@ -42,18 +42,7 @@     top_pad="10"     name="av_nearby_title"     width="205"> -    Nearby avatar complexity is -  </text> -  <text -   follows="left|top" -   font="SansSerifLarge" -   text_color="PerformanceMid" -   height="20" -   layout="topleft" -   left_pad="3" -   name="av_nearby_value" -   width="150"> -    very high +    Avatars nearby    </text>    <text     follows="left|top" @@ -65,7 +54,7 @@     top_pad="5"     name="av_nearby_desc"     width="580"> -    Some avatars nearby are slow to display. Choosing a complexity limit may help graphics speed. +    Avatars more complex than your chosen limit will be shown in silhouette.    </text>    <slider      control_name="IndirectMaxComplexity" @@ -83,7 +72,6 @@      name="IndirectMaxComplexity"      show_text="false"      top_pad="10" -    left="40"      width="300">    </slider>    <text @@ -148,7 +136,7 @@      control_name="AlwaysRenderFriends"      height="16"      initial_value="true" -    label="Always display friends" +    label="Always display friends in full detail"      label_text.text_color="White"      layout="topleft"      name="display_friends" 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 b5cc2a29ed..fb62e7beb3 100644 --- a/indra/newview/skins/default/xui/en/panel_performance_preferences.xml +++ b/indra/newview/skins/default/xui/en/panel_performance_preferences.xml @@ -2,7 +2,7 @@  <panel   bevel_style="none"   follows="left|top" - height="520" + height="630"   width="580"   name="panel_performance_preferences"   layout="topleft" @@ -42,7 +42,7 @@     top_pad="10"     name="settings_title"     width="300"> -    Individual settings +    Graphics settings    </text>    <view_border      bevel_style="in" @@ -60,8 +60,7 @@     top_pad="30"     name="quality_lbl"     width="100"> -    Graphics quality -shortcuts +    Shortcuts    </text>    <text     follows="left|top" @@ -232,19 +231,7 @@ shortcuts     left="160"     name="distance_desc1"     width="350"> -    To zoom out and see long distances, increase the distance. -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="5" -   left="160" -   name="distance_desc2" -   width="350"> -    If you are indoors, decrease the distance to improve speed. +    To see more land when you zoom out, increase the distance.    </text>    <view_border      bevel_style="in" @@ -262,9 +249,9 @@ shortcuts     layout="topleft"     top_pad="20"     left="20" -   name="enhancements_lbl" +   name="environment_lbl"     width="100"> -    Enhancements +    Environment    </text>    <text     follows="left|top" @@ -298,7 +285,73 @@ shortcuts      name="advanced_lighting_model"      top_delta="24"      width="280"> -  </check_box> +  </check_box>   +  <text +    type="string" +    length="1" +    follows="left|top" +    height="16" +    layout="topleft" +    left="160" +    name="RenderShadowDetailText" +    text_readonly_color="LabelDisabledColor" +    top_pad="10" +    width="128"> +    Shadows: +  </text> +  <combo_box +   control_name="RenderShadowDetail" +   height="18" +   layout="topleft" +   left_delta="150" +   top_delta="0" +   name="ShadowDetail" +   width="150"> +    <combo_box.item +      label="None" +      name="0" +      value="0"/> +    <combo_box.item +      label="Sun/Moon" +      name="1" +      value="1"/> +    <combo_box.item +      label="Sun/Moon + Projectors" +      name="2" +      value="2"/> +  </combo_box> +  <view_border +    bevel_style="in" +    height="0" +    layout="topleft" +    name="border3" +    top_pad="15" +    left="20" +    width="540"/> +  <text +   follows="left|top" +   font="SansSerifSmall" +   text_color="White" +   height="18" +   layout="topleft" +   top_pad="20" +   left="20" +   name="water_lbl" +   width="100"> +    Water +  </text> +  <text +   follows="left|top" +   font="SansSerifSmall" +   text_color="White" +   height="18" +   layout="topleft" +   top_delta="0" +   left="160" +   name="water_desc" +   width="350"> +    Reducing or turning off water effects can greatly improve frame rate. +  </text>    <check_box      control_name="RenderTransparentWater"      height="16" @@ -307,6 +360,7 @@ shortcuts      layout="topleft"      name="TransparentWater"      top_delta="24" +    left="157"      width="280">    </check_box>    <text @@ -359,57 +413,77 @@ shortcuts        name="4"        value="4"/>    </combo_box> -  <text -    type="string" -    length="1" -    follows="left|top" -    height="16" +  <view_border +    bevel_style="in" +    height="0"      layout="topleft" -    left="160" -    name="RenderShadowDetailText" -    text_readonly_color="LabelDisabledColor" -    top_pad="10" -    width="128"> -    Shadows: -  </text> -  <combo_box -   control_name="RenderShadowDetail" +    name="border4" +    top_pad="15" +    left="20" +    width="540"/> +  <text +   follows="left|top" +   font="SansSerifSmall" +   text_color="White"     height="18"     layout="topleft" -   left_delta="150" -   top_delta="0" -   name="ShadowDetail" -   width="150"> -    <combo_box.item -      label="None" -      name="0" -      value="0"/> -    <combo_box.item -      label="Sun/Moon" -      name="1" -      value="1"/> -    <combo_box.item -      label="Sun/Moon + Projectors" -      name="2" -      value="2"/> -  </combo_box> +   top_pad="20" +   left="20" +   name="photo_lbl" +   width="100"> +    Photography +  </text>    <text     follows="left|top"     font="SansSerifSmall" +   text_color="White"     height="18"     layout="topleft" -   top_pad="8" +   top_delta="0"     left="160" -   skip_link_underline="true" -   name="settings_help" +   name="photo_desc"     width="350"> -    [secondlife:/// What do these settings mean?] +    Maximum detail is good for photos, but can slow frame rate. +  </text> +  <spinner +   control_name="RenderVolumeLODFactor" +   follows="left|top" +   height="23" +   increment="0.125" +   label="Distance detail:" +   label_width="95" +   layout="topleft" +   max_val="4" +   min_val="0" +   name="render_volume_lod" +   top_pad="10" +   width="150" /> +  <text +   follows="left|top" +   font="SansSerifSmall" +   height="18" +   layout="topleft" +   top_delta="3" +   left_pad="10" +   name="photo_desc" +   width="180"> +      (Enter value between 0.0 and 4.0)    </text> +  <check_box +    height="16" +    initial_value="true" +    label="Hide avatars completely (good for landscape photos)" +    layout="topleft" +    name="hide_avatars" +    top_delta="29" +    left="157" +    width="280"> +  </check_box>    <view_border      bevel_style="in"      height="0"      layout="topleft" -    name="border3" +    name="border5"      top_pad="10"      left="20"      width="540"/> diff --git a/indra/newview/skins/default/xui/en/panel_performance_presets.xml b/indra/newview/skins/default/xui/en/panel_performance_presets.xml deleted file mode 100644 index 51516020a2..0000000000 --- a/indra/newview/skins/default/xui/en/panel_performance_presets.xml +++ /dev/null @@ -1,223 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - bevel_style="none" - follows="left|top" - height="490" - width="580" - name="panel_performance_presets" - layout="topleft" - left="0" - top="0"> -  <button -    height="16" -    width="16" -    layout="topleft" -    mouse_opaque="true" -    follows="left|top" -    name="back_btn" -    top="7" -    image_selected="Arrow_Left_Off" -    image_pressed="Arrow_Left_Off" -    image_unselected="Arrow_Left_Off" -    left="15" -    is_toggle="true"> -  </button> -  <text -   follows="left|top" -   height="20" -   layout="topleft" -   left_pad="3" -   top="10" -   name="back_lbl" -   width="40"> -    Back -  </text> -  <text -   follows="left|top" -   font="SansSerifLarge" -   text_color="White" -   height="20" -   layout="topleft" -   left="20" -   top_pad="10" -   name="presets_title" -   width="300"> -    Quick settings -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="5" -   name="presets_desc" -   width="580"> -    Note: Quick settings will reset all manual changes you have made. -  </text> -  <view_border -    bevel_style="in" -    height="0" -    layout="topleft" -    name="top_border" -    top_pad="12" -    width="540"/> -  <button -    follows="top|left" -    height="23" -    label="Social" -    label_color="White" -    layout="topleft" -    name="social" -    top_pad="14" -    width="130"> -  </button> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="14" -   name="social_desc1" -   width="580"> -    Tuned for many avatars in a room. -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="5" -   name="social_desc2" -   width="180"> -    Nearby avatar complexity is high. -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   height="18" -   layout="topleft" -   left_pad="5" -   name="avatars_nearby_link" -   skip_link_underline="true" -   width="200"> -    [secondlife:/// Choose avatars to show and hide] -  </text> -  <view_border -    bevel_style="in" -    height="0" -    layout="topleft" -    name="social_border" -    left="20" -    top_pad="12" -    width="540"/> -  <button -    follows="top|left" -    height="23" -    label="Outdoors" -    label_color="White" -    layout="topleft" -    name="outdoors" -    top_pad="14" -    width="130"> -  </button> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="14" -   name="outdoors_desc" -   width="580"> -    Fewer avatars, higher visibility distance. -  </text> -  <view_border -    bevel_style="in" -    height="0" -    layout="topleft" -    name="outdoors_border" -    top_pad="12" -    width="540"/> -  <button -    follows="top|left" -    height="23" -    label="Maximum distance" -    label_color="White" -    layout="topleft" -    name="max_distance" -    top_pad="14" -    width="130"> -  </button> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="14" -   name="max_distance_desc" -   width="580"> -    Good for zooming your camera far out and viewing large land areas. -  </text> -  <view_border -    bevel_style="in" -    height="0" -    layout="topleft" -    name="max_distance_border" -    top_pad="12" -    width="540"/> -  <button -    follows="top|left" -    height="23" -    label="Photography" -    label_color="White" -    layout="topleft" -    name="photography" -    top_pad="14" -    width="130"> -  </button> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="14" -   name="photography_desc" -   width="580"> -    Maximum quality, minimum visibility distance. -  </text> -  <view_border -    bevel_style="in" -    height="0" -    layout="topleft" -    name="photography_border" -    top_pad="12" -    width="540"/> -    <text -     follows="left|top" -     font="SansSerifSmall" -     text_color="White" -     height="18" -     layout="topleft" -     top_pad="14" -     name="settings_desc" -     width="110"> -    For more control, try -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   height="18" -   layout="topleft" -   left_pad="3" -   name="settings_link" -   skip_link_underline="true" -   width="200"> -    [secondlife:/// Idividual Settings] -  </text> - -</panel> diff --git a/indra/newview/skins/default/xui/en/panel_performance_troubleshooting.xml b/indra/newview/skins/default/xui/en/panel_performance_troubleshooting.xml deleted file mode 100644 index 0a14eeb1c0..0000000000 --- a/indra/newview/skins/default/xui/en/panel_performance_troubleshooting.xml +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - bevel_style="none" - follows="left|top" - height="490" - width="580" - name="panel_performance_troubleshooting" - layout="topleft" - left="0" - top="0"> -  <button -    height="16" -    width="16" -    layout="topleft" -    mouse_opaque="true" -    follows="left|top" -    name="back_btn" -    top="7" -    image_selected="Arrow_Left_Off" -    image_pressed="Arrow_Left_Off" -    image_unselected="Arrow_Left_Off" -    left="15" -    is_toggle="true"> -  </button> -  <text -   follows="left|top" -   height="20" -   layout="topleft" -   left_pad="3" -   top="10" -   name="back_lbl" -   width="40"> -    Back -  </text> -  <text -   follows="left|top" -   font="SansSerifLarge" -   text_color="PerformanceMid" -   height="20" -   layout="topleft" -   left="20" -   top_pad="10" -   name="troubleshooting_title" -   width="300"> -    Fixes for common problems -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="5" -   name="troubleshooting_desc" -   width="580"> -    Some problems result from the complexity of the location where you are. All you can do is leave. -  </text> -  <text -   follows="left|top" -   font="SansSerifLarge" -   text_color="White" -   height="20" -   layout="topleft" -   top_pad="30" -   name="rubberbanding_title" -   width="580"> -    Rubberbanding -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="5" -   name="rubberbanding_desc" -   width="580"> -    When you walk, your avatar may be pulled backward again and again. -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="3" -   name="rubberbanding_fix" -   width="580"> -    Fix: XXXXXXX -  </text> -  <text -   follows="left|top" -   font="SansSerifLarge" -   text_color="White" -   height="20" -   layout="topleft" -   top_pad="25" -   name="tex_thrashing_title" -   width="580"> -    Texture thrashing -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="5" -   name="tex_thrashing_desc" -   width="580"> -    On objects near you, you may see their surfaces get blurry, then sharp, then blurry again. -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="3" -   name="tex_thrashing_fix" -   width="580"> -    Fix: XXXXXXX -  </text> -  <text -   follows="left|top" -   font="SansSerifLarge" -   text_color="White" -   height="20" -   layout="topleft" -   top_pad="25" -   name="av_moving_title" -   width="580"> -    Avatars are not moving smoothly -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="5" -   name="av_moving_desc" -   width="580"> -    Lorem ipsum dolor sit amet. -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="3" -   name="av_moving_fix" -   width="580"> -    Fix: XXXXXXX -  </text> -  <text -   follows="left|top" -   font="SansSerifLarge" -   text_color="White" -   height="20" -   layout="topleft" -   top_pad="25" -   name="av_moving_title" -   width="580"> -    Will a better graphics card or new computer help? -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="5" -   name="av_moving_desc" -   width="580"> -    Lorem ipsum dolor sit amet. -  </text> -  <text -   follows="left|top" -   font="SansSerifSmall" -   text_color="White" -   height="18" -   layout="topleft" -   top_pad="3" -   name="av_moving_fix" -   width="580"> -    Fix: XXXXXXX -  </text> -</panel> | 
