Simon Linden gave out a note card at Tuesday’s Server-Scripting user group meeting in Second Life™. It gives us the Debug Settings we can change to improve performance at events with lots of avatars.
To get to the viewer’s Debug Settings you need to have enabled the Advanced menu. There are a couple of ways to do that. In the SL Viewer open Preferences – top menu: Me->Preferences then select the Advanced tab. Enable Show Advanced Menu. This will reveal ADVANCED in the top menu. Click Advanced->Show Debug Settings.
Some of those in the Firestorm Support group will always warn people not to change Debug Settings. I think that is impractical. They are there to be used. Just remember you can screw things up and it is in rare… vary rare cases possible to break the viewer to the point you cannot start it to correct your mistake. In which case you will have to remove your viewer’s seting.xml file. Google for instructions. It’s easy.
Debug Settings have a Reset to default button. So, it is easy to undo changes.
The setting Simon is pointing us to have been covered before by Inara and myself on several occasions. These are the settings:
- RenderAutoHideSurfaceAreaLimit 0
- RenderAutoMuteByteLimit 0
- RenderAutoMuteFunctions 7
- RenderAutoMuteLogging False
- RenderAutoMuteRenderWeightLimit 350000
- RenderAutoMuteSurfaceAreaLimit 150
RenderAutoHideSurfaceAreaLimit – Maximum surface area of a set of proximal objects in-world before automatically hiding geometry to prevent system overload. – This settings affect the stuff around you, walls, chairs, etc. It does not affect avatars. Try a value of 5 as an experiment.
RenderAutoMuteByteLimit – Maximum bytes of attachments before an avatar is rendered as a simple impostor (0 for no limit). – This has direct affect on how avatars render. Combat gamers should have this value set. Start out using a value of 4,000,000. That will turn most of the avatars in a Linden Hub to Jelly Babies.
RenderAutoMuteFunctions – This is an on and off switch for RenderAutoMuteRenderWeightLimit. ) = off and 7 = on. Values in between are mostly undefined. I suspect this is a bit mask with several flags. But, I haven’t figured out what else it may control.
RenderAutoMuteRenderWeightLimit – Maximum render weight before an avatar is rendered as a simple impostor (0 to not use this limit). – This value relates to the ARC value shown when you enable: Advanced->Performance Tools->Show Draw Weight for Avatars. You can enable this feature and visit your favorite club or gathering place and see what the ARC values are. Try values on the 80,000 to 200,000 range. I use 100,000 or 120,000 most of the time. Combat players can get an edge by setting the value lower, but it makes targeting confusing in a melee.
RenderAutoMuteSurfaceAreaLimit – Maximum surface area of attachments before an avatar is rendered as a simple impostor (0 to not use this limit). – This is almost like RenderAutoHideSurfaceAreaLimit. It uses a different metric to decide on whether to render the things over the limit or not. No affect on avatars.
RenderAvatarMaxVisible – Maximum number of avatars to display at any one time. – Simon recommends 8. In my Second Life 3.7.29 (301305) the impostors render as Jelly Babies, not what I expected. – There is also a control for this in Preferences->Grpahics->Max # of non-impostor avatars.
You can also use Ctrl-Alt-Shift-4 to stop rendering avatars. Press those keys and all the avatars disappear. You will see a huge increase in frame rate. Of course, you can’t walk through a crowd without bumping people.
There is also Ctrl-Alt-Shift-2 that will turn of rendering of anything with an alpha layer in the texture. This does not seem to affect avatars.
More Render Shortcuts
There are other keys like Ctrl-Alt-Shift-2 and 4. The full list of Second Life Keyboard Shortcuts is here.
- Ctrl+Alt+Shift += Highlighting and Visibility > Hide Particles
- Ctrl+Alt+T Highlighting and Visibility > Highlight Transparent
- Ctrl+Alt+Shift +1 Rendering Types > Simple
- Ctrl+Alt+Shift +2 Rendering Types > Alpha
- Ctrl+Alt+Shift +3 Rendering Types > Tree
- Ctrl+Alt+Shift +4 Rendering Types > Avatars
- Ctrl+Alt+Shift +5 Rendering Types > Surface Patch
- Ctrl+Alt+Shift +6 Rendering Types > Sky
- Ctrl+Alt+Shift +7 Rendering Types > Water
- Ctrl+Alt+Shift +8 Rendering Types > Ground
- Ctrl+Alt+Shift +9 Rendering Types > Volume
- Ctrl+Alt+Shift +0 Rendering Types > Grass
- Ctrl+Alt+Shift +- Rendering Types > Clouds
- Ctrl+Alt+Shift += Rendering Types > Particles
- Ctrl+Alt+Shift +\ Rendering Types > Bump
These keys enable and disable the various types of rendering. You can also find most of these in Advanced->Rendering Types-> where they are shown in a list. The list includes the keyboard shortcuts. So, you don’t have to remember them. Just keep the Advanced menu item enabled.
There are other tricks to getting better performance. But, these are the less common ones seldom mentioned.