Second Life: Render Speed Tricks

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.

Work hard in silence, let success make the noise

Work hard in silence, let success make the noise by NOeditiON™, on Flickr

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.

Other Settings

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.

18 thoughts on “Second Life: Render Speed Tricks

    • Thanks again Nalate for a good coverage on advance settings.

      An old one you should retain as usefull too in advance settings is ctl-alt-sht C . That in most viewer will show your avatar rendering cost.

      Clearly one way to reduce lag for other is to be aware of the cost of rendering your own avatar. You will be surprise removing part of your outfit how much in relative cost some of its parts weight. Quality items like hairs and dress in this respect will show their value not only in the look they provide but also in the comparatively low weight they present to the crowd.

      for further information http://wiki.secondlife.com/wiki/Avatar_Rendering_Cost

      Hope it helps
      GiMiSa

      • Avatar Rendering Cost was replaced a year or so ago by Draw Weight. Here’s a link to the way Draw Weight works:

        http://wiki.secondlife.com/wiki/Mesh/Rendering_weight

        • Thank you.

          Depending on the viewer you are using the same calculation has different names. The Linden calc has changed a couple of times now and their name for it too.

  1. Pingback: Second Life: Render Speed Tricks | Amazing WWWorld

      • I noticed at an Art Event that some identical objects were disappearing and others weren’t. Turned out object that had been sat on would disappear as if they were an avatar. Didn’t check to see if they are treated the same with imposters settings though. Just a weird observation which most people wouldn’t even know since not many use that option.

  2. Another tip that works for me is go to graphics…general tab… and untick “transparent water” and even if you can’t see any water from your avatar position you increase performance from 83 fps to 111 fps in my case.

  3. Pingback: The Weekly Peek: Double Birthday Edition! | Happily, Ever Afterr in Second Life

  4. Pingback: Pussycat Catnap's thoughts

  5. Interesting. I tried messing with \RenderAutoHideSurfaceAreaLimit\, at 5 almost everything around me vanishes. I had to go up to 23.5 before the walls of my skybox appeared. But I’m not sure what meaning or lesson to take from that test.

    Did Simon Linden explain what or how these settings work / effect us. How we can determine the values our systems should desire?

    • No… there are no good explanations of what the settings do, IMO. The Wiki Page Debug Settings has brief explanations and the settings are named with meaning. Of course the meaning is most relevant to the the Linden programmers and less so for mere mortals.

      RenderAutoHideSurfaceAreaLimit – If you think of each polygon adding to the surface area of an object, this limit is there to stop griefers that create ‘million’ polygon items to wear as video card crashers. Reducing the limit reduces the load on the video card render, as it has fewer polygons to render. This is a setting to leave at the default, unless you have a video card with limited RAM and power.

  6. Pingback: Second Life: Render Speed Tricks | Nalates’ Things & Stuff | A Kat and A Mouse

Leave a Reply to Ormand Lionheart Cancel reply

Your email address will not be published. Required fields are marked *