Avatar Draw Weight, the Horrors of Transparency Flipping, and “Second Life: Render Speed Tricks from Nalates Urriah”

Ok, today you’re getting three thoughts that are jumbled together in my head, even if they do or don’t belong together… 🙂

If you haven’t read it yet, here is a very useful list of setting that can improve the speed of your SL:
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.

Access your debug settings off of the Advanced menu:
AdvanceMenuShowDebug

Particularly note:

RenderAutoMuteFunctions

set this to “7” and people with too high an Avatar Draw Weight will render as ‘imposters’ (reduced graphics still images)

renderavatarmaxComplexity
RenderAutoMuteRenderWeightLimit
RenderAvatarComplexityLimit

set this to the maximum Avatar Draw Weight you will accept others being before you ‘imposter’ them. The blog recommends setting between 80,000 to 200,000. The right setting here is extremely dependent on your computer’s graphics capabilities – you’ll just have to mess with it now and then until you’re satisfied with the results. This ties in with “RenderAvatarMaxNonImpostors” which is the number of avatars you will render regardless of how complex they are.

The three values… are because this feature is in testing. I think “renderavatarmaxComplexity” is already deprecated. No longer works.

RenderAutoMuteRenderWeightLimit will turn some people to solid colors IF “RenderAutoMuteFunctions” is set to 7, otherwise it does nothing. But its value does NOT match to Avatar Draw Weight anymore – I think this one is also broken.

RenderAvatarComplexityLimit turns people invisible if they are above it, regardless of any other debug settings. This one does match Avatar Draw Weight.

So here’s what this gives me in an adult infohub on a day when half of SL is in rolling restarts. So the place is way over packed:

InfoHubAutoRenderMute.png
Notice all those people who are just solid colors now… 🙂
It hasn’t done so much good for my FPS, but then again look at how stacked it is in here. I can walk around without fear of crashing, in a mess like this.

So there is your trade-off. High cost people look funny now, but you don’t crash because of them anymore. I’m still going slow here because these settings don’t do anything for any problems other than people’s graphics costs… I stood just outside the sim border and cammed around in here at my normal FPS. But cross the sim border and I hit that 7 fps again. By contrast without this when I cam into crowds, I could hit freezes or crashes.

But you REALLY NEED to go read that blog for a full list of many settings that will improve your SL, especially in crowds.

I’d love to get my hands on the original notecard.

I’m wondering if the Linden Notecard explains the math or thinking on these at all. What are ideal values?

For exmaple for “RenderAutoHideSurfaceAreaLimit”, I had to set it to 23.5 before my skybox appeared. Does this mean my skybox is bad for me, or that 23.5 is a good value for me, or neither?

Avatar Draw Weight Notes:

Oh and… NO LONGER VALID Info on Avatar Rendering Cost:

http://wiki.secondlife.com/wiki/Avatar_Rendering_Cost

Which was REPLACED by Draw Weight:

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

  • I mention both because you still see the first being discussed a lot. People are often not aware it was replaced by Draw Weight. It is VERY IMPORTANT to let people know, because Draw Weight is based on actual difficulty to render things, while ARC was, well, not sure what ARC was based on – but the Lindens themselves said it was not valid metrics. It may have just been values they guessed were important back when SL was new and they did not yet have metrics back telling them what was or was not taxing the system and user graphics cards.
  • So…
    • DRAW WEIGHT is real
    • ARC is no longer used.

That said I see a note in the wiki that an ‘alpha’ is a x4 multiplier on the Draw Weight of a prim – I wonder if this is true of ‘Alpha Blending’ mode only, or also of ‘Alpha Masking’ (the ‘1-bit alpha’ system).

The formula has some interesting curiosities. Like this one:

(-200 points for each baked texture marked invisible)
That makes me wonder how we manage to get our textures into that category. I suspect this comes about in a manner similar to getting things cached.

And this:

for each unique texture (including sculpt textures) in the linkset: + 256 + 16 * (resX/128 + resY/128)

Which means that a sculpty object is going to always be counting up a second texture – thus sculpties end up inherently high in Draw Weight. But not as high as flexi:

flexi x5
Just… wow.

Also interesting that Torus is not mentioned on here, because when this all came about I remember it in a linden post that commented at length about how horrible rendering a torus was on the graphics cards of SL users… Maybe something about torus is already covered in one of the other factors (like how sculpty is hit by the texture issue), or maybe Torus turned out to not be a bad thing after all?

See also this side link:

http://wiki.secondlife.com/wiki/Why_UUID_Flipping_is_Bad

  • First this problem no longer exists. But that’s not why I’m sending you to it. I’m sending you to it to make a point about Draw Weight. There is a note on this page that says:
    • “Transparency — Keep all frames rezzed all the time and use scripted calls to set non-visible frames to 100% transparent. This will cause the renderer to load the object once, and 100% transparent objects are not drawn. The “prim” cost of the object will go up, but this cost is reflective of the actual load of an animated object. “

You may have seen this before with many animated tails. If you wear one, you might see that your system suddenly slows down a lot. I find just wearing one of these can cause my FPS to drop enough that I’m seeing the individual frames… Testing just now, the Somali Tail from lemon Tea cut 10 off of my frames per second.

This “Transparency” system is the new “resizer script” fiasco… its putting a huge number of alpha’d textures all over everyone’s screen… creating massive lag.

Unfortunately this does not seem to be properly counted in Avatar Draw Weight… so the ability to make people using these just ‘auto vanish’ is not really there.

Here’s what switching between two tails does to my FPS:

The impact of using Transparency Flipping – 12.4fps:

TransparencyFlippingAnimationCosts.png

The impact of using Posotion/Rotation based animation – 23.8fps:

PositionRotationAnimationCosts

Yes my FPS is low in general today…

In this test I waited a minute between each switch to make sure all of the ‘loading in’ costs were done. That said, the Jerboa remained the same from the moment I put it on, but the Lemon slowly lowered down from where I was, until it stopped at the 12.4.

If this were about animation choices… I’d show you the Solarian tail. Its true BVH motion using the pelvis of the avatar – super fast, I’m here today talking about render costs… and for that its a distraction.

What I really want you to notice above is the red numbers over my head. They’re about the same. In fact the Lemon Tea is slightly lower. But its having a dramatic impact on performance.

In other words… Avatar Draw Weight measures some reasons why you will suffer lag – but even if the reason is related to a texture issue, Avatar Draw Weight might be missing it…

I’ve picked Lemon Tea here because I still have it in my inventory. The problem it gives occurs with any item, tail or not, worn or rezzed, that uses transparency flipping.

 

Advertisements

5 Comments (+add yours?)

  1. Trackback: Avatar Draw Weight, the Horrors of Transparency...
  2. zzpearlbottom
    Dec 10, 2015 @ 08:22:18

    Reply

  3. Trackback: How to NOT buy bad stuff in SL | Pussycat Catnap's thoughts
  4. Trackback: New Graphics Preferences Now Help Auto-hide Laggy People | Pussycat Catnap's thoughts
  5. Trackback: Firestorm – Use Quick Prefs to set up Lag-Blocking of graphics heavy avatars | Pussycat Catnap's thoughts

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: