2020 SL project updates week #10: TPVD and CCUG

Countryside, January 2020 – blog post

The bulk of the following notes are taken from the TPV Developer meeting held on March 6th, 2020. These meetings are generally held every other week, unless otherwise noted in any given summary. Also included this week are notes from the very brief Content Creation User Group (CCUG) meeting of Thursday, March 5th. These are indicated by [CCUG] appearing before them.

The embedded video is provided to Pantera – my thanks to her for recording and providing it. Time stamps are included with the notes will open the video at the point(s) where a specific topic is discussed.

In terms of the TPVD meeting:

  • The core of the meeting (10:05-45:08) revolved around specific issues TPVs that have implemented their own shader changes are encountering with merging EEP (note: not Firestorm) and views on EEP assets and permissions. In the interests of brevity, these are not recorded in the notes below.
  • The latter part of the meeting (45:15 onwards) is an esoteric, somewhat tongue-in-cheek discussion concerning on-line status.

SL Viewer News

[1:46-5:02]

  • The new Premium RC viewer, version 6.3.8.537335, was released on Tuesday March 3rd. See the notes below for more.

The remainder of the current SL viewer pipelines were unchanged for week #10:

  • Current release viewer version: 6.3.7.535996, formerly the Yorsh Maintenance RC viewer, dated February 7th and promoted February 20th.
  • Release channel cohorts
    • EEP RC viewer updated to version 6.4.0.536347, February 11.
    • Love Me Render RC viewer, version 6.3.7.536179, February 10.
    • Camera Presets RC viewer, version 6.3.6.535138, January 24.
  • Project viewers:
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • Legacy Profiles viewer, version 6.3.2.530836, September 17, 2019. Covers the re-integration of Viewer Profiles.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

General Viewer Notes

  • Given the delays to EEP due to some late-breaking issues (see below), it is now possible the Lab may opt to promote one of the other RC viewers in the period between now and when EPP is ready for viewer-side release. In particular, the Premium RC viewer may be fast-tracked to release status (although the back-end support will not be activated until Premium Plus is launched later in the year).
  • The Camera Presets RC viewer remains “crashy”, and any merge with releases is currently being held pending a decision on whether EEP is ready for release or if another RC should be promoted ahead of it.
  • Viewer build tools update viewer (using the VS 2017 + a more recent Xcode version, etc.), has become “complicated” due to the repository migration, the need to update libraries, etc. As a result, and depending on the amount of work involved in the libraries aspect of the work, this may become a two-phase project: put the RC viewer out, then finalise the libraries for future builds.

Premium RC Viewer

[5:34-8:33]

  • This viewer is contains new code to specifically handle benefits information related to benefits / limits applied to accounts based on subscription level (Basic, Premium or the upcoming Premium Plus).
  • This data will in the future be provided by the server at log-in, rather than being received through an assortment of mechanisms or being hard-coded into the viewer. However, until the server-side support is turned on, the viewer code does not actually do anything.
  • Once the back-end support switch for these changes is thrown – which will not be until Premium Plus is launched later in the year -, it is possible that users on viewers / clients lacking the necessary code changes may find things like uploads failing (due to the incorrect L$ value being applied).
  • However, TPVs are encouraged to start trial integrations with the code so that they are ready to go with updates which the switch is thrown, as the code will be required as a part of the log-in process, so TPVs need to be ready for it in order to avoid users experiencing log-in issues.
  • Other than these changes and some UI improvements, this viewer is functionally identical to the release viewer, and it is anticipated it will rapidly move to release status because of this – possibly ahead of any EEP release, depending on how the final issues resolution process for EEP advances.

EEP Status and Deployment

[CCUG] The full resources of the rendering team (including Runitai Linden, recently returned to SL from Sansar) are now working on trying to solve some remaining shader issues with the Environment Enhancement Project, which is having some lighting problems that need further work

Note the with regards to EEP:

  • It is no longer a goal to make all environments across Second Life appear *exactly* as they do under Windlight.
  • Because of this, some content may look different under EEP lighting than it does under Windlight.
  • This means some region designers and some content creators may have to make adjustments to their region environments  / their content for optimal viewing with EEP.
  • There will be some known issues with EEP when it is released, but the belief is that these will be minor.
  • There will be fixes for rendering issues following EEP, mostly likely through the Love Me Render project.
  • If there are what LL consider to be “significant” breakages, then effort will be made to address these.

Fun facts:

  • The current EEP viewer (RC 6.4.0.536347 at the time of writing) has accumulated over 185,000 user hours thus far, and has a crash rate 2% below the current LL release viewer.
  • Over 600 Jira issues have been filed against EEP, the vast majority of which have been cleared by LL.

ARCTan

[CCUG]

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

This project is in two phases:

  • Phase 1: viewer-side changes, primarily focused on revising the Avatar Rendering Cost (ARC) calculations and providing additional viewer UI so that people can better visibility and control to seeing complexity.
  • Phase 2: provide updates on in-world object rendering costs, etc., using the avatar ARC methodology as a basis for this work.

Status

  • Vir’s  fix for the appearance / Bake Service issue he encountered appears to work within the text environment he has created, although it is still awaiting a QA thumbs-up
  • The next element of work he is anticipating is putting together a “version 2.0” of ARC calculations, which may use a similar scheme to Animesh.

In Brief

  • [8:49-10:05] viewer updates: a reminder was given that users should update to recent viewer updates from the Lab / their preferred TPV on a regular basis, as necessary changes (such as the Premium RC updates plus others in the pipeline) will mean that older viewers lacking the necessary code will cease behaving as expected in certain ways.
  • The next CCUG meeting will be on Thursday, March 28th, and my summary of that meeting will likely be back in its own separate blog post.

2020 Simulator User Group week #10 summary

Grauland, January 2020 – blog post

The following notes were taken at the Simulator User Group meeting held on Tuesday, March 3rd.

Simulator Deployments

At the time of writing, there was no server deployment thread.

  • There was no update to the SLS main channel on Tuesday, March 3rd.
  • On Wednesday, March 4th:
    • Around 30% of the total grid (equivalent to the 3 primary RC channels) will receive an update. Again, at the time of writing, no details were available, however, Simon Linden indicated there should be no user-visible changes, but the update will include fixes to lower level code that should help with scripts running and provide some better performance transferring scripts across region boundaries as well. This update has apparently been on simulators associated with the BlueSteel RC.
    • A smaller release will also be made to some RC channel simulator, but details were not provided at the meeting.

SL Viewer

The new Premium RC viewer, version 6.3.8.537335, was released on Tuesday March 3rd, in preparation for the introduction on the new Premium Plus subscription level. This viewer sees Premium benefits information provided at login by the server for the current user and for all publicly available benefits packages. All UI and other logic is based on these values, replacing an assortment of values previously received via other mechanisms or hard-coded into the viewer. The RC also includes some UI improvements.

The rest of the viewer pipelines remain unchanged from the end of week #9:

  • Current Release version 6.3.7.535996, formerly the Yorsh Maintenance RC, dated February 7, promoted February 20 – No Change.
  • Release channel cohorts:
    • EEP RC viewer updated to version 6.4.0.536347, February 11.
    • Love Me Render RC viewer, version 6.3.7.536179, February 10.
    • Camera Presets RC viewer, version 6.3.6.535138, January 24.
  • Project viewers:
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • Legacy Profiles viewer, version 6.3.2.530836, September 17, 2019. Covers the re-integration of Viewer Profiles.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

In Brief

  • EEP: some last-minute shaders issues are being hammered on by the graphics team in preparation for EEP to progress.
  • Rider Linden has a “background project” he hopes that, when he can focus on it and move it to public release, may help with simulator slow-downs that occur as avatars TP into a region.

2020 Content Creation User Group week #9 summary

The Cold Rose, January 2020 – blog post

The following notes were taken from my audio recording of the Content Creation User Group (CCUG) meeting held on Thursday, February 20th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are available on the Content Creation User Group wiki page.

Environment Enhancement Project

Project Summary

A set of environmental enhancements (e.g. the sky, sun, moon, clouds, and water settings) to be set region or parcel level, with support for up to 7 days per cycle and sky environments set by altitude. It uses a new set of inventory assets (Sky, Water, Day), and includes the ability to use custom Sun, Moon and cloud textures. The assets can be stored in inventory and traded through the Marketplace / exchanged with others, and can additionally be used in experiences.

Resources

Current Status

  • Final review of issues is due on Friday, February 28th. If the project passes this review, the EEP will be cleared for promotion to release status.
  • There is a viewer build that the Lab has internally that is liable to be the release version; it’s not clear if this viewer will go to RC prior to promotion or be issued as the de facto release viewer .
  • It has again been noted that EEP will not give a precise one-to-one rendering of absolutely every environment (sky, lighting, etc.) in SL when compared to Windlight, as EEP uses a completely different and updated set of shaders, but it is hoped that most will be “very close”.
  • Once EEP has has reached release status, it is anticipated that their will be a “fairly rapid” cycle of viewer promotions to clear the remaining RC viewers in the pipelines (i.e. one new promotion every other week).

ARCTan

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

As of January 2020 ARCTan has effectively been split:

  • Immediate viewer-side changes, primarily focused on revising the Avatar Rendering Cost (ARC) calculations and providing additional viewer UI so that people can better visibility and control to seeing complexity. This work can essentially be broken down as:
    • Collect data.
    • Update ARC function.
    • Design and provide tool within the viewer UI (i.e. not a pop-up) that presents ARC information in a usable manner and lets users make decisions about rendering / performance.
  • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.
  • The belief is that “good” avatar ARC values can likely be used as a computational base for these rendering calculations.

Current Status

  • Vir believes he has a fix for the appearance  / Bake Service issue that has been causing problems with ARCTan testing. This has yet to be QA tested. Should it pass, then it will mean internal testing can resume.
  • UI tools: one of the issues with the current ARC capability is how the information is presented and how it is interpreted. The question was therefore asked (by Vir) about possible ARC-related tools that could be incorporated into the viewer.
    • There are tools already in the viewer (Max Complexity Setting, Always Render Friends, etc.), although how well these are used is open to debate.
    • A concern with added further tools is that they could just additionally confuse for users (“more options and sliders!”) or just be ignored.
    • Automated  / semi automated means of adjusting complexity settings was favoured by some at the meeting.
    • The problem with full automation could be difficult to implement due to the broad variance in hardware used to access SL, the complexity of existing content (avatar heads, bodies, etc.), plus people’s personal preferences, etc.
    • A mechanism for adjusting  / bypassing an automated process could be provided, but then it defeats trying to automate as people will just opt to bypass a the process and ramp up settings.
    • An alternative might be to make the current tools more intuitive / easier to access and also more granular, then gradually move towards greater automation (with overrides) as people gain more familiarity with the whole issue of optimised content and performance.
    • A suggestion from the Lab was to have some form of “temporary” thresholds: such as when teleporting into a busy region switches to some form of frame-rate threshold / asset load prioritisation that helps to maintain a reasonable frame rate whilst also prioritising CPU cycle use to speed up the initial loading period, then switching back up when done. The complication with this approach is, not everyone has the same bottleneck areas, so a threshold setting that works well for some, might not show any benefit for others.
  • Bound up with this is the question of educating users as to:
    • What tools are available and how they work (e.g. a capability one of those at the meeting was espousing as something that would be “nice” to see in the viewer, has in fact been a part of it for almost five years).
    • What actually is impacting their experience with SL (it is so easy to blame “the servers” and “LL” when actually many of the problems are in fact viewer-side and could be better managed by a user than might otherwise be the case).

2020 Simulator User Group week #9 summary

Lost Lagoon, January 2020 – blog post

The following notes were taken at the Simulator User Group meeting held on Tuesday, February 25th.

Simulator Deployments

As always, please refer to the week’s deployment thread for updates.

  • The SLS (main) channel servers were updated with simulator update 2020-02-14T20:17:32.536748. It’s not clear on what this update contains, as the release notes generation process is currently broken.
  • A “large load” of RC simulators are planned to be updated on Wednesday, February 26th. However, at the time of writing, the status of the release was in the air due to some last minuted investigations to determine if the updates are fit for purpose.

SL Viewer

At the time of writing, the official viewer pipelines remain unchanged from the end of week #8:

  • Current Release version 6.3.7.535996, formerly the Yorsh Maintenance RC, dated February 7, promoted February 20 – NEW.
  • Release channel cohorts:
    • EEP RC viewer updated to version 6.4.0.536347, February 11.
    • Love Me Render RC viewer, version 6.3.7.536179, February 10.
    • Camera Presets RC viewer, version 6.3.6.535138, January 24.
  • Project viewers:
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • Legacy Profiles viewer, version 6.3.2.530836, September 17, 2019. Covers the re-integration of Viewer Profiles.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

Sansar and Second Life

While Sansar and SL are very different platforms based on different technology and capabilities, it has often been asked if / whether capabilities found in Sansar might be ported / developed for Second Life.

As a result of the recent decisions at the Lab to cease development work on Sansar, lay off staff and considered options (see: Sansar: lay-offs, rumours, and confusion and Lab seeking a “plan B” to secure Sansar’s future), these questions have been raised again, including at the Simulator User Group meeting, where Simon Linden responded:

We are going to take a look at Sansar tech and see what might be brought into SL but that’s a long-term project … nothing at all has been decided.

Whether this means the upcoming long-term graphics / rendering project mentioned in the February 21st Lab Gab session with Ebbe and Grumpity Linden (see Lab Gab: Second Life in 2020 with Ebbe and Grumpity (and Keira!) ) might look towards poking at the Sansar render engine for ideas or not remains to be seen. However, a recurring request that has cropped up vis. Sansar capabilities and SL has been the potential for a similar level of Marvelous Designer™ cloth simulation to be added to SL – although it’s unlikely this could be done without some headaches.

However, as Simon notes, any project related to what might be adopted from Sansar for Second Life is a long term thing, and LL has enough on its plate vis cloud uplift, etc.

2020 TPVD meetings week #8 summary

Valium Creek, January 2020 – blog post

The following notes are taken from the TPV Developer meeting held on February 21st, 2020. No video this time around, as Pantera was unable to attend, so the notes are taken from my audio recording of the meeting.

SL Viewer News

  • The Yorsh Maintenance RC viewer, version 6.3.7.535996 and dated February 7th, was updated to de facto release status on Thursday, February 20th.

The remainder of the current SL viewer pipelines are as follows:

  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • EEP RC viewer updated to version 6.4.0.536347, February 11.
    • Love Me Render RC viewer, version 6.3.7.536179, February 10.
    • Camera Presets RC viewer, version 6.3.6.535138, January 24.
  • Project viewers:
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • Legacy Profiles viewer, version 6.3.2.530836, September 17, 2019. Covers the re-integration of Viewer Profiles.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

General Viewer Notes

  • The next potential view promotion to release status is seen as being EEP, with Vir indicating that LL do not plan to promote any other viewer prior to EEP, unless there is a significant blocker.
  • After EEP, the next likely candidate for promotion is currently the Lover Me Render viewer.
  • The new Premium Plus subscription viewer-side code updates will soon be appearing in an RC. This is a set of log-in code changes required for easier management of values, etc., set for different Premium levels. At this point, the code will not interfere with anything.
  • The Camera Presets RC viewer is having some additional UI work done as a result of it experiencing a higher than average crash rate.

EEP Status and Deployment

As per Ebbe Altberg’s comments during the Lab Gab session of February 21st (see: for the video and a bullet-point summary), and the notes above, EEP will be moving to official release status very soon. With it comes notice from the Lab – with apologies –  that:

  • It is no longer a goal with EEP to make all environments across Second Life appear *exactly* as they do under Windlight.
  • Because of this, some content may look different under EEP lighting than it does under Windlight.
  • This means some region designers and some content creators may have to make adjustments to their region environments  / their content for optimal viewing with EEP.
  • There will be some known issues with EEP when it is released, but the belief is that these will be minor.
  • There will be fixes for rendering issues following EEP, mostly likely through the Love Me Render project.
  • If there are what LL consider to be “significant” breakages, then effort will be made to address these.

Ebbe’s comment on EEP can by heard between 44:10 and 46:45 in the official video of the Lab Gab session.

In Brief

  • BUG-228227: “Avatar face darkens when sitting on an object” – this is a lighting-related issue that appears to have been introduced with viewer release 6.3.6.535003 (formerly the Xanté RC viewer). It is a known issue and a fix should be appearing in the next maintenance viewer which should hopefully resolve the majority of these issues.
  • BUG-227179 – “All offline inventory offers from scripted objects are STILL lost” – remains an issue, but an internal request has been made to raise the priority so that investigation and resolution might move forward sooner rather than later.
  • It is hoped that the viewer caching work will reach project viewer status fairly soon.
  • There is a known issue of the viewer release pages and index not updating correctly to reflect the current status of viewers (e.g. at the time of writing, 6.3.6.535003 is still listed as the default release viewer, when in fact it is 6.3.7.535996).

2020 Content Creation User Group week #8 summary

Catena et Cavea, January 2020 – blog post

The following notes were taken from my audio recording of the Content Creation User Group (CCUG) meeting held on Thursday, February 20th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are available on the Content Creation User Group wiki page.

Environment Enhancement Project

Project Summary

A set of environmental enhancements (e.g. the sky, sun, moon, clouds, and water settings) to be set region or parcel level, with support for up to 7 days per cycle and sky environments set by altitude. It uses a new set of inventory assets (Sky, Water, Day), and includes the ability to use custom Sun, Moon and cloud textures. The assets can be stored in inventory and traded through the Marketplace / exchanged with others, and can additionally be used in experiences.

Resources

Current Status

  • Work is continuing to clear the remaining rendering bugs, which are being described as “resilient”.
  • The hope is EEP could be ready to move forward by the end of the month.
  • There is a backlog of potential fixes / enhancements for EEP (e.g. further rendering improvements, improving the brightness of stars, etc). Some of these will form future EEP enhancements, others may be dealt with as part of other work such as on-going rendering system improvements, rather than being held for a future EEP-specifc project”.

ARCTan

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

As of January 2020 ARCTan has effectively been split:

  • Immediate viewer-side changes, primarily focused on revising the Avatar Rendering Cost (ARC) calculations and providing additional viewer UI so that people can better visibility and control to seeing complexity. This work can essentially be broken down as:
    • Collect data.
    • Update ARC function.
    • Design and provide tool within the viewer UI (i.e. not a pop-up) that presents ARC information in a usable manner and lets users make decisions about rendering / performance.
  • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.
  • The belief is that “good” avatar ARC values can likely be used as a computational base for these rendering calculations.

Current Status

  • Vir is still working on the Bake Service issue I’ve noted in my last two CCUG updates. However, he believes he now has a fix, and this is currently going through internal testing.
  • One thing that ARCTan testing has shown is the degree of variability in frame rates in terms of how long each frame takes to process. Part of this might be due to multiple operations running in the same thread when they should perhaps be separated into their own threads, particularly in terms of avatar loading.

Project Muscadine

Project Summary

  • Currently: offering the means to change an Animesh size parameters via LSL.

Current Status

  • Still on hold, but the Aditi simhost that did have the back-end code has also been re-purposed for other project work, so the back-end support for Muscadine is currently unavailable.

In Brief

  • Viewer caching project: this has been a long-term project, which has recently re-started (and which is usually a subject for discussion at the TPVD meetings).
    • There is code related to the VFS caching (referenced in the message seen at viewer-start up) the in in-memory processes that sit on top of it that has not been updated in a long while and which can give rise to stability issues.
    • The Lab now plans to work on this code “extensively” over the next few months.
  • There are claims that use of Animesh impacts simulator performance. As Animesh is predominantly a viewer-side capability, it is hard to see how it could impact simulator performance; it is possible that those experiencing issues could be conflating viewer and simulator performance.
  • Poser project: a contribution from the Black Dragon viewer, this is a project that is currently on hold.
    • The idea is to allow local (i.e. viewer side) joint-by-joint poses by entering different values for each of the required positions and rotations for a joint.
    • The fact that the tool is viewer-side with the results unseen by other users has been seen by the Lab as the project’s core limitation.
    • The Lab’s view is that the easiest way to share the results would be to place them in a single frame animation that puts the avatar into the required pose and which can be seen by other viewers, and this would like be the approach taken when / if the project is resumed.
    • This work has nothing to do with the pupeeteering project from 2011.
  • A further project awaiting resumption is the move to HTTP 2, which will hopefully improve things like asset data fetching, offer improved stability in data handling and improve scene loading.
  • Tidbit: the mesh uploader for Second Life apparently took around 10 people over 2 years to develop / get to work (and still has a UI element that might be incomprehensible to some). As such there is some concern at the Lab that attempt to extend SL to support other modelling formats (e.g. FBX) could result in something equally / more confusing – although this is not to suggest LL is resolutely against supporting other file formats for use with SL.