diff options
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> |