Uploaded image for project: 'Snowstorm'
  1. Snowstorm
  2. STORM-2082

Allow saving and loading of graphic settings and ability to control view of "blinged" avatars

    Details

    • Type: Defect
    • Status: Closed
    • Priority: Major
    • Resolution: Released
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      Feature
    • Test Plan:
      Hide

      There are three parts to this change
      1) Saving, loading, and deleting graphic presets
      2) A new floater for advanced graphics preferences
      3) A new control that causes avatars with draw weights over the specified value to render in a simplified fashion

      Known issues, inherited from the base LL viewer:
      In the graphics preference panel clicking on a dropdown and performing no other action causes the panel to be marked as "changed." Also, clicking on a round slider control and not moving it causes this to happen.

      Part 1
      Start the viewer
      Push Ctrl-P and click on Graphics: three buttons "Load preset...", "Delete preset...", and "Save settings as a preset..." should be disabled.
      Without closing preferences log in: a Known Issue is present which is not going to be fixed: these three buttons are still disabled

      Close preferences
      Open preferences
      Click on the General tab
      Close preferences
      Mouse hover over the speaker icon in the top right, the the > icon, and finally over the new preset icon. Each pulldown should have its right edge almost abutting the right edge of the screen.
      For a fresh install the only preset defined should be Default.
      Click on the button Open Graphics Preferences: The preferences floater opens with the graphics tab selected and the pulldown closes.

      A - Load Test
      Move the Draw distance control to a new position
      In the preset pulldown select Default: the Draw distance control returns to its previous position and the text for Preset in use changes to Default
      Move the Draw distance control to a new position: the text for Preset in use changes to (none)
      Note: This text will change to (none) after a preset has been loaded and any graphics setting is changed.

      Click on the Load preset... button
      Click on Cancel: the floater closes and nothing else happens
      Click on the Load preset... button
      Click on Ok: the Draw distance control returns to its previous position and the text for Preset in use changes to Default and the Load floater closes
      Mouse hover over the pulldown: a green checkmark is next to the name of the preset you just loaded

      B - Save test
      Click on Save settings as a preset...
      Click the Cancel button: the save floater closes
      Change Draw distance
      Click on Save settings as a preset...
      Perform this step twice: First, overwrite the Default setting and verify (per part A) that you can load your change(s) and secondly, input a new preset name. This name should include spaces and foreign letter characters.
      Verify that in the Load test the new name(s) appear correctly.
      Once you have picked a name to save from the dropdown or entered text the Save button becomes enabled.
      Note: picking an entry in the dropdown and then using the delete key to erase it leaves the Save button enabled.

      C - Delete test
      Click on Delete preset...
      Click the Cancel button: the delete floater closes
      Click on Delete preset...: note that the Default preset is not in this list
      One at a time delete all the presets you have created
      When you have deleted all the presets you have created the text Empty list appears in the combobox and the Delete button is disabled

      D - Update test
      Leave the delete floater open
      Click on Load preset...; leave it open
      Click on Save settings as a preset...
      Save a new preset (input a new name): Empty list in the delete floater changes to the new name, the combobox in the Load floater will show the new name; the pulldown will show the new name

      E - UI changes and dependencies
      Move the Quality & speed slider to the middle so Atmospheric shaders and Advanced lightning model are both checked
      Move the slider all the way to the left: both checkboxes become disabled and Advanced lighting model becomes greyed out
      Click on Reset all to recommended settings: your settings are set to recommended values

      Note: The Default preset can be modified
      Note: The Default preset will start out with whatever settings you have things set to when you first start the test viewer.

      F - Odd cases
      1) Save a preset and then delete it: the text for Preset in use changes to (none)

      2) In a file browser navigate to the folder where these presets are stored. They will be in the same directory tree where you find secondlife.log but under user_settings\presets\graphic
      Manually delete a preset you have created
      Open the Load floater and try to load it: nothing happens
      Open the Delete floater, manually delete a preset, and try to delete it by picking its name in the combobox: a notification appears "Error deleting preset [name]"
      Close the viewer
      Manually delete the Default.xml preset
      Start the viewer and log in: the Default preset has been recreated using your current settings

      3) Load a preset
      Log out
      Log in
      Open preferences: the Preset in use field should show what you had previously loaded
      Mouse hover over the pulldown: the green checkmakr should should what you had previously loaded

      G - Floater dependencies and buttons
      1) Open the Load, Save, and Delete preset floaters
      Click on the Ok button on the preferences floater: all four floaters close

      2) Open the Load, Save, and Delete preset floaters
      Click on the Cancel button on the preferences floater: all four floaters close

      Part 2
      Click on Advanced Settings...

      A - Change, save, and load presets to make sure all these settings are being stored and loaded correctly
      After you have loaded a preset manipulate each of the settings in turn, to verify that Preset in use changes from what you have previously loaded to (none)
      Note: You will have to keep reloading a preset – use the pulldown to make this a speedy process

      B - Move both floaters and close them
      Reopen both floaters: they reopen in their previous positions

      C - Perform a full regression test to verify that all dependencies still operate properly.
      You will need to open this floater and check for disabled controls on some "weak" systems that do not support the more advanced graphics functions.
      Note: The hardware floater has been eliminated; it has been merged into this new floater
      Note: Some bugs were fixed where text that was supposed to be greyed out and wasn't is now correctly being greyed out
      Note: Some controls are now sliders that used to be some other type of control
      Note: The Impostors checkbox has been eliminated; this case is handled in Part 3.

      Part 3
      Open the Advanced settings floater
      Move to a busy area, where there are many avatars

      A - Move the Max. # of non-impostors slider all the way to the right: the text changes to No Limit and no impostors are displayed
      Move the control slowly to the left: as you change this control from 65 to 1 you notice related changes to the avatars around you, with more and more of them becoming impostors

      B - Test a Maximum complexity
      Click on Advanced->Performance Tools->Show Draw Information for Avatars
      Move the impostors control all the way to the right
      Start with the Maximum complexity control all the way to the right: the text changes to No Limit
      Slowly move it to the left: avatars whose draw value exceeds the setting of this control quickly change to render in a simplified format
      When the control is all the way to the left, at 20,000, chances are very good that all avatars are being rendered in this simplified format

      C - From a distance observe avatars as they teleport in
      1) With Maximum complexity off
      2) With the Maximum complexity set to a large enough value that they would never be rendered simplified
      In these two cases arriving avatars should always render properly
      3) With Maximum complexity set to a low value: an arriving avatar is quickly rendered simplified

      D - Adjust Maximum complexity as well as the impostors control to see that both function together.
      Test each control with the other one set to No Limit.

      E - Buttons
      1) Change the value of some setting and click on the Ok button: The advanced floater closes.
      Reopen the advanced floater and verify that the change you just made is still in effect.

      2) Change the value of some setting and click on the Cancel button: The advanced floater closes.
      Reopen the advanced floater and verify that the change you just made has reverted to its original value.

      Show
      There are three parts to this change 1) Saving, loading, and deleting graphic presets 2) A new floater for advanced graphics preferences 3) A new control that causes avatars with draw weights over the specified value to render in a simplified fashion Known issues, inherited from the base LL viewer: In the graphics preference panel clicking on a dropdown and performing no other action causes the panel to be marked as "changed." Also, clicking on a round slider control and not moving it causes this to happen. Part 1 Start the viewer Push Ctrl-P and click on Graphics: three buttons "Load preset...", "Delete preset...", and "Save settings as a preset..." should be disabled. Without closing preferences log in: a Known Issue is present which is not going to be fixed: these three buttons are still disabled Close preferences Open preferences Click on the General tab Close preferences Mouse hover over the speaker icon in the top right, the the > icon, and finally over the new preset icon. Each pulldown should have its right edge almost abutting the right edge of the screen. For a fresh install the only preset defined should be Default. Click on the button Open Graphics Preferences: The preferences floater opens with the graphics tab selected and the pulldown closes. A - Load Test Move the Draw distance control to a new position In the preset pulldown select Default: the Draw distance control returns to its previous position and the text for Preset in use changes to Default Move the Draw distance control to a new position: the text for Preset in use changes to (none) Note: This text will change to (none) after a preset has been loaded and any graphics setting is changed. Click on the Load preset... button Click on Cancel: the floater closes and nothing else happens Click on the Load preset... button Click on Ok: the Draw distance control returns to its previous position and the text for Preset in use changes to Default and the Load floater closes Mouse hover over the pulldown: a green checkmark is next to the name of the preset you just loaded B - Save test Click on Save settings as a preset... Click the Cancel button: the save floater closes Change Draw distance Click on Save settings as a preset... Perform this step twice: First, overwrite the Default setting and verify (per part A) that you can load your change(s) and secondly, input a new preset name. This name should include spaces and foreign letter characters. Verify that in the Load test the new name(s) appear correctly. Once you have picked a name to save from the dropdown or entered text the Save button becomes enabled. Note: picking an entry in the dropdown and then using the delete key to erase it leaves the Save button enabled. C - Delete test Click on Delete preset... Click the Cancel button: the delete floater closes Click on Delete preset...: note that the Default preset is not in this list One at a time delete all the presets you have created When you have deleted all the presets you have created the text Empty list appears in the combobox and the Delete button is disabled D - Update test Leave the delete floater open Click on Load preset...; leave it open Click on Save settings as a preset... Save a new preset (input a new name): Empty list in the delete floater changes to the new name, the combobox in the Load floater will show the new name; the pulldown will show the new name E - UI changes and dependencies Move the Quality & speed slider to the middle so Atmospheric shaders and Advanced lightning model are both checked Move the slider all the way to the left: both checkboxes become disabled and Advanced lighting model becomes greyed out Click on Reset all to recommended settings: your settings are set to recommended values Note: The Default preset can be modified Note: The Default preset will start out with whatever settings you have things set to when you first start the test viewer. F - Odd cases 1) Save a preset and then delete it: the text for Preset in use changes to (none) 2) In a file browser navigate to the folder where these presets are stored. They will be in the same directory tree where you find secondlife.log but under user_settings\presets\graphic Manually delete a preset you have created Open the Load floater and try to load it: nothing happens Open the Delete floater, manually delete a preset, and try to delete it by picking its name in the combobox: a notification appears "Error deleting preset [name] " Close the viewer Manually delete the Default.xml preset Start the viewer and log in: the Default preset has been recreated using your current settings 3) Load a preset Log out Log in Open preferences: the Preset in use field should show what you had previously loaded Mouse hover over the pulldown: the green checkmakr should should what you had previously loaded G - Floater dependencies and buttons 1) Open the Load, Save, and Delete preset floaters Click on the Ok button on the preferences floater: all four floaters close 2) Open the Load, Save, and Delete preset floaters Click on the Cancel button on the preferences floater: all four floaters close Part 2 Click on Advanced Settings... A - Change, save, and load presets to make sure all these settings are being stored and loaded correctly After you have loaded a preset manipulate each of the settings in turn, to verify that Preset in use changes from what you have previously loaded to (none) Note: You will have to keep reloading a preset – use the pulldown to make this a speedy process B - Move both floaters and close them Reopen both floaters: they reopen in their previous positions C - Perform a full regression test to verify that all dependencies still operate properly. You will need to open this floater and check for disabled controls on some "weak" systems that do not support the more advanced graphics functions. Note: The hardware floater has been eliminated; it has been merged into this new floater Note: Some bugs were fixed where text that was supposed to be greyed out and wasn't is now correctly being greyed out Note: Some controls are now sliders that used to be some other type of control Note: The Impostors checkbox has been eliminated; this case is handled in Part 3. Part 3 Open the Advanced settings floater Move to a busy area, where there are many avatars A - Move the Max. # of non-impostors slider all the way to the right: the text changes to No Limit and no impostors are displayed Move the control slowly to the left: as you change this control from 65 to 1 you notice related changes to the avatars around you, with more and more of them becoming impostors B - Test a Maximum complexity Click on Advanced->Performance Tools->Show Draw Information for Avatars Move the impostors control all the way to the right Start with the Maximum complexity control all the way to the right: the text changes to No Limit Slowly move it to the left: avatars whose draw value exceeds the setting of this control quickly change to render in a simplified format When the control is all the way to the left, at 20,000, chances are very good that all avatars are being rendered in this simplified format C - From a distance observe avatars as they teleport in 1) With Maximum complexity off 2) With the Maximum complexity set to a large enough value that they would never be rendered simplified In these two cases arriving avatars should always render properly 3) With Maximum complexity set to a low value: an arriving avatar is quickly rendered simplified D - Adjust Maximum complexity as well as the impostors control to see that both function together. Test each control with the other one set to No Limit. E - Buttons 1) Change the value of some setting and click on the Ok button: The advanced floater closes. Reopen the advanced floater and verify that the change you just made is still in effect. 2) Change the value of some setting and click on the Cancel button: The advanced floater closes. Reopen the advanced floater and verify that the change you just made has reverted to its original value.

      Description

      How would you like the feature to work?

      In Preferences->Graphics->Advanced there would be UI controls to save and load graphic settings.

      Currently to accomplish this each graphic setting has to be manually altered. Being able to change to a block of settings at once would greatly speed up this process and be less error prone.

      The details can be worked out, but I am thinking of having the settings saved to a filename supplied by the resident. This would allow for any number of saved settings.

      Why is this feature important to you? How would it benefit the community?

      In busy regions a resident may want to use reduced graphic settings. A photographer may want enhanced settings when they are taking photos, but want to use less cpu-intensive settings otherwise.

      What is changing

      • New UI elements will be added to permit the saving/deleting/loading of graphic presets.
      • In order to incorporate these new controls the UI layout will be adjusted to the design specification supplied by LL.
        • A pulldown panel will be added at the top right of the screen.
        • The hardware floater will be merged with the advanced controls.
      • Code changes and a new UI element will be added to render avatars with a draw weight over the limit selected by the user as a simplified avatar, thus speeding up the frame rate and making it harder for griefer avatars to cause difficulties.

      Implementer note: Fix upper range limit of view angle slider. 1.6 seems to be the largest effective value.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              jonathan.yap Jonathan Yap
              Contributor:
              Jonathan Yap
            • Watchers:
              14 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: