One of the great opportunities of Second Life is that Residents can create nearly anything they can imagine. One of the great challenges is that Residents can create nearly anything they can imagine. We spend a lot of time considering how to improve performance without limiting creativity, and today we're pleased to announce a major change that will serve to improve performance and influence behavior without restricting creative freedom.
In a conventional video game environment, everything you see has been carefully optimized and constructed to make display efficient; levels of detail and textures are checked and rechecked by highly skilled experts who understand the impact of every choice on the target display system, and as much of the expensive computation as possible is done in advance. In the free-form user-created world of Second Life, there is little opportunity for optimization, the target display environment ranges from low-end netbooks to state-of-the-art gaming systems, and the experience of creators ranges from complete novice to those who could be (and sometimes are) among the best in the field. The results are often astonishingly great, but are sometimes very hard on the display capabilities of less powerful systems, resulting in extreme rendering lag.
We've looked at what sorts of things cause the most difficulty, and one of the biggest factors turns out to be rendering of avatars. This shouldn't be very surprising when you consider how much time, attention, and creativity goes into selecting and customizing them. Unfortunately, creators and consumers sometimes make choices that are so difficult for others to render that they severely impact the experience of those around them; in busy areas, this can be a big problem for anyone who has a less than fantastic graphics system. We could address that problem by more sharply limiting what people can create - putting in new limits on the textures, mesh complexity, and attachment features you can use on your avatar, but we enjoy the richness and variety of amazing avatars we encounter in-world as much as you do.
Instead, we are trying to incorporate feedback to content creators and consumers on the impact of their choices, and ways for users to limit the effect that the choices others make can have on their own system performance. Avatars are quite complex; we have a measure of that we're now calling 'Avatar Rendering Complexity'. That measure is, of necessity, an approximation - Because different systems have different strengths, no one measure can ever perfectly represent the difficulty of rendering an avatar in a universal way, but we've put some effort into making it a useful approximation.
In the newest default Viewer release, each time you change the appearance of your avatar, a small notice with your new complexity value will appear in the upper right of your display for a few seconds. There is no absolute 'good' or 'bad' value for that number; it can range from just a thousand or so to several hundred thousand (all the starter avatars are under 32,000, and the newer ones are all under 10,000). There is also a new graphics preference you can use to limit the impact of high complexity avatars around you; it lets you set a maximum complexity for avatar rendering. Anyone you see that's over that limit is simplified to a "JellyDoll" - a solid color silhouette without attachments shown - saving you most of the cost that you would otherwise have had to draw that avatar and so increasing the performance of your viewer. Each user can select their own value for that limit, trading off performance and fidelity; defaults for it depend on the power of your graphics system. You can override the limit for an avatar by right clicking on them and selecting "Always Render Fully".
This limit wouldn't accomplish much if it just changed everyone into JellyDolls without providing feedback to those who wear the most expensive avatars. In order to provide that feedback, your Viewer tells the simulator which of the avatars around you are over your limit and have been simplified. The simulator aggregates that information from everyone and in turn tells you how many of the people around you are not fully rendering your avatar (without telling you which ones they are). When that changes significantly, you'll get a brief notice in the upper right of your screen telling you approximately how many of those around you are (or are not) rendering you because of your complexity. Our hope is that over time this will encourage people to consider the complexity they create - after all, it's not much good having the most elaborate and amazing avatar in Second Life if no one else is seeing it.
But, you say… This is one more preference that I'll constantly want to customize! Sometimes I want to see the amazing beautiful avatars my friends create, and sometimes I want to move quickly through a crowd and don't care, but changing graphics settings is a nuisance.
We've revamped the graphics settings panels to make that easier, but more importantly we've added a way for you to save collections of settings (called "presets") with a name you pick, and then a pulldown at the right end of the top bar (it looks like a little computer screen) to instantly switch between them without having to even open the setting floater.
Now you can have one collection of preferences for shopping, one for clubbing, one for intimate settings with your closest friends - whatever you need, and you can add and change them any time.
We continue to diligently work on stability and performance of Second Life along with adding cool new features. As we do that, we hope to provide more and better information to the colorful and talented community of Second Life so that we can continue to make it an even better and more interesting world together.
More information on how to configure these settings is in the Knowledge Base.