The upcoming release of Firestorm Viewer 5.0.11 will contain a few changes to how the setting called Level Of Detail (LOD) Factor can be adjusted in the viewer. We’re aware that these changes may be controversial to some who are accustomed to using (or recommending that other people use) LOD Factor settings that are higher than necessary in today’s Second Life and that may contribute negatively to performance.

For this reason, we would like to discuss this setting in more depth than we usually do on the Firestorm blog, to help our users not only understand the changes but also appreciate the reasons behind them.

Parts of this post are adapted from a related and previously published post by one of our developers, Beq Janus, and used with permission. Please read her post in full for additional information.

The Problem

Firestorm, like all Second Life viewers, has a large number of configuration settings. One of the most widely misunderstood is named RenderVolumeLODFactor. It’s not at all uncommon for Second Life content creators to tell their users that this should be set as high as possible so their creations can be seen properly. Perhaps most commonly, this advice appears on notecards packaged with purchased products. The typical notecard of this kind tells you where to find the LOD Factor setting and how to change it to the value the creator recommends for viewing their objects.

The problem lies in the values some creators recommend. Many suggest a responsible, moderate LOD Factor, but others suggest values too high to be beneficial. Arbitrarily raising this setting slows your computer down without necessarily doing anything to make things look better. A detail that takes up a third of a pixel on your screen won’t be visible no matter how high you set the LOD factor, but your computer will still do extra work trying to show it.

Or put another way, the higher this LOD Factor setting, the longer it takes to draw the scene (frame) within your camera’s perspective, which means fewer frames per second (FPS). Lower FPS is a part of what many people call client-side lag. If visible content renders slowly for you, if things grind to a halt when you visit a busy region, a high LOD Factor setting might be contributing to the problem.

Furthermore, as you can read in more detail in Beq’s post, the LOD problem isn’t inherent to how Second Life works — that is, using a high, laggy setting isn’t the only solution to the issue. It can be addressed when the objects are created rather than when the objects are viewed.

The Technical Stuff

The “level of detail” of LOD refers to how much of an object’s detail the viewer will render. A higher LOD Factor means that the viewer will show the object with greater detail than a lower one. A small object rendered at a lower LOD will be shown as a simpler shape; a higher LOD will be rendered more accurately.

As already mentioned, it takes more work to render a complex object then a simpler one, and the higher the LOD required to render it correctly, the harder your computer and graphics card have to work. If there are many objects with high LOD in a scene, your computer will slow down.

The viewer manages this by determining the required LOD based, in part, on how far away you are from the object. A small, complex object 20 meters away can be rendered with a lower LOD, and you’ll never notice the difference, because it doesn’t take up enough space on your screen to show all that detail anyway. If you move yourself (or the camera) closer, the LOD will go up because the object appears larger, and the details will become visible.

RenderVolumeLODFactor controls how the viewer adjusts the LOD based on your distance from the object. It’s used in calculating the actual LOD. A higher value makes the viewer compute a higher LOD, and render objects with more detail, than a lower value would for any given object and distance.

Beq provides a great deal more explanation at her own blog here.

Changes in Firestorm 5.0.11

High LOD settings could perhaps have been somewhat (though still not totally) justified way back when sculpted prims were a common building material. Now that mesh is more widely used for new builds, however, there is little to no need for those high settings. Nonetheless, the misinformation hasn’t stopped circulating. Instead, advice to increase LOD Factor beyond useful levels is still very common, right at a time when it’s more likely to inhibit performance than improve any aspect of user experience. And the goal of the Firestorm team is and always has been to improve the user experience.

You’ll see three main categories of changes in the upcoming release that concern LOD and LOD Factor:

If you increase your LOD Factor beyond useful levels, you’ll receive popup messages cautioning you not to do so.

LOD Factor settings over 4 will not persist after relog.

Some new tools added to the Build/Edit window will allow you to check or fix LOD behavior in objects. More detail here.

These changes are based on the following information and recommendations for use:

There is no benefit to setting LOD Factor over 8 because the calculations performed by the viewer begin to conflict with each other at such high values and can create errors in rendering. This is not a new problem — it’s always been there, whether you ever happened to encounter it or not. In addition, the higher you set this setting, the less improvement you gain with each added increment, so that around 8 or 10, the improvement essentially plateaus, and any further increase is meaningless for any practical use. Settings over 8 are strongly discouraged.

because the calculations performed by the viewer begin to conflict with each other at such high values and can create errors in rendering. This is not a new problem — it’s always been there, whether you ever happened to encounter it or not. In addition, the higher you set this setting, the less improvement you gain with each added increment, so that around 8 or 10, the improvement essentially plateaus, and any further increase is meaningless for any practical use. Settings over 8 are strongly discouraged. You’ll be able to use settings from 4 to 8 , but they will not persist after relog. We don’t recommend these settings for general use, but we recognize that there are lots of old and low-quality objects on the grid, and many already-existing objects are not optimized to be seen very well without such values. These values will thus be available to you on an as-needed basis and will reset when you log out.

, but they will not persist after relog. We don’t recommend these settings for general use, but we recognize that there are lots of old and low-quality objects on the grid, and many already-existing objects are not optimized to be seen very well without such values. These values will thus be available to you on an as-needed basis and will reset when you log out. Settings from 3.1 to 4 won’t automatically reset on relog, but they’re still higher than what we recommend for general use. They’re acceptable settings to use for photography and other temporary purposes, but we’d recommend reducing your setting to 3.0 or below when you’re done.

won’t automatically reset on relog, but they’re still higher than what we recommend for general use. They’re acceptable settings to use for photography and other temporary purposes, but we’d recommend reducing your setting to 3.0 or below when you’re done. Our recommended LOD Factor range is from 1.5 to 3.0 for regular daily use , and if you’re comfortable with an even lower setting than that, feel free to use it. Not coincidentally, these are the default values for the seven standard settings on the Quality and Speed slider in your graphics preferences: 1.5 for low through mid, 2.0 for mid-high through high-ultra, and 3.0 for ultra. Be sensitive to your system’s needs; if you start at 3.0 but notice drops in FPS when certain objects are in your view, you may wish to experiment with a lower setting.

We’re aware that some of these changes may be annoying at first if you’re used to ramping this setting up, but our ultimate aim is to improve the user experience, among the ways we do that are by educating our user base and by calling attention to how popular misinformation stands in the way of that goal.

If you’re interested in reading more about LOD, how it works, and its effect on your experience, we refer you once more to Beq Janus’s companion piece on the topic.