2021 CCUG meeting week #26 summary

Butterfly Conservatory, April 2021 – blog post

The following notes were taken from my audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, July 1st, 2021. These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar and the venue for the CCUG is the Hippotropolis camp fire.

SL Viewer

There have been no updates for the any of the official viewer versions, leaving the pipelines as follows:

General Viewer Notes

  • The Fernet Maintenance RC viewer is next in line for promotion.
  • LMR-6 continues to be developed.
  • Voice update: this wasn’t an update the SLplugin.exe API, but was a change to the automatic voice level detector. This was causing a lot of the cut-out issues with voice, as it is overly sensitive to voice cadence when speaking, causing the temporary drop-outs, so by default the viewer no longer uses it at all.

ARCTan

Summary: An attempt to re-evaluate both avatar rendering costs and the cost of in-world scene rendering, with the current focus on avatar rendering cost / impact, and in-world scene rendering / LI to be tackled at some point in the future.

  • Work is continuing on the new performance floater. This pulls together information from various menus / debugs to display useable information on avatars / attachments that are heavy in rendering cost, and what can be done.
  • This work is currently separate to the work on revising that actual formulas used for calculating avatar complexity. As the viewer has yet to appear, it’s not clear if the updated avatar complexity calculations will be folded-in to the viewer before it reaches eventual release status, or if they will follow after. Currently, Vir hopes to get back to working on the calculations “some time in the new few weeks”.

Graphics Update Discussion

  • There have been numerous questions about LL switching the viewer’s renderer to a commercial engine such as Unreal Engine or Unity.
  • As Grumpity Linden indicated during her SL18B Meet the Lindens session, there are currently no plans to do so. This is not to say it would never happen – although doing so would be a very significant project.
  • One major argument against turning to a commercial engine is that users have very strong views on existing content and how it should be rendered, and can get very upset when things change – and they would change significantly were the viewer to be re-built around a new rendering engine.
  • Other factors weighing against commercial engines include:
    • They are not currently considered as being particularly good at dealing with dynamic content.
    • They could be restrictive in terms of the hardware people can use to access SL.
    • The basic work to make a switch-over would likely require around 18-24 months of development, which would curtail other viewer work, simply because it would be a significant viewer re-build.
  • Currently, the major areas of performance impact are said to be:
    • The sheer volume of draw calls the viewer has to make under OpenGL, which have a large processing overhead.
    • Avatar rendering, due to that volume of unoptimised content avatars can be loaded with – hi-poly meshes, excessively heavy unique texture use, etc.
    • Poorly considered in-world content (undue reliance on high LOD models, texture use, etc.).
    • The processing required for rendering shadow, etc, (when people run them).
  • The draw calls issue could be largely significantly reduced via a switch to more recent graphics APIs – such as Vulkan (PC) and Metal (Apple), which process things differently. Such a switch also yields benefits in other areas – such as the potential to use graphics libraries based on the capability of the user’s computer.
  • As such, the preferred route is to make incremental changes, such as a switch to a more modern set of APIs and libraries, rather than a total replacement of the rendering engine, simply because this will yield some degree of benefit and improvement without a substantial impact on the Lab / SL / users.
  • Another aspect of performance improvement (which has also been subject to recent questions) is improving the viewer code to better leverage multi-core processors.

General Improvements / Education

  • It’s acknowledged that better LOD models for objects would help improve performance where “new” content is concerned, and work is being put into a mesh optimiser,, although more could be done.
  • The Lab also acknowledges that much of the documentation produced through the wiki for content creation is increasingly out-of-date. There is also much that simply isn’t documented.
  • A problem with a lack of proper documentation / education is that creators  – especially those new to the platform – can pick up incorrect ideas / approaches, and end up contributing to  issues such as poor performance (e.g. the idea that everything must be high poly in order to be high quality).
  • However, the flip side of the argument is, even if effort is put into better documentation, etc., there  is a) no guarantee it would be read be newer creators; b) it is unlikely that those already set in their ways (bad habits and all) will actually decide to take notes and change their ways
  • While somewhat valid this above point doesn’t excuse ensuring the information that is provided is at least relevant / accurate and again becoming a resource that can be actively used / pointed to.

In Brief

  • A clarification was given on the upcoming resumption of work on the 360º Snapshot viewer (see: 2021 TPV Developer Meeting Week #25 Summary), stating that this viewer remains for snapshots only – there are no plans at present to extend it to 360º video capture.
  • There are still no plans to re-implement official support for VR headsets at this time, as it is generally felt at LL that while it would be nice to offer it, overall viewer frame rates cannot be maintained (e.g. at least 60 fps per eye) to make for a comfortable experience.
  • BUG-229908 “[EEP] Build floater shows incorrect light colour values/incorrect colour set for light” (also BUG-230549 “Colour picker for Light (PRIM_POINT_LIGHT) shows and sets incorrect values”, noted as a duplicate to BUG-229908), has been accepted by the Lab, but no ETA on any possible fix – and it is not currently being looked at as a part of the LMR-6 work.

2021 SUG meeting week #26 summary

Riding Zany Zen’s Railway, April 2021 – blog post

The following notes were taken from the Tuesday, June 29th, 2021 Simulator User Group (SUG) meeting. The meeting was recorded by Pantera Północy, and is embedded at the end of this summary.

Server Deployments

See the server deployment thread for any most recent updates / changes.

  • There was no deployment to the SLS Main channel on Tuesday, June 29th. At the time of writing, an investigation was underway to determine why some of those simulators on the SLS Main channel due an automatic re-started hadn’t received it.
  • Wednesday, June 30th should see the RC channels updated with simulator release 560819. This includes internal fixes, a fix for BUG-202864, an a further fix for BUG230881 – “llHttpRequest(): HTTP_CUSTOM_HEADER flag is ignored”, which caused an attempt to deploy the internal fixes + BUG-202864 in week #25 to be rolled back.

SL Viewer

There have been no official viewer updates to mark the start of the week, leaving the official pipelines as follows:

  • Release viewer: Project UI RC viewer, version 6.4.20.560520, dated June 14, promoted June 23 – NEW.
  • Release channel cohorts:
  • Project viewers:
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, dated November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, dated July 16, 2019.

In Brief

  • The issue of scripted objects rezzed by other scripted object experiencing a 2-3 second delay in start-up is still being felt, and the Lab continues to investigate the problem. Commenting on the situation, Rider Linden stated:
It is frustrating, and we are looking at a few things that we hope will make the issue better. But no ETA on when to see the changes. I have a test object that has been running for quite some time to try and catch that problem. It’s gone through roughly 3M rezzes at this point and seen one failure (which I was able to correlate with a region crash). 

It has been noted that if the parent object is *not* in the land group, it will work so long as the owner is nearby and wearing the group tag, but will stop working in the owner leaves the region / parcel.

  • Region crossings: LL plan to carry out a “re-evaluation” of region crossing, but this may not happen until 2022.
  • The engineering team was asked what is being worked on (a common question at SUG meetings), and Mazidox Linden (QA lead for the simulator / servers) replied thus:
Plenty is in the works right now.. Most of it is still under wraps, and a fair bit of it is on backend services that you’ll never notice, except for “Oh, I don’t crash as much” or “Oh, my inventory fetches faster/more reliably” (just as random examples of backend work that we don’t generally broadcast).

In addition, Rider Linden re-iterated that a major area of work is upgrading all of the back-end tools the Lab have at their disposal for system management / monitoring (and presumably better leveraging the additional tools / monitoring AWS offers).

  • Some people still seem to be under the impression that texture and object data is passed to the viewer via the simulator. This actually hasn’t been the case since the Lab introduced asset data handling via CDNs in 2014 and later expanded to include all asset types, as Simon Linden noted:
The server doesn’t really do much with texture [or other asset] transfers It sends the IDs and lets the viewer decide what to download or read into the texture pipeline
  • Responding to a question, “Do server still host multiple regions in the same fashion as before uplift? One CPU for full regions, 4 for homesteads?” Simon Linden responded:
I’m going to be really vague to answer that, but it’s both mostly the same thing and also totally new. Comparing a CPU from our old servers to what’s in AWS … from the start, it’s hardware CPUs vs their  [AWS}‘virtual CPU [vCPU].

While Rider Linden added:

That is mostly unchanged… but we’re not looking at the same kind of CPU so it is a bit like comparing apples and oranges.

The use of vCPUs, coupled with Amazon’s overall approach to billing for services, is a big part of why *it’s complex” is a general reply to question on how things operate and are billed within the AWS environment.

  • There have been requests for larger script sizes to be allowed in Second Life. While this hasn’t been entirely ruled out (although there are currently no plans to introduce anything), Mazidox Linden noted:
Larger scripts would probably come with trade offs that would make them unpalatable, like a small limit on the number you could have in a linkset or only region owners being allowed to use them, just as examples off the top of my head.

2021 TPV Developer meeting week #25 summary

Resilient Station, April 2021 – blog post

The following notes are taken from the TPV Developer meeting held on Friday, June 25th,, 2021.

These meetings are generally held every other week.  They are recorded by Pantera Północy, and her video of the meeting is embedded at the end of this report – my thanks to her for allowing me to do so – and it is used with a transcript of the chat log from the meeting and my own audio recording to produce these notes.

SL Viewer

The Project UI RC viewer, version 6.4.20.560520 and dated June 14th, was promoted to de facto release viewer on Wednesday, June 23rd. Note that this viewer also now includes the latest Voice fixes, as recorded in the Fernet RC viewer release notes.

The rest of the official viewers remain as follows:

  • Release channel cohorts:
  • Project viewers:
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, dated November 22, 2019.
    • 360º Snapshot project viewer, version 6.2.4.529111, dated July 16, 2019.

General Viewer Notes

  • The Fernet Maintenance RC viewer (40+ fixes and feature requests) will likely be the next viewer to be promoted.
  • Simplified cache viewer and the Mac notifications fix viewer have been held-up in QA.
  • Love Me Render 6 (LMR 6), the next graphics update viewer is still in progress. This should include a fix for the long-time “bendy sky” issue (the sky appearing to form a concave bow when at altitude).
  • There is an exercise in progress to try to reduce the number of viewers in flight within the Lab and as RC / Project viewers (around 13 in various states of development), in order to reduce the volume of viewers in the various pipelines.

360º Snapshot Viewer

[34:10-40:45]

  • Work on the 360º Snapshot viewer will be resuming shortly. Specific improvements that will be a part of the work include:
    • A means to better capture the six directional images (N,S,E,W and up and down) without any Interest list culling. This will require simulator-side support.
    • Improved stitching of images from within the viewer.
    • Inclusion of metadata to allow completed images to be shared via sites such as Flickr, Facebook, etc.
    • A much longer-term goal might be to provide a VR  viewer for 360º images captured by this viewer, for those with VR headsets. However, as a “stretch goal”, this may not become a part of the project.
  • No dates are available as to when an updated 360º Snapshot viewer will appear, and some of the required work on the simulator side is still in discussion.

A Note About Mirrors in Second Life

[Video: 22:01-34:10]

  • During the TPVD meeting, further context was added to this:
    • This work is not currently a project within Linden Lab, things are purely at the discussion phase.
    • The Firestorm experiment with mirrors lacks some basic required functionality –  it does not work with Advanced Lighting Model active, which LL  is shooting for as a default for the viewer, for example.
    • To be effective, it requires proper optimisation through the rendering pipe.
    • The code itself has yet to be contributed to LL.
  • There are also performance impacts to be considered – although some of these could be dealt with by making mirrors an option, rather than a default “on” setting.
  • Currently, LL needs to review the code and determine whether  / how it can be integrated into the viewer, and what additional work will be required. As such, it should not be anticipated that mirrors will be a part of the viewer any time soon (or possibly even Soon™, depending on the outcome of any review of the capability).

In Brief

  • [45:25-end  (predominantly chat)] concerning continues to be expressed about Group chat issues causing people to turn away from the functionality and use external services – such as Discord – which may come to impact engagement (if people can socialise on Discord, they may not feel the need to log-in so frequently / for as long, etc.).
  • Firestorm and Catznip are moving towards releases.
    • Firestorm had been treating the LMR5 release from the Lab as their cut-off, although this may be extended to incorporate the latest Voice fixes as now released by LL. There are also a Mac issues which may  / may not delay a release.
    • Catznip are working on a “Mac-like” release alongside their update,  but not release date.

 

2021 SUG meeting week #25 summary – updated

IMAGOLand, April 2021 – blog post

The following notes were taken from the Tuesday, June 22nd, 2021 Simulator User Group (SUG) meeting.

Another party week, so not a lot of practical discussion.

Server Deployments

See the server deployment thread for any most recent updates / changes.

  • There was no deployment to the SLS Main channel on Tuesday, June 22nd.
  • Wednesday, June 23rd should see server update 560618 deployed to the RC channels. This includes the required server-side support to complete a fix for BUG-202864 “Change Mesh Uploader to preserve Scene File object names when a full linkset is uploaded”. This release was rolled back as a result of issues – see BUG230881 – “llHttpRequest(): HTTP_CUSTOM_HEADER flag is ignored”.

SL Viewer

The Fernet Maintenance RC updated to version 6.4.20.560398 on Tuesday, June 22nd.

The rest of the official viewer pipelines remain unchanged at the time of writing:

  • Release viewer: LMR 5 viewer, version 6.4.19.560171, dated May 27, promoted June 7 – No change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
  • Project viewers:
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, dated November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, dated July 16, 2019.

In Brief

  • BUG-230589 “Issue with region restart taking over an hour while the majority of the time showing status of “starting”” has been a sporadic issue with individual mainland regions. Initially thought to have been a hang-over due to infrastructure maintenance during an April rolling re-start, it has been acknowledged as a potential issue. Anyone coming across regions exhibiting the same behaviour are asked to comment on the Jira, providing dates of the region, time, date, etc.

2021 CCUG meeting week #24 summary

Nelipot, March 2021 – blog post

The following notes were taken from my audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, June 17th, 2021. These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar and the venue for the CCUG is the Hippotropolis camp fire.

SL Viewer

There have been no updates for the viewer since Monday, June 14th, leaving the official viewer pipelines as follows:

  • Release viewer: LMR 5 viewer, version 6.4.19.560171, dated May 27th, promoted June 7th – NEW.
  • Release channel cohorts:
    • Project UI RC viewer, version 6.4.20.560520 dated June 14th.
    • Maintenance 2 RC viewer – Fernet, version 6.4.19.559726, dated May 19th.
  • Project viewers:
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26th, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9th, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, dated November 22nd, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, dated July 16th, 2019.

General Viewer Notes

  • The Project UI RC viewer will be the next to be promoted to de facto release status, and this will be in the “next week or two”.
  • The Mac notifications viewer has still yet to surface as a either a project or RC viewer.
  • The revised simplified cache viewer RC is returning to LL’s QA team, and if it passes through testing, should be appearing as a new RC, but this may not be for another couple of weeks.
  • A further CEF (Chrome Embedded Framwork) viewer for web content – media streaming, etc., – is also in the works, that should support more streaming / media codecs and fix a number of streaming-related issues.

ARCTan

Summary: An attempt to re-evaluate avatar rendering costs and the cost of in-world scene rendering, with the current focus on avatar rendering cost / impact, with the in-world scene rendering / LI to be tackled at some point in the future.

  • Work is continuing on the new performance floater. This pulls together information from various menus / debugs to display useable information on avatars / attachments that are heavy in rendering cost, and what can be done.
    • This work is currently separate to the work on revising that actual formulas used for calculating avatar complexity
    • It had been indicated the UI work could appear in the viewer before the avatar ARCTan calculations are updated to more accurately reflect the cost of rendering avatars.
    • However, there is a concern that if this is the case, the new floater will simply be ignored when made available, and will continue to be be ignored after the calculations have been revised.
    • It has therefore been suggested it would be better to revise the calculations first, and then release the viewer with the new information floater and explanations as to why it should be taken note of. LL have indicated they may consider doing this.
  • There is an on-going debate as to how useful information / self-regulating exercises like ARCTan are, compared to the enforcement of hard limits.
    • Self-regulating exercises (users making use of the information provided by their viewer) tend to be ignored (e.g. the Jelly Dolls complexity slide is generally left ramped up to the highest), thus defeating the purpose of such exercises.
    • However, enforcement of hard limits runs the risk of causing a high level of upset (and possible quitting) of a good portion of the user base when they find they can no longer overload their avatars with high-vertices/high texture load/heavily scripted attachments.
    • To  avoid the latter, it has been suggested the viewer should be able to automatically reduce avatar rendering to progressively lower LOD settings based on the load they place on the local system, rather than purely by distance from the camera.
  • It’s also bee suggested that for meshes in general, Second Life should have a robust auto-LODing system at upload.

In Brief

  • A long-standing issue for content creators producing mesh linksets for upload to SL, is that while they could give each element in the linkset a unique name for easier re-assembly post-upload, following upload, only the first element of the linkset would retain its name – the rest would be converted to “Object”, making re-linking an onerous task.
  • BUG-202864 “Change Mesh Uploader to preserve Scene File object names when a full linkset is uploaded” was raised in 2018 as a request for this to be addressed, and a viewer-side change to support this was implemented thereafter.
  • However, as per the week #22 CCUG, the server-side update also required to support this was not made, and the matter slipped off of LL’s radar.
  • Following that meeting, Vir Linden referred the matter to Rider Linden on the simulator team, and he has reported that:
    • The required server-side support will be going to RC, hopefully in week #25 (commencing Monday, June 21st).
    • In the interim, those wishing to test the capability can do so via the Preflight group of regions over the weekend.

2021 SUG meeting week #24 summary

Bella’s Glade, March 2021 – blog post

The following notes were taken from the Tuesday, June 15th, 2021 Simulator User Group (SUG) meeting. These notes relate to the core points of discussion; other topics may have ben raised without specific feedback from LL as actionable items, so  please refer to the video at the end of this report for the full meeting and all points covered.

Server Deployments

No deployments are planned for the week, other than those related to the SL18B regions. Restarts will be taking place for those servers that have not done so for the last 10-ish days. The (non-)deployment notes are here.

Week #25 (commencing Monday, June 21st) should include a deployment to the RC channels.

SL Viewer

The Project UI RC viewer updated to version 6.4.20.560520 on June 14th.

The rest of the official viewer pipelines remain as follows:

  • Release viewer: LMR 5 viewer, version 6.4.19.560171, dated May 27, promoted June 7 – no change.
  • Release channel cohorts:
    • Maintenance 2 RC viewer – Fernet, version 6.4.19.559726, dated May 19.
  • Project viewers:
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, dated November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, dated July 16, 2019.

In Brief

  • Group chat remains unsteady, but the Lindens are planning for additional work in an attempt to stabilise things further.
  • The Aditi inventory syncing / log-in issues continue. The root cause appears to have been identified, but fixing it has been referred to as “complex”, although the hope is the issue fixed Soon™. Mazidox Linden further added:
I can’t really get into details because it involves the insides of how logins work. But the best thing you can do on Aditi is log in using an alt with a tiny inventory. That’s more likely to succeed than your account with all the stuff you have on Agni. (The actual issue has nothing to do with inventory, but that’s the only thing you can control from your side to make it more likely to succeed.)
  • Scripts and resources: the core of the meeting revolved around the issue of script usage and its impact on server resource use and simulator performance – notably, but not exclusively – with regards to in-world scripts and the impact of idle scripts. In brief:
    •  Onus tends to be put on avatar scripts (which do have an impact – most notably when an avatar is entering a region and all the data related is being unpacked and all its associated scripts are re-started.
    • However, in-world scripts, even those that are idling, can have an impact on performance. Whilst action has been taken to ease some of this, the impact of have thousands of scripts in a region can and will have a cumulative effect on simulator performance.
    • How better to manage things is a matter of much debate. Should script resources be increased? Would it be better to allow larger scripts rather than making people split functionality across multiple scripts? Do large, multi-function scripts  run better (or worse) than a plethora of smaller scripts doing the same thing? Would it be possible to restructure script handling / LSL capabilities such that scripts that only need to be active in the presence of an avatar can be automatically be disabled when no avatars are within a (creator-defined) proximity, etc.
    • This discussion starts around 22 minutes into the meeting, and full context can be gained through the meeting video below.

Video

The following video of the meeting is courtesy of Pantera Północy.