Restrained Love 2.9.12: rendering rigged mesh and shadows

Avatar shadows as see using the debug, top left; rigged mesh avatar body seen in default avatar shadow rendering (debug setting 3); Top right: as seen with the debug set to 2 (Chalice Yao's adjustments; bottom left: as seen with the debug set to 1, showing the system avatar shadow, rather than the rigged mesh body shadow; bottom right: the setting reduced to 0, only unrigged attachment shadows are rendered (images via Marine Kelley)
Avatar shadows as see using the debug, top left; rigged mesh avatar body seen in default avatar shadow rendering (debug setting 3); Top right: as seen with the debug set to 2 (Chalice Yao’s adjustments; bottom left: as seen with the debug set to 1, showing the system avatar shadow, rather than the rigged mesh body shadow; bottom right: the setting reduced to 0, only unrigged attachment shadows are rendered – see below for details (images via Marine Kelley)

The latest version of RLV appeared on Friday, June 26th. Version 2.9.12 brings with it an attempt by Marine Kelley to lighten the load placed on your GPU when rendering complex rigged meshes (such as avatar bodies) when running with shadows enabled in the viewer.

In her notes accompanying the release, Marine states:

I have become a mesh body user not long ago, and like every mesh body user, I quickly found out that having dynamic shadows activated while wearing a complex mesh body (Maitreya which is my choice, but also Eve, Belleza, Slink, Abar, TMP…) totally kills the FPS (Frames Per Second, the measure of rendering speed). Like, it divides them by half. It was so bad that I had to turn the shadows off, and I’m sure I’m not the only one.

I knew it was due to the avatar shadows, simply by looking at the Fast Timers in-world (press Ctrl-Shift-9 to show them). A little digging in it and you see “Avatar Shadows” in plain letters as the FPS hog. In fact, this was due specifically to complex rigged mesh rendering, the FPS slowdown wasn’t due to unrigged attachments or anything like that. And since mesh bodies are among the most complex rigged mesh around, they kind of made that issue more obvious. And over time, more and more people switch to mesh bodies, so something had to be done.

Regular readers here know that something is being done at the Lab’s end of things, with the forthcoming introduction of Avatar Complexity. This has the advantage that it takes into account other elements within avatars that can push up rendering complexity and thus reduce performance, such as over-use of very high resolution textures, etc. This disadvantage is that people will have to get used to having Jelly Baby avatars around themselves, which may not be to everyone’s liking.

As noted, Marine’s aim is to allow those people who have previously been able to run the viewer with shadows enabled, but who are finding it impossible to do so when in locations with a number of complex avatars present due to the performance hit they’re taking, to be able to do so again by reducing the hit taken by their system.

As she acknowledges in her release notes, the original idea actually came from Chalice Yao, who has been poking at things with her NaCl viewer. With RLV 2.9.12, Marine adds what she believes to be further refinements to Chalice’s work, which in turn may feed back in to NaCl.

The RestrainedLoveAvatarShadows debug setting in RLV 2.9.12
The RestrainedLoveAvatarShadows debug setting in RLV 2.9.12

Essentially, Marine has added a debug setting to RLV, RestrainedLoveAvatarShadows, accessed via the Debug settings floater (under the Advanced menu).

The debug offers four settings (3 down to 0) which offer different levels of rendering avatar shadows, thus:

  • 3- the default (what Marine calls “legacy”) rendering of avatar shadows commonly seen in viewers: an exact rendering of avatar shadows with rigged and unrigged attachments, and which recognises alpha masks
  • 2- Chalice Yao’s initial adjustments to avatar shadow rendering. Said to simplify the shadow rendering to offer noticeable performance improvements when running in locations with a number of complex avatars
  • 1 – render simplified avatar shadows. The first of Marine’s additions to Chalice’s code, this ignores any alpha masking of the system avatar shape, causing its shadow to be rendered, along with the shadows of unrigged attachments. All shadows associated with rigged attachments (e.g. mesh bodies, etc.), are ignored
  • 0 – don’t render avatar shadows. This will leave avatars with no shadow at all, with the exception of unrigged attachments, therefore offering the biggest potential boost in performance.

Marine offers a series of images demonstrating the resultant shadows, as shown at the top of this article, together with the FPS boosts she sees. The latter may be too small to read in the image collection produced here, so I recommend reading Marine’s blog post for full details.

As I don’t have anything other than a demo fitted mesh avatar body, and also have a fairly high-spec system which includes a GTx 970 with 4GB of memory which handles most situations pretty well, I’ve not been able to practically test how all of this plays out.

However, given this solution is aimed at reducing performance hits when shadows are enabled in the viewer, it’s perhaps not going to suit everyone. If your system already struggles with handling shadow rendering regardless of the complexity of any avatars around you, for example, you may not gain much from using the debug settings. But if you are an TLV user who finds Marine’s situation as quoted towards the top of this article to be familiar, this update a go could well help you. Either way, the one way to find out is to download RLV 2.9.12 and give it a go.

Additional Links

Advertisements

The HuMaNoiD side of Second Life

HuMaNoiD - LEA 6
HuMaNoiD – LEA 6

Making a welcome return to Second Life – for a limited period of time, at least – is Wendy Xeno’s HuMaNoiD, which can now be seen at LEA 6, having last been available on the grid a little over a year ago.

I first encountered HuMaNoiD far back in 2012, on the recommendation of Chestnut Rau. At the time, it was a fascinating, contemplative visit, and throughout several return visits over the years, I continued to find it an evocative place; I’m pleased to say this it still is.

HuMaNoiD - LEA 6
HuMaNoiD – LEA 6

For those who have visited HuMaNoiD in the past, all of the familiar elements are there: the ground level watery landscape, the cello awaiting a player as J.S. Bach’s Unaccompanied Cello Suite No. 1: Prelude can be heard. Around this stand five doorways inviting visitors to open each in turn and step through, and explore the realms in the sky on the other side of each one.

Beyond these, water breaks the landscape into a series of vignettes the visitor is invited to explore. Again, for those who have been to HuMaNoiD in the past, there will be a pleasant feeling of familiarity and comfort to most of them, although one or two nuanced changes have been made from the original, the result of working within the dome needed to give the installation a feeling of an infinite open space;. However, it’s fair to say the changes enhance the region’s aesthetic; I particularly like the bridge suspended beneath balloons (seen at the top of this piece).

HuMaNoiD - LEA 6
HuMaNoiD – LEA 6

The sky spaces are in places similarly reworked, but all present environments rich in context and colour, and once again offer places of contemplation and introspection.  With the sky a little darker than previously, but the elements of poetry still to be found and read, a visit to HuMaNoiD offers much to all, whether you recall the original or make this opportunity a first visit.

One definitely not to be missed, I understand HuMaNoiD will remain at LEA 6 until the end of July.

HuMaNoiD - LEA 6
HuMaNoiD – LEA 6

SLurl Details