Have you joined the RyanSchultz.com Discord yet? You’re invited to be a part of the first ever cross-worlds discussion group, with over 300 people participating from every social VR platform and virtual world! More details here.
I am going to broach an unpopular topic in Second Life. (Some have even warned me that I might get hate mail from some readers.)
Wagner James Au has been writing his blog about Second Life since the very beginning of the platform, and he has seen a lot come and go in his time. One of his regular rants lately has been about just how horribly unoptimized and inefficient many of the modern mesh avatar bodies are in Second Life. (Frankly, it’s not just mesh bodies; there is quite a bit of other poorly-constructed content in SL—houses, furniture, decorations, etc.—with sky-high rendering costs. Part of the problem is that Linden Lab doesn’t want to break any old content if they can help it.)
Why is this so important? Well, the more complex your avatar is, the more effort it takes for the graphics card in your computer to calculate and display what you see correctly on your screen. And it’s not just your mesh avatar; it’s everybody else’s mesh avatar who is on the same sim as you, plus all the scenery around you, too! Every Second Life user has experienced irritating delays in rendering scenery when they first spawn on a new sim, and significant lag at busy events where there a large number of avatars to render. These problems have been going on for years and years now.
The problem is that Wagner is pretty much beating a dead horse with his critiques. Most Second Life users care only about how good their avatar looks, and they don’t know (or don’t care) about how much unoptimized mesh content negatively impacts SL and other users, particularly those on older, slower computers. I myself have an absolute beast of a gaming computer, built especially to support my Oculus Rift VR headset and to run VR games and apps at the requisite 90 frames per second (to avoid VR-induced nausea). I routinely run my Firestorm viewer for SL at the maximum, Ultra quality settings, and usually my computer handles everything just fine.
Linden Lab well knows that this can be a problem, and some years ago they introduced something called the Avatar Rendering Cost (ARC for short). Here’s a summary of how ARC is calculated. Basically, it is a figure calculated for each avatar on a sim, based on whether they have a classic or mesh avatar, what they are wearing (clothes, hair, shoes, accessories), etc. Showing the ARC on yourself and other avatars is easy to turn on in Firestorm: just press Ctrl-P to bring up the Preferences panel, click on the General tab on the top left-hand side, and check the box next to “Show avatar complexity”:
Many SL viewers will allow you to automatically derender avatars whose ARC is above a certain limit (which means offenders will appear as the so-called “jelly dolls”). This feature can improve Second Life performance significantly for some users. (Like I said, I have my settings adjusted to properly view everybody around me on a sim, regardless of how high their ARC is. I want to see what everybody is wearing, dammit! I often find new stores to visit and new things to buy by doing a right click/inspect on avatars around me. I can’t do that if they are derendered! But obviously, there is a significant rendering cost on my computer, especially at busy events.)
But today’s discussion of this topic on the #second-life channel on the RyanSchultz.com Discord server really brought home to me just how serious the problem of unoptimized, inefficient mesh can be in SL. Recently, a Second Life vlogger named Cassie Middles created a chart showing how many triangles make up each of the popular mesh bodies. (Here’s a direct link to the Google spreadsheet she created. The higher the number of triangles, the more complex the object, and the harder your computer graphics card has to work in order to render it properly. As well as everybody else’s computer.)
One of the mind-blowing facts I learned today is that the brand new Legacy mesh body (just the naked body with hands and feet, without any clothes, shoes, jewelry, a mesh head, hair, etc.) comes out to a whopping 794,368 triangles!
To put that astronomical figure into some perspective, someone said that that number is significantly higher than the rendering cost of an entire match of Overwatch players (two teams of six avatars each, at an average triangle count of 40,270 triangles per character, for a total of 483,240 triangles). That is truly insane! And the feet alone on the new Legacy mesh body come to 380,368 triangles! Mind you, most games are deliberately designed to be as optimized as possible, but nobody needs that level of complexity! It is complete overkill.
But, as I said, writing about this is kind of like closing the barn door after the horse has bolted. There is really no incentive for mesh body makers (and other mesh content makers) to create and sell better-optimized mesh in Second Life, and no penalty if they don’t. Linden Lab does not ban or restrict avatars for having very high rendering costs. For example, here is one outfit I put together for my main avatar, Vanity Fair, which has a total Avatar Rendering Cost of 702,597! This means that, when I wear this lovely outfit to a place like Frank’s Jazz Club, I am pretty much seen as a jelly doll (i.e. derendered) by everybody around me. In other words, I am only dressing to be seen by me.
If I take off the three sets of shimmery flexiprims that are part of the skirt of this beautiful gown, the ARC drops to 108,365. If I remove the jewelry, the ARC goes down to a quite reasonable 59,575 (some older jewelry in particular can be quite badly optimized):
Even making these simple changes to an outfit can make a big difference to performance (for you and others), especially at crowded events.
So, even though it might be a losing battle, I might just decide to add my voice to Wagner’s about the proper optimization of mesh content in Second Life. I still think it’s a losing battle, though. Most SL consumers could care less.
I think that the best that we can do at this stage is two things:
- Promote awareness of the problems of unoptimized, inefficent content among Second Life consumers (for example, including triangle counts or some other complexity measurement in SL Marketplace listings of products);
- Educate SL content creators to make more efficient mesh by using proper decimation and other techniques in tools such as Maya, 3ds Max, and Blender.
Yes, it’s an uphill battle, but it’s worth fighting for a better-performing Second Life for everybody, don’t you agree?