Second Life project updates 27/1: server, viewer, Experience Keys

Jasmine's Hollow; Inara Pey, June 2015, on Flickr Jasmine’s Hollow (Flickr)

Server Deployments

As always, please refer to the server deployment thread for the latest updates / news.

  • There was no scheduled deployment to the Main (SLS) channel on Tuesday, June 30th
  • On Wednesday, July 1st, all three RC channel received a re-roll of the server maintenance project from week #26, minus the problem which caused that week’s roll-back.

BUG-197, “Cannot See My Chat Only In My Region/ Region Bad Performance” refers to a problem whereby a user can’t see any of their local chat on a region or parcel, and nor can anyone else, due to a scripted object which is spamming chat so badly, the chat throttle kicks in, but no warning would be provided to inform the user this was the case. with the deployed change, the user will now get a message about the chat throttle being hit, but unfortunately, the system will not identify the spammy object (so it might be removed / returned, if possible).

SL Viewer

On Tuesday, June 30th, the Experience Tools RC viewer, version 3.8.0.302622, was promoted to de facto release status by Linden Lab. An official blog post accompanied the promotion, and I blogged an updated overview of the viewer and Experiences.

On Thursday, July 2nd, the Attachment Fixes RC viewer (Project Big Bird) updated to version 3.8.1.303130, bringing it to parity with the release viewer. The Maintenance RC viewer and the Viewer-Managed Marketplace RC viewer will also be updated in due course.

Experiences and Experience Tools

As noted above, the Experience Tools viewer was promoted as the release viewer on Tuesday, June 30th. As a result of this, a number of questions were raised during the Simulator User Group meeting that day, some of which have been asked elsewhere, and so are reproduced here:

  • Will accounts other than Premium be able to create Experiences in the future?
    • No comment at this time
  • Will it be possible to purchase additionalKVP data storage (for storing information on an experience – players, their progress, etc.) in future?
    • This has not been ruled out by the Lab, but it is something they’re decided they don’t “need to figure out yet”
  • What happens to an Experience if a Premium user reverts to a Basic account?
    • The Experience is suspended; data saved to the KVP will not be immediately deleted
  • Will it be possible to transfer an Experience to, say an alt on Premium if downgrading the account associated with the Experience to Basic?
    • This is a possible idea for the future; however the Lab are not looking at it at present, due to the complexities involved
  • Can any third-party creators to sell no mod scripts for other people’s experiences?
    • Technically, no; contributors to an Experience have to be explicitly allowed by the Experience owner
  • Can an Experience run on a mainland parcel?
    • Yes
  • Can an experience run across multiple regions?
    • Yes, so long as it is Allowed by the land owner(s)
  • Will a region restart affect the information for an Experience stored in theKVP?
    • No.

Other Items

Windlight / Environment Changes

The Lab is looking to improve windlight / environment capabilities within the viewer. No work has actually started as yet, but there has been an offer from the Alchemy TPV team to contribute code that would allow the cloud textures to be changed without having to re-start the viewer when doing so.

An idea that has been suggested is that creating and saving windlight settings as local XML files could be replaced by saving them as assets. No decision has been made on this, but it is important to note that were this to go ahead, this would not prevent people from creating their own windlights. Rather, what it would mean is that such custom settings would be saved as SL assets, rather than locally, making them easier to share with others, resulting in a more easily achieved “shared experience” to be experienced.

Avatar Complexity

The release  of a project viewer for Avatar Complexity is still stalled due to the bug that’s been introduced that renders all avatars affected by the setting as invisible, rather than as the expected “Jelly Babies”.

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

2015 viewer release summaries: week 26

Updates for the week ending: Sunday, June 28th, 2015

This summary is published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.

Official LL Viewers

LL Viewer Resources

Third-party Viewers

V3-style

  • Restrained Love Viewer updated to version 2.9.12 on June 26th – core updates: shadow rendering options for fitted mesh bodies (release notes)

V1-style

  • Cool VL Viewer Stable branch updated to version 1.26.12.48, and the Experimental branch to version 1.26.13.17, both on June 27th (release notes).

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

 

Second Life project updates 26/1: server, avatar rendering

The DECADES event  - Saturday, June 27th, 2015 only - details here
The Decades event – Saturday, June 27th, 2015 only – details here

Server Deployments

  • There was no scheduled deployment to the Main (SLS) channel on Tuesday, June 23rd
  • On Wednesday, June 24th, all three  RC channels were updated with the same new server maintenance project, which included a fix for BUG-197, “Cannot See My Chat Only In My Region / Region Bad Performance” (not open to public viewing) and internal simulator fixes. As pointed out in the comments, this deploy was actually rolled back; I had forgotten to re-check the deployment page between originally drafting the first part of this article and publishing it.

The chat issue is a problem whereby a user can’t see any of their local chat on a region or parcel, and nor can anyone else due to a scripted object which is spamming chat so badly, the chat throttle kicks in, blocking their chat. However, no message would be provided to inform the user this was the case; with the change deployed on Tuesday, the user will now get a message about the chat throttle being hit, but unfortunately, the system will not identify the spammy object (so it might be removed, if you own it / the the rights to return it).

Avatar Complexity and Avatar Rendering in Busy Regions

Avatar Rendering in Busy Regions

During the Simulator User Group meeting on Tuesday, June 23rd, Simon Linden hinted that as well as the upcoming Avatar Complexity feature for which I recently gave a rapid overview, there are other options the Lab might consider in order to lighten the rendering load created by avatars:

We may experiment with a similar setting for crowds … setting a limit on the number of avatars we do any attempt at rendering.   In other words, if you were at a region with 75 people in view, and it was set for a limit of 64, you’d only get 64.  The remaining ones just wouldn’t be there in any form, similar to turning off avatars with ctrl-alt-shift-4.

He then went on:

That’s just an experimental idea now. To really make it better in a crowd, we’d probably want the server interest list to know and then it wouldn’t send you those updates.

As we’ve seen, the Interest list isn’t the easiest thing to play around with, so it’ll be interesting to see which, if either, of these ideas might be pursued.

Avatar Complexity

In terms of Avatar Complexity, questions have already been asked if the upper limit is adequate. With the test viewer, the Avatar Complexity slider runs from a value of 19,999 (which pretty much that no other avatars will render in your world view) means pretty much no other avatars will render in your field-of-view) through to 300K, above which sits “No Limit”, which means any avatar will render.

However, the suggestion has been made that the upper limit should perhaps be increased to allow for those who want to render particularly complex avatars used by friends. Responding to this, Oz Linden said, “It wouldn’t be hard to make the range somewhat wider, but at some point the control becomes too hard to use because each pixel is too big a jump.”

One issue that the new Avatar Complexity capability will not prevent (although, strictly speaking, it’s not designed to) is that it will not prevent worn mesh crashers impacting the viewer, because while the avatar is not actually rendered, the data on what is being worn still gets loaded into memory, and it is this that is used to crash things. Commenting on this, Simon linden said, “That sounds like something that should be looked at … if we can avoid loading that data, it would help everything.” Commenting on this, Oz Linden added:

There are a number of available optimisations; among them, using the complexity information from others to just pre-emptively not even fetch the appearance info for an avatar.

So again, it will be interesting to see what might come to pass in the future, should the Lab take this work up as well.

2015 viewer release summaries: week 25

Updates for the week ending: Sunday, June 21st, 2015

This summary is published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.

Official LL Viewers

  • Current Release version: 3.7.30.302599, June 12 – no change (download page, release notes)
  • Release channel cohorts (See my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Maintenance RC viewer version 3.7.31.302685 released on June 19 – comprising some 50 updates, fixes and features (download and release notes)
    • Viewer-managed Marketplace RC viewer version 3.7.31.302677 released on June 18 – allows Merchants to manage inventory associated with Marketplace Listings from within the viewer + sale of items which Merchants do not have the right copy will now be supported with the Direct Delivery purchase mechanism (download and release notes)
    • Attachment fixes RC viewer (Project Big Bird) updated to version 3.7.31.302640 on June 16 – core updates: a number of fixes for various attachment issues (download and release notes)
    • Experience RC viewer updated to version 3.8.0.302622 on June 16 – provides support for viewing and managing Experiences and for contributing content for Experiences (download and release notes)
  • Project viewers:
    • VMM viewer promoted to RC status – see above.

LL Viewer Resources

Third-party Viewers

V3-style

  • Alchemy updated to version Alchemy version 3.8.0.35816 Beta on June 16th – core updates: parity with LL 3.7.30 code; bug fixes and improvements (release notes)
  • CtrlAltStudio updated to 1.2.4.43384 Alpha on June 20th (Windows) – core updates: parity with Firestorm 4.6.9 release + Rift SDK 0.5.0.1 (release notes)

V1-style

  • Cool VL Viewer Stable branch updated to version 1.26.12.47, and the Experimental branch to version 1.26.13.16, both on June 20th (release notes).

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

Second Life project updates week 25/2: TPV Developer meeting

Alpha.Tribe
Alpha.Tribe – blog post

The following notes are taken from the TPV Developer (TPVD) meeting held on Friday, June 19th. A video of the TPVD meeting is included below, with any time stamps in the following text referring to it. My thanks as always to North for the recording and providing it for embedding.

SL Viewer

RC Viewers

[0:39 / 08:00] The Viewer-Managed Marketplace (VMM) viewer reached release candidate status on Thursday, June 18th with the release of version 3.7.31.302677. This means the VMM code is now officially available for TPVs to integrate into their viewers. When this viewer reaches release status, it will signal the end of the current VMM beta period.

[22:37] Currently, the Lab is aiming to promote the Experience Tools, VMM and attachment fixes (Project Big Bird) in order – although what that order might be, has yet to be finally determined.

A new Maintenance RC viewer, version 3.7.31.302685, entered the release channel on Friday, June 19th, with some 50 fixes, improvements and updates, covering building, snapshots, group ban fixes, rendering fixes, etc. Please refer to the release notes for full details.

Project Viewers

An update to the Oculus Rift project viewer  (currently version 3.7.18.295296, and not updated since October 2014) is anticipated to be arriving “soon”, although no precise date is available.

[09:10] A new voice project viewer is expected to appear in week #26 (week commencing Monday, June 22nd), with fixes for voice issues directly from Vivox.

[09:32] A project viewer based on the latest HTTP updates (llcorehttp) that rider Linen has been working on is also expected to make its appearance shortly. This will likely remain at project viewer status for a while as it goes through various iterations as further improvements and revisions are made.

[10:00] A further project viewer with the Lab’s revamped notifications interface (see BUG-8000) is also anticipated as arriving soon as well.

A preliminary version of the proposed new notification panel (see BUG-8000). Note that is is a work-in-progress and may be subject to change prior to release (image courtesy of Whirly Fizzle)
A preliminary version from February 2015 of the proposed new notification panel (see BUG-8000). Note that is is a work-in-progress and may be subject to change prior to release (image courtesy of Whirly Fizzle)

Chromium Embedded Framework

[10:14] Work is progressing with the switch from webkit to the Chromium Embedded Framework (CEF) for media management such that it is entirely possible that a project viewer using CEF may be appearing in the next two weeks.

Snowstorm Project Viewers

[10:30] There are two Snowstorm (open-source contributions) viewers in progress. One of these includes the Avatar Complexity work and the ability to save graphics preferences for the viewer which are being developed by Jonathan Yap (see below for more on this viewer).

The second is a viewer build clean-up viewer that includes a number of TPV-contributed updates and fixes. This latter viewer is currently awaiting internal resources at the Lab, but should hopefully “very, very soon”.

Avatar Complexity

Work on the Avatar Complexity code has been halted due to the introduction of a bug
The introduction of a bug has paused work on the Avatar Complexity code

The Avatar Complexity (aka Jelly Babies) project is the upcoming functionality which provides greater control to user to define how other avatars are rendered in their world-view.

However, a recent  hiccup means that the project has been on hold. n making some changes to the code, Oz accidentally broke the code such that instead of rendering as a solid colour, avatars exceeding the limit are currently rendering as transparent, and this is yet to be fixed.

Commenting on situation at the TPV Developer meeting, Oz indicated any help any willing devs can provide to help sort the problem out, would be appreciated. The public repository for the code is here.

The code problem arose as Oz sought to make changes such that avatars above the rendering limit set by the user render as “Jelly Babies” (i.e. a solid colour, as previously indicated in discussing the project), those avatars with incomplete rendering data are rendered grey (as we currently sometimes see in-world), and those that the user has muted are simply not rendered at all.

Continue reading “Second Life project updates week 25/2: TPV Developer meeting” →