2016 SL project updates 32 (2): TPVD meeting

Eclectica – Mysticablog post

The majority of the notes in this update are taken from the TPV Developer meeting held on Friday, August 12th. The video of that meeting is embedded at the end of this update, and references to it are indicated through the use of time stamps in the paragraphs below. My thanks as always to North for recording and providing it.

Server Deployment – Recap

There was only a Main (SLS) channel deployment this week. This saw the roll of the server maintenance package previously deployed to the three RC’s in week #31, on Tuesday, August 9th. This comprised internal fixes and an update to prevent BUG-37573.

SL Viewer

Release Viewer – Texture Handling Fixes

[0:35] The Maintenance RC viewer release on Monday, August 8th gained a rapid promotion to the de facto release viewer on Thursday, August 11th. Version (dated August 8th).

This viewer includes a number of fixes in the image pipeline (e.g. fixes for “bad” textures – those texture files which have invalid data in them). Also included is a fix to prevent the viewer crashing when you system runs out of main (not GPU) memory while  attempting to load a texture file. Instead, the viewer will substitute a plain grey texture. So, when you start to see grey everywhere instead of expected textures, it’s time to restart the viewer. This may be a pain to look at, but it is considered preferable to having the viewer crash at a potentially inconvenient moment.

[1:35] The Lab intends to move along similar lines for other issues within the viewer which can result in a hard crash, and also go through cleaning-up how exceptions are generated and caught by the viewer, and this work should be appearing in the next but one Maintenance RC update. The overall goal is to improve the image pipeline and some other points in the viewer where a relatively low-level thing results in the viewer crashing. Some of this work might also help prevent attempts to deliberately crash other viewers using textures.

In the meantime, issues have emerged affecting attachments and the Current Outfit Folder with this release – see BUG-37646 “Attachments get ghosted at login on”; and BUG-37653 “Every time I delete Cache and Relog, my Saved Appearances do not load and I am left as a White Cloud in Second Life Viewer”, for details.

Remaining Viewers in the Release Channel

[4:20] The VLC Media Plugin RC viewer, version dated July 28th at the time of writing, which contains the LibVLC-based replacement for QuickTime for Windows, is liable to be the next RC that will be promoted to release status.  A new RC version of this viewer, merged-up to the code, should appear in the release pipeline in week #33 (commencing Monday, August 15th).

[4:32] The plan remains to update the Mac version of the viewer to use VLC as a part of the 64-bit viewer development.

[6:10] The Visual Outfits Browser RC viewer, version dated August 1st at the time of writing, which allows users to preview images of outfits in the Appearance floater should be updated in week #33 following a merge with the code. This update will also include a further round of bug fixes for this project.

Project Bento

[7:35] A new project viewer is being readied, which includes bug fixes and which has been merged with the code. This should hopefully appear in week #33. See my Bento update 22 for more on the project.

Upcoming Viewers

[6:43] A new Maintenance viewer should appear in week #33. This will contain further fixes and improvements, although not the exception handling improvements referred to above.

[7:00] Work is expected to resume on the 64-bit versions of the official viewer in week #33.

SL Voice

[9:45] Work is progressing on Voice, with a further SL Voice plugin update expected from Vivox soon. Oz has been debugging an upcoming project / RC viewer with more Voice fixes – although this isn’t yet ready to be issued.

Avatar Complexity

It has been noted that Avatar Complexity values can fluctuate when seen from different systems, on average by around 5%. This is because it is next to impossible to come up with a single figure that s accurate across all systems, as the calculations have a degree of hardware dependency (GPU, rendering capabilities, etc),

However, the Lab will continue to tweak the calculations to try to make them as consistent as possible, but this will be a gradual process for reasons Oz discussed in the meeting, and which I’ve extracted in the audio file below

A couple of particular issues which have been reported for avatar complexity calculations are BUG-37631 “Rigged mesh with partially transparent texture on it have 4 times higher complexity”, and BUG-37642 “ACI randomly changes (often at login or following a TP)”.

Other Items

Memory Bloat Crashers

[8:50] With the arrival of Avatar Complexity, which provides protection against worn graphics crashers (just don’t set your Maximum Complexity slider to No Limit), it appears that inconsiderates in the virtual world are swapping to use attachments which cause memory bloat in order to crash viewers. There are, for example, attachments which can raise viewer memory to 4 Gb which immediately crasher 32-bit viewers, even if the offending avataris “Jelly Dolled”.

Oz has requested the Lab be supplied with examples, so they can start looking into the matter and hopefully come up with a fix.

Abuse Report Categories

[10:31] One of the possible issues for some Abuse Reports (ARs) appearing to go unanswered is that there are still viewers using the “old” AR categories, rather than the newer categories (as found in the official viewer). This is particularly true where users are still on versions of the viewer which do not have the revised list of AR categories.

To prevent this is the future, the Lab plan to make Abuse Report categories a capability handled by the simulator and downloaded to the viewer. This removes storing the categories in the viewer & having older viewer fail to reflect more recent category updates. It will also make it easier for the Lab to update AR categories to better meet users’ needs. A project viewer will be appearing at some point in the future supporting this new capability.

Also, within the official viewer, appending a snapshot to an AR is to become mandatory, rather than optional, to further help support identify issues and deal with them. Having a picture may not be relevant for all ARs, but for those where it could help in identifying issues, it ensures the picture is provided, rather than ignored.

SL project updates 16 23/2: server, viewer, Avatar Complexity

Snuggles Forest
Snuggles Forestblog post

Server Deployments – Recap

As usual, please refer to the server deployment thread for the latest information.

  • On Tuesday, June 7th, the Main (SLS) channel was updated with the same server maintenance package, comprising the addition of mnemonic names to be used in LSL scripts when attaching to the new attachment points on the Bento skeleton extensions and minor internal changes
  • On Wednesday, June 8th, all three RCs were updated with a new server maintenance package comprising “minor internal changes”.

SL Viewer

There have been no further changes on the viewer front since part 1 of this update, leaving the official viewer channels as follows:

Remaining Viewers

All other viewers currently remain unchanged from week #22:

  • Current Release version:, dated May 11th, promoted  May 18th, and formerly the Quick Graphics RC viewer
  • RC viewers:
    • Maintenance RC viewer, version, dated June 2nd. Includes fixes for the recent release of the Avatar complexity / Graphics Presets viewer release
    • Inventory Message RC viewer, version, dated May 23rd – removal of deprecated and unused UDP inventory messaging mechanisms from the viewer
  • Project viewers:
    • The Visual Outfits Browser (VOB) project viewer, version, dated June 6th. See my overview of the viewer for further details
    • VLC Media Plugin viewer, version, dated June 3rd. Sees the Quicktime for Windows media plugin for the playback of media types such as MP3 MPEG-4 and MOV, replaced by one based on LibVLC (https://wiki.videolan.org/LibVLC/) Mac viewer currently unaffected.
    • Project Bento (avatar skeleton extensions), version, dated May 26th – includes the “reset Skeleton” option and additional slider updates
    • Oculus Rift project viewer, version, dated October 13, 2014 – Oculus Rift DK2 support
  • Obsolete Platform viewer, version, dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Avatar Complexity

There are some issues with Avatar Complexity which have been noted, but have yet to be addressed, One is that a “dirty” install the viewer (i.e. not removing the previous version + its supporting files from a computer will default avatar complexity to No Limit (BUG-18199).

Another (BUG-18195) is that initial default values for Avatar Maximum Avatar Complexity (defined by the graphics benchmarking) are not applying. These should be: Low: 35k; Low-Mid: 100k; Mid: 200k; Mid-High: 250k; High: 300k and High-Ultra / Ultra: 350k. Instead, the bug means that all graphics settings above Low are defaulted to 80k. This also means the Rest button for Avatar Complexity reverts the setting to 80K for all settings, rather than applying the correct default.

Avatar Complexity and Graphics Presets in Second Life

Avatar Complexity provides users with the adbility to
Avatar Complexity is a means to help people who may suffer from performance issues in crowd areas

On Wednesday, May 18th, Linden Lab promoted the long-awaited Quick Graphics viewer to de facto release status. This viewer includes two important new features:

  • The updated Avatar Complexity settings
  • The ability to create, save and load different groups of graphics settings quickly and easily.

Avatar Complexity

As avatars can often be the single biggest impact on the viewer in terms of rendering, particularly in crowded places, so  Avatar Complexity adds a new slider to the viewer which can be used to set a level above which avatars requiring a lot of processing will appear as a solid colour – the casual term to refer to them being “Jelly Dolls” – greatly reducing the load placed on a system compared to having to render them in detail, so improving performance.

The idea is that you can adjust the setting according to circumstance, so that when in a crowded area with lots of avatars, you can dial down the Avatar Complexity setting, found in Preferences > Graphics (and in the Advanced Settings floater), with the result that more of the avatars around you are rendered as solid colours, reducing the load on your graphics card and system, thus improving performance. Then, in quieter areas, the setting can be dialled back up, allowing more avatars to fully render in your view.

Note: this only applies to other avatars in your world view: your own avatar will always fully render in your view.

The Avatar Maximum Complexity slider sets a threshold on avatar rendering by your viewer. Any avatars in your view exceeding this value will be rendered as a
The Avatar Maximum Complexity slider sets a threshold on avatar rendering by your viewer. Any avatars in your view exceeding this value will be rendered as a “Jelly Doll”, sans attachments

If you have a good system with a high-end graphics car, you can set the value on the slider quite high and thus ensure all avatars render fully for you wherever you are.

Note: You can sett the Avatar Maximum Complexity to “No Limit”. However, this is not entirely recommended. some irritants in Second Life still use worn graphics crashers to overload GPUs and crash the viewer. If you set Avatar Maximum complexity to “No Limit”, then such tools, should you ever encounter an irritant using one, will still be effective; so it’s better to set a reasonable high value, leaving your viewer with a cut-off point which should defeat their efforts in crashing you.

There are a few other points to note with Avatar Complexity:

  • You can opt to always render or to not render avatars around you, regardless of your Avatar Maximum Complexity setting by right-clicking on them and selecting your desired action from the context menu
    You can opt to always render or to not render avatars around you, regardless of your Avatar Maximum Complexity setting by right-clicking on them and selecting your desired action from the context menu

    To help you understand how complex you own avatar is, every time you change your appearance, 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

  • The complexity value of your avatar is transmitted to each simulator as you travel around Second Life. In return, 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
  • If you have a friend or friend you wish to see fully rendered no matter how low you dial Avatar Maximum Complexity (while out at a club, for example, where it may be beneficial to set a lower complexity threshold), you can right-click on those individuals and select “Render Fully” from the context menu
  • Similarly, and if you prefer, you can selectivity render avatars in your view as grey imposters, by right-clicking on them and selecting “Do Not Render” from the context menu.

Note: Both “Render Fully” and “Do Not Render” will only apply during your current log-in session; the options are not persistent between re-logs.

To help people understand Avatar Complexity, the Lab has produced the following:

  • A blog post to accompany the promotion of the Quick Graphics viewer to release status
  • An Avatar Complexity Knowledge Base article
  • A video tuTORial, which I’ve embedded below.


Continue reading “Avatar Complexity and Graphics Presets in Second Life”

SL project updates 16 14/2: TPV Developer Meeting

Light Thoughts 2, LEA20 - blog post
Light Thoughts 2, LEA20 – blog post

The following notes are primarily taken from the  TPV Developer (TPVD) meeting held on Friday, April 8th, 2016. A video of the meeting is embedded at the end of this report, my thanks as always to North for supplying it, and time stamps in the text relate to this recording.

SL Server Deployments  – Recap

There was no scheduled deployment to the Main (SLS) channel this week. All three RC channels received the same server maintenance package, comprising a fix for (non-public) BUG-11163 llHTTPRequest returns 400 from some sims and not others, and some minor improvements. Assuming nothing goes sideways with this update, it should be promoted to the Main channel in week #15 (commencing Monday, April 11th).

As of the Server Beta User Group meeting on Thursday, April 7th, it seems that there will not be any RC deployment in week #15.

SL Viewer Update

Maintenance Viewer

One of the changes within the new Maintenance RC sees the When I Spend Or Get L$ notification tick box (Preferences > Notifications) split into two options
One of the changes within the new Maintenance RC sees the When I Spend Or Get L$ notification tick box (Preferences > Notifications) split into two options

A new Maintenance RC viewer, version, arrived on Friday April 8th. This includes fixes for a range of issues related to viewer crashes, memory leaks, input/cursor issues, graphics bugs, formatting, notifications, etc.

This Maintenance viewer sees invisiprim texture UUIDs revert to their “old” behaviour: they will mask whatever they are covering (feet, water in dry docks or in boats, etc) when ALM is disabled, and are ignored when running with ALM enabled (see here for further background on recent changes to how these texture UUIDs are handled by the SL viewer).

The familiar situation with invisiprims
The Maintenance RC viewer sees the return of the “old” invisprim texture UUID behaviour: masking items (e.g avatar feet in shoes; Linden water in dry docks – above – or boats, etc), when ALM is disabled (left) and being ignored by the rendering engine when ALM is enabled

During the TPVD meeting, Grumpity Linden described this as a “partial” fix [11:35, in text], and Oz Linden indicated that the Lab has not reached a final decision on how these textures should be handled in the future [18:35]. both of these comments suggest further work is yet to come with how invisiprims are handled.

Quick Graphics Viewer

[00:50] The Quick Graphics viewer, version at the time of writing, is being merged with the current release viewer code, but still has some remaining bugs to be resolved. It would therefore seem unlikely this viewer will be promoted to release status in the immediate future.

[31:44] Testing has shown that this viewer is relatively successful in preventing people wearing mesh graphics crashers from crashing it. While those using this viewer can experience a drop in frame rate in the presence of such crashers, they tend to remain connected to the simulator.

Change in how Avatar complexity is calculated means that other avatars such no longer appear as "Jelly Babies" when the slider is set to Umlimited
Change in how Avatar complexity is calculated means that other avatars such no longer appear as “rainbow avatars” when the slider is set to Unlimited

[33:24] A further change to the view means it no longer uses attachment geometry when calculating avatar complexity. This should prevent situations where setting the Avatar Complexity slider in the viewer to Unlimited still results in some avatars still appearing as solid colours.

[35:00] However, the recommendation is that if you want to have avatars mostly rendered normally but still have protection against like graphics crashers, you set the Avatar Complexity value to 350K rather than Unlimited.

[36:05] Avatars rendered as solid colours have been informally referred to as “Jelly Babies”. However, as this is actually a trademarked name (Bassett’s / Cadbury-Schweppes / Mondelēz International), the Lab prefers that it is no used, and are informally referring to solid colour avatars as “rainbow avatars” and more formally as “muted avatars”.

Oculus Rift Viewer

[06:49] The Lab is still committed to getting the Oculus Rift project viewer, version and dated October 2014 at the time of writing, updated. Progress has been slowed due ongoing changes in the Oculus SDK. However, the plan remains to have this viewer support the consumer release version of the headset.


[28:48] The Lab has started building 64-bit versions of their Windows and Mac viewers. There is no firm date on when these will appear as project viewers, but the progress to date has been relatively rapid.

SL Voice

[07:40] The recent HTTP / Vivox release viewer (version contains a number of updates to improve issues like Voice quality, drop-outs, connection failures, etc. The Lab has suggested TPVs might want to investigate dropping the updated voice package into their own viewers, if not about to update to the 4.0.3 code base, so users can benefit from the newer Voice package.

Widespread Voice Drop-Outs

[08:40] There have been instances of widespread Voice drop-out across SL recently. These are apparently the result of DDoS attacks aimed at the Vivox services, rather than any issues within SL. Vivox are working to reduce the impacts of these attacks and improve service resumption following them, but the current updates provided to the Lab obviously won’t help when these issues occur. However, an upcoming version of the Voice package should over improvements when reconnecting to the Vivox services after problems have occurred.

Security / Privacy Improvements

[10:25] In addition to the above, the Lab and Vivox are also working on various security and privacy improvements around Voice. When these are available, they will form a new version of the SL Voice package which will not be backwards compatible with older viewers.

Continue reading “SL project updates 16 14/2: TPV Developer Meeting”

Lab blogs on upcoming improvements for Second Life

secondlifeOn Tuesday, October 20th, Linden Lab issued a blog post highlighting upcoming technical improvements to the service, particularly  viewer-side updates, which will shortly be making an appearance, or which are already available in the form of release candidate or project viewers.

Regular readers of this blog will hopefully already be aware of most of the improvements mentioned by the Lab’s post, as I’ve covered them through various updates and focus articles in these pages.

The first to get a mention is the Project Valhalla viewer, which introduces Chromium Embedded Framework functionality to Second Life to replace the ageing LLQTwebkit functionality, and which I initially previewed here. Commenting on this viewer, the Lab blog post states:

A new age of modern HTML5 content is upon us, and we’re overhauling the way shared media (aka “media on a prim”) works so that you can enjoy all kinds of modern web content within Second Life. Chromium Embedded Framework (CEF) is coming to replace the ageing QTWebkit framework. What you can now see in a Project Viewer is the latest released version of Chrome – so it will render all modern web technologies – like HTML5, CSS3, WebGL; has the latest security patches; and will be easy to keep updated to a recent version. What does this mean for your Flash content? What about QuickTime? They may still work, but because both can only be viewed if the user has correctly installed a 3rd party plugin, we can’t  promise support and you shouldn’t expect that it will work for everyone. Standard HTML5 is the way of the future and this Viewer will enable it for anyone. There are still bugs to squash, and we’re iterating quickly to bring you a smooth in-world media and browsing experience. If you have comments about this feature – please post to the forum thread about this topic – located here.

My own quick-and-dirty demo of using a viewer with the CEF code (in this case, the Black Dragon TPV, as I don’t have a video using the Valhalla viewer) to access WebGL content displayed both on prims in-world, and via the viewer’s built-in browser. The WebGL demonstrations are provided via David Walsh (with thanks to Whirly Fizzle for the link), and this video is intended to offer a simple overview of some of the capabilities, which as mentioned in the notes from the Lab are actually far more extensive.

The major take-away from the CEF introduction at this point is that if you make use of media within your products (e.g. TVs, etc.), or as a part of you in-world presence, now is the time to be looking to convert them to using HTML / WebGL, etc., testing them against the Valhalla project viewer, and reporting any issues / highlighting any concerns. The Lab is more like to address matters / consider changes while the viewer is will at project status, rather than when it reaches a release candidate status.

Also mentioned in the post is the new Notifications RC viewer and the Quick Graphics viewer, both of which are both available as release candidate viewers. The former provides a new front-end for handling incoming notifications (and which I previewed here). The latter provides both the new Avatar Complexity functionality (which replaces the old ARC / ADW) and the abilities to create, save and quickly re-use sets of your own graphics presets for use in different environments and settings. Again, I’ve previewed both of these here and here.

The notifications viewer offers a new way of managing notifications and is featured in the Lab's blog post
The notifications viewer offers a new way of managing notifications and is featured in the Lab’s blog post

Additional insight into Avatar Complexity is provided, both through the post and via a link to the Knowledge Base article on it. a request is also given that anyone who has general comments on the capability to please post them to the related forum thread (comments posted to this blog may not be read by the Lab).

Mention is also made of the HTTP updates which have been undertaken by Rider Linden (Project Azumarill) and which are also available in a release candidate viewer. This project builds on the foundations laid by Monty Linden with his HTTP work, further enhancing the use of HTTP capabilities to provide more robust communications capabilities with the simulators and back-end services. Finally – at least in terms of available viewers – the updated mesh importer viewer, recently promoted to de facto release status, gets a mention.

The Quick Graphics viewer allows you to create and save your own graphics presets to suit different requirement,s and which can be quickly loaded and used with just a couple of mouse clicks
The Quick Graphics viewer allows you to create and save your own graphics presets to suit different requirement,s and which can be quickly loaded and used with just a couple of mouse clicks

Also referred to, although it has yet to appear in a project viewer, is a further inventory related project. This is being led by Aura Linden, and the aim is to improve the overall robustness of inventory handling, the work being carried out in two parts, as I was (again) able to preview recently, courtesy of a Third-Party Viewer Developer meeting:

  • The first part will see the  removal of all of the old UDP inventory messaging paths used by the viewer which have already been replaced by more robust mechanisms, but which have until now remained a part of the viewer’s code – this aspect of the work should be appearing in a project viewer viewer soon
  • The second part will comprise a refactoring of the viewer inventory files and functions with the overall aim of making the code more readable and easier to maintain.

As the Lab’s blog post indicates, this project further builds on the on-going work we’ve seen during the course of the last few months to improve inventory performance, reduce the number of inventory losses users may suffer, and provide assistance with inventory-related problems which affect things like logging-in to to SL.

Finally, the Labs blog post also reveals that Flash has now been removed from the secondlife.com website, noting:

Due to the numerous recent security problems affecting Flash, it has been completely removed from our website. A modern way to animate starter avatars in the join carousel and some other exciting news for registration is coming out really soon. Keep an eye out!

This announcement again signifies that while the Shining Project many have ended, and things may have been a little quiet of late, things are still being progressed. As it stands, the notifications updates may well be promoted to the de facto release viewer in week #44 (week commencing Monday, October 26th). In the meantime, the links below will take you to the latest (at the time of writing) versions of the viewers mentioned here and in the Lab’s blog post.  If you find any reproducible issues with any of them, please raise a JIRA, and remember to post any general comments you may have on the viewers to the official forum threads mentioned above.

Second Life project updates 30/1: group issues, avatar complexity

Timeless Memories; Inara Pey, July 2015, on FlickrTimeless Memories, July 2015 (Flickr) – blog post

Server Deployments Week #30 – Recap

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

On Tuesday, July 21st, the Main (SLS) channel had been listed as due to receive server maintenance package previously deployed to the three RC channels ( However, post-roll, the channel had been updated to release, although the description of the changes, internal simulator fixes, remained unchanged.

On Wednesday, July 22nd, the three RC channels all received the same new server maintenance package, again comprising internal server fixes related to Experience Keys, comprising null pointer checkers and – interestingly – a configuration option for the number of Experiences a Premium member can have.

Group Issues

Following the week’s deployment, people started reporting group-related issues, particularly:

  • BUG-9725 – Activating a group fails on first selection on Second Life Server & RC
  • BUG-9735 – Unable to Edit Group Parameters after being made OWNER of newly created group
  • BUG-9695 – [Project Notice] First attempt at joining a group fails (also happens with current release viewer)

BUG-9735 affects promoting a member of the group to Owner status: their role title will change, but they do not gain the Owner powers, even after a relog (if an invitation is sent to someone to join the group with Owner status, they gain the expected rights). Curiously, this bug does not reproduce on Aditi (Beta grid) on simulators running the same code release.

Note that with BUG-9695 that if a fee is charged for joining the group, the fee will be taken, even if the join fails; you’ll then be charged again on your next attempt to join (which should succeed).

The Lab is actively investigating these issues.

In addition, there have been assorted reports of dropped group chat messages and detectable group chat lag.

Avatar Complexity

There have been recent updates relating to STORM-2082, the work Oz Linden has been undertaking on Avatar Complexity (aka “Jelly Baby avatars”). This work had been held-up due to a bug which rendered all avatars affected by the setting as invisible, rather than as the expected “Jelly Babies”. However, this now appears to have been fixed.

This means that this work may well be appearing as a project viewer during week #32 (week commencing Monday, August 3rd).  Commenting on the status of the project at the Open-source Developer meeting on Monday, July 20th, Oz Linden said:

All it needs now is a little more UI – notices that show when your own Complexity has changed, and when your Complexity is too high for those around you to render … I want to wait for those UI changes to release this so that people have a way to understand why things are rendering fully or not … There will be a new setting that controls how long the message about your own cost appears; it will also govern how long the message appears when others are not rendering you.

Avatar Complexity (aka Jelly Babies): expected as a project viewer in early August
Avatar Complexity (aka Jelly Babies): expected as a project viewer in early August

Oz also indicated he’d like to experiment a little more with things. One idea under consideration is that currently, the viewer is gets all the data on high render cost avatars prior to calculating the complexity value. However, it might be possible to allow the viewer to make the calculations without having to fetch the full avatar data. A benefit of this could be to reduce the risk of worn mesh crashers impacting the viewer.