2021 TPV Developer meeting week #41 summary

Euphoria, July 2021 – blog post

The following notes are taken from the TPV Developer meeting held on Friday, October 15th, 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 the chat log from the meeting and my own audio recording to produce this summary, which focuses on the core topics discussed.

SL Viewer

  • The Apple Notarisation viewer, version 6.4.23.564172, was promoted to de facto release status on Wednesday, October 13th. This means the other RC viewers will be updated to match it in due course.
  • A new Viewer Performance Improvements project viewer, version 6.4.23.564530, was issued on Tuesday, October 12th.
    • This viewer focuses on reducing image decoding time, less frame stalls, and initial font rendering time, and there is a dedicated forum thread for discussing it.
    • Currently, the viewer is only available for 64-bit Windows, but other versions will be made available in the future.
    • This viewer should not be confused with the Performance Floater project viewer.

The rest of the official viewer pipelines remain as follows:

  • Release channel cohorts:
    • Maintenance RC viewer updated to version 6.4.23.564063, on September 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • Performance Floater project viewer, version 6.4.23.564530, dated October 12.
    • 360º Snapshot project viewer, version 6.4.23.563579, issued September 3.
    • Performance Floater project viewer, version 6.4.23.562625, issued September 2.
    • Mesh Optimizer project viewer, version 6.4.23.562614, issued September 1.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

General Viewer Notes

  • The Maintenance RC remains the next viewer in line for promotion to release status.
  • The Simplified Cache RC viewer is currently regarded as pretty much “on hold” due to all the other performance-related work going on with the viewer. It is not felt by the Lab that it will yield sufficient performance gains at this point in time `to be regarded as a part of the viewer performance project(s).
  • The Legacy Profile project viewer remains on hold pending server-side back-end work.

Viewer Performance Notes

  • Part of the viewer performance work is utilising the the Tracy debugger / system analyser. This started as an exercise to analyse the main rendering loop to reveal any high latency operations that could be moved to their own threads.
    • The outcome of this work will likely be pulled into a Maintenance viewer at some point, but it is not currently a part of the Viewer Performance Improvements RC viewer.
    • Given how useful Tracy has been, it is likely that it will be included in the viewer build process, but the switch to include the necessary code will be set to “off” by default, as Tracy requires dedicated external support to be of use.
    • Also at some point, a viewer will be issued using the code that has been revised as a result of the analysis carried out using Tracy, and this will form another performance improvements viewer at some point in the future.
  • Another area of work for improving performance is that of Linden Water.
    • As previously noted in these summaries, Catznip has been investigating the cost of rendering Linden Water in situations where it cannot be see (e.g. when standing in the middle of a multi-region estate so it is completely “invisible” under the terrain). They have found significant FPS improvements can be gained by completely ignoring Linden Water rendering via occlusion checks in these cases.
    • The Lab is interested in improving general performance around Linden Water, and so a branch of the code Catznip has been using will be contributed to the Lab so they can take a look at it.
  • Discussions have started about possibly moving the Windows build tools to be based around VS 2019, as this support Clang tools, as it is thought Clang to offer further performance improvements. However, these discussions are still at an early stage.

TLS Changes

As per the announcement by April Linden on October 8th, Linden Lab will be turning off support for Transport  Layer  Security (TLS) 1.0 and TLS 1.1  security protocols on all log-in services on November 1st, 2021. This action is in line with the Internet Engineering Task Force (IETF) have officially deprecated both protocols in March 2021.

This means that any viewer or client (including any scripted agents to log-in to Second life) that utilises either TLS 1.0 or TLS 1.1 will be unable to do so from November 1st onwards. Only clients and viewer using supported TLS protocols (e.g. 1.2 or above), will be able to access Second Life. In particular, this step will impact Lib.metavers.open-based viewers and clients.

A request has been made for Aditi log-ins to have TLS 1.0 and 1.1 disabled so that viewers can be tested for other potential impact of the change ahead of it being made for the main grid.

In Brief

  • iOS keeps being raised at the TPV Developer meetings, so in short:
    • A dedicated iOS client app is in development.
    • The initial versions are focused on communications (so no 3D rendering, inventory support etc), and have been subject to limited internal testing.
    • The client has gone through Apple’s review process, but has not been offered to a wider “beta test” audience, as there has been a further round of updates, and currently work is paused.
    • An Android variant of the client is in development, but is also paused and remains some way behind iOS.
    • See my updates tagged SL Mobile, which are added to as an when there is further reportable news out of the Lab.
  • The last part of the meeting is devoted to a general discussion on animation overrides and their limitations (both scripted and client / viewer-side). While the Lab has no plans to update the current approach to AOs in the immediate future, the discussion is worth listening to / reading via the meeting video below.

2021 SUG meeting week #41 summary

Perpetuity, July 2021 – blog post

The following notes were taken from the Tuesday, October 12th, 2021 Simulator User Group (SUG) meeting. The meeting was recorded by Pantera Północy, and the video is embedded at the end of this summary. Note this summary focuses on the key points of the meeting, where there is something to report; the video video should be referred to should full details of the meeting wish to be reviewed.

Server Deployments

The planned deployment for this week has been postponed due to late-breaking issues, and so will not be deployed for a week. However, regions that have not been restarted in 10 or more days will be restarted. See the (“lack of”) deploy plans notes for more.

SL Viewer

There have been no updates to the current crop on official viewers to mark the start of the week, leaving the pipelines as:

  • Release viewer: version version 6.4.22.561752, formerly the CEF Update RC viewer, issued July 24 and promoted August 10.
  • Release channel cohorts:
    • Apple Notarisation Fix RC viewer, version 6.4.23.564172, issued September 24 – this should remove the warning messages which are currently popping up.
    • Maintenance RC viewer updated to version 6.4.23.564063, on September 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • 360 Snapshot project viewer, version 6.4.23.563579, issued September 3.
    • Performance Floater project viewer, version 6.4.23.562625, issued September 2.
    • Mesh Optimizer project viewer, version 6.4.23.562614, issued September 1.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

Region Crossings

  • The subject of region crossings came up again, specifically in reference to multiple sequential crossings via vehicle, and the problems that can occur (passing from one region to the next, and then on to the next before all relevant data between the first two has been fully transferred). There should be code in place to handle this, but the Lab acknowledges there may be cases there this doesn’t work well.
  • Rider Linden acknowledged that more work is required on the entire physical region crossing protocol, but that, “it may involve starting from scratch and rethinking how the entire protocol works. That’s going to be a big job.”
    • The question here is, how best to delay interpolation to ensure all information on a vehicle and its passengers is received by one region so all of it can be passed on to the next. User Animats submitted a code contribution to Firestorm in 2018 (which has since been further revised) to help with this, but it is not perfect. The problem here is, too much delay  – say more than around 1/2 a second – is noticeable and can impact immersion; a second problem is, what may help ease some types of region crossing may make others more noticeable.
  • Another problem is that physical / vehicle region crossings are such that there is little opportunity for any kind of “pre-transfer” of vehicle and avatar data, until the vehicle is on top of / crossing the actual region boundary (the 1m boundary). This is because there is no guarantee that a vehicle will turn away from a crossing without actually moving between regions – so simulator time (on both sides) is taken up in handling the pre-transfer without no point to the exercise.
Another option (again, to stress **as an example**) would be to always have up to date data on all adjacent regions. But that would cost us real money. How do we recoup that increased cost in a way that is fair to the people who actually make use of the increased data availability? I’m just trying to give examples of why none of these solutions are “free” or “simple”.

– Mazidox Linden on region crossings + potential solutions

  • The suggestion was made to run regions on virtual machines, such that adjacent regions are on the “same machine”, removing the need for transferring data between different physical simhosts. The problems here are:
    • a) The number of “adjacent” regions can be huge (e.g. Blake Sea and the surrounding private estates + Mainland continents, and the Mainland continents as a whole).
    • Even if broken down into more manageable groups of regions all on the same hardware, but this again doesn’t entirely eliminate problems, an will result in some region crossings appearing smoother, and others (where they remain between different hardware) appearing “worse” by comparison.
    • Also, if the hardware fails fails running a batch of virtual machines, that’s potentially a larger number of regions that go with it than is currently the case. And while hot shadowing is possible so that if a server does fail, it’s shadow can automatically take over, that’s doubling overall hardware requirements + associated costs, which would have to be met somehow.
  • As it is, the move to AWS has seen an overall improvement in region crossings, primarily because the hardware and infrastructure available via AWS is a lost more recent, and so more powerful (hardware) and faster (network) than the Lab’s old infrastructure.
  • Whilst not just related to region crossings, an experiment on the Lab’s to-do list is to try to group clusters of regions by hardware, something that has not been tried in some time.

In Brief

  • A major focus on the server  / simulator side of Second Life remains the work in updating the tools the Lab has at its disposal, which is to be followed by / overlap with a major operating system upgrade (not to 64-bit, which is viewed as a “humongous” piece of work, but one that will eventually need to be addressed, depending on the platform’s continued longevity).
  • There is a brief discussion at the end of the meeting concerning mesh decimation, avatar meshes, rendering, and possible improvement, much of which is a subject of CCUG meeting discussions.

2021 CCUG meeting week #40 summary

Ilha Do Sol, June 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, October 7th, 2021. These meetings are generally chaired by Vir Linden, with dates available via the SL Public Calendar and the venue for the CCUG is the Hippotropolis camp fire.

A *very* short meeting, as Vir was unavailable, so the Graphics team could only update on their work.

SL Viewer

No updates to the current official viewer thus far through the week, despite hopes the Apple Notarisation viewer would be promoted to de facto release status. This leaves the current pipelines as:

  • Release viewer: version version 6.4.22.561752, formerly the CEF Update RC viewer, issued July 24 and promoted August 10.
  • Release channel cohorts:
    • Apple Notarisation Fix RC viewer, version 6.4.23.564172, issued September 24 – this should remove the warning messages which are currently popping up.
    • Maintenance RC viewer updated to version 6.4.23.564063, on September 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20
  • Project viewers:
    • 360 Snapshot project viewer, version 6.4.23.563579, issued September 3.
    • Performance Floater project viewer, version 6.4.23.562625, issued September 2.
    • Mesh Optimizer project viewer, version 6.4.23.562614, issued September 1.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

Graphics Work

  • The Graphics team currently remain primarily focused on drilling down into the data being gathered by the Tracy debugger / system analyser, which is available internally to the Lab.
  • This has already revealed a number of high latency artefacts within the main loop rendering code.
  • The focus of the most recent work has been to either eliminate these or move them to secondary threads so they do not impact the primary rendering loop.
  • This has seen some “pretty good results” in improvement performance, but the internal testing is still at too early a stage for stats to be made public, and it is felt there is at least another month of work to be done before the work will start to come closer to being ready for a public appearance.
  • In difference to the last meeting, to now appears this work could well be surfaced in a project viewer of its own, rather than being merged with other in-development viewers. However, and as noted above, there is no time frame on when it may made a public debut.

Date of Next Meeting

Thursday, October 21st.

October 2021 SL Web User Group summary

The Web User Group meeting venue, Denby

The following notes cover the key points from the Web User Group (WUG) meeting, held on Wednesday, October 6th, 2021.

These meetings are generally held on the first Wednesday of the month, with dates and venue details available via the SL public calendar. A video of the meeting, courtesy of Pantera, can be found embedded at the end of this article (my thanks to her as always!), and the following is a summary of key topics / discussions.

Web Properties Updates

  • Back-end / infrastructure work is still on-going and has taken up a lot of time through August.
  • A focal point of the above has been trying to make the Profiles system a little more robust, work that needs to be completed before the necessary changes can be made is support of moving profiles back into their own floater in the viewer (as per the current Legacy Profiles project viewer available through the Alternate Viewers page).
  • Marketplace improvements:
    • A number of “small” fixes have been implemented through the past month.
    • New feature: the ability to move items from your Shopping Cart to your Favourites (and thence to your Wishlist).

Premium Name Changes

  • A number of Last Names have been retired: Aviator, Caboose, Knickers, Orlando and Primless.
  • New “seasonal” Last Names have been deployed for Halloween: Ghostly, Lecter, Pumpkin, Treat and Trick. These will be available through until November 1st, 2021.

Upcoming Work

  • Once the infrastructure work has been completed, the web team will embark on a complete refresh of all web properties.
    • First in line for this is Search (search.secondlife.com), which includes in-world search as well.
    • The work will include both cosmetic improvements to how Search looks, and improvements to things like search results – relevance, etc.

In Brief

  • No updates for Mobile in the past month.
  • A reminder that multi-factor authentication is now active cross key Account options available through the Second Life dashboard.
  • A question was asked about having separate login names and user names, so the former need never be revealed. While not entirely ruled out, this would require some significant changes to the current log-in methodology and infrastructure (and likely widespread back-end changes across multiple services), ergo, it is not something that is likely to be undertaken in the immediate or medium-term future.
  • The subject of having more general in-world meetings with Lab staff, rather than just the current specialised user groups (e.g. with a mix of people  from the product teams, the engineering teams, the land team, etc), in order to encourage greater attendance by users.
    • This is something that would likely be welcomed by users, but if taken up, unlikely to be a monthly event.
    • Several years ago, LL did re-instigate quarterly Town Hall meetings (to the extent of re-vamping a set of regions to host them), which were immensely people and featured both the CEO at some, and a cross-section of senior staff at others. These were popular at the time, and could be beneficial if reinstated.
  • SL wiki updates (or the lack thereof in the case of many pages):
    • LL re-iterated that the policy is still to move more generic / maintained information to the Knowledge Base, and to focus just on maintaining those wiki pages of particular technical importance (and as the entire scripting portal and pages).
    • A problem with the Knowledge Base is that it is not as relevantly searchable as the wiki. There is also, frankly a vast trove of information on the wiki that, while useful, is becoming increasingly outdated or confusing appearing in multiples places and with different levels of information – a subject oft raised at Content Creation User Group meetings in relation to good building  / design practices, avatar-related information, etc.
    • It was pointed out that those with knowledge and understanding of capabilities, etc., can still apply for wiki editor access via support.
    • As an alternative, those who have specific updates that should be made to wiki pages, these can be e-mailed to Alexa Linden, who has headcount to help with wiki updates as time allows.
  • E-mail notifications based on on log-in location: a lot of web services will send a log-in notification if an attempt is made to access your account from outside of your “normal” location. This is something that could be done with SL web properties, but would require scoping and work. A feature request has therefore been requested for the idea.
  • A request has been made for “official” support for shopping events through the SL web properties. This would require careful work in terms of ensuring fair representation (including for non-shopping events) and how / where it would be presented, and as such a feature request has been asked for, although the matter will be raised internally at the Lab.
  • Marketplace related:
    • Categories and sub-categories were raised. Again, those who feel there should be additional categories or categories that could be better broken-out by sub-categories, are asked to raise a feature request with specific details.
    • As per the September meeting: a feature request, BUG-231142 “Questions and Answers’ tab for marketplace product pages” has been received and accepted by the Lab.
      • This would essentially allow questions to be asked of a product that can be answered by (for example) the listing owner, their appointed store manager(s) or perhaps even a customer who has actually purchased the item.
      • If this were to be implemented, LL would consider some supporting tools – e.g. the option for listing creators to explicitly indicate if they do not want the feature enabled for some of their products, or automatically disabling the option on free items listed on the MP, etc.
    • Animated gifs on the MP: another frequent request. The short answer is that this is not on the roadmap, simply because of the infrastructure required to store the (invariably) large file sizes & make them available to product listings.

Next Meeting

  • Wednesday, November 3rd, 14:00 SLT.

2021 SUG meeting week #40 summary

Adored – For Bambi, June 2021 – blog post

The following notes were taken from the Tuesday, October 5th, 2021 Simulator User Group (SUG) meeting. The meeting was recorded by Pantera Północy, and the video is embedded at the end of this summary. Note this summary focuses on the key points of the meeting, where there is something to report; the video video should be referred to should full details of the meeting wish to be reviewed.

Server Deployments

There are no planned deployments or restarts this week, due to the rolling restarts made on Friday, October 1st to correct an expiration issue related to Let’s Encrypt certificates that resulted in failures for in-world scripts making HTTP calls to websites secured with a Let’s Encrypt certificates.

SL Viewer

There have been no updates to the current crop on official viewers to mark the start of the week, leaving the pipelines as:

  • Release viewer: version version 6.4.22.561752, formerly the CEF Update RC viewer, issued July 24 and promoted August 10.
  • Release channel cohorts:
    • Apple Notarisation Fix RC viewer, version 6.4.23.564172, issued September 24 – this should remove the warning messages which are currently popping up.
    • Maintenance RC viewer updated to version 6.4.23.564063, on September 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • 360 Snapshot project viewer, version 6.4.23.563579, issued September 3.
    • Performance Floater project viewer, version 6.4.23.562625, issued September 2.
    • Mesh Optimizer project viewer, version 6.4.23.562614, issued September 1.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • The next maintenance update for the simulator will include a longer read for notecard lines (1024 bytes) that will be retroactive.
  • PRIM_PROJECTOR is a new parameter for llSet/GetPrimitiveParams. Documentation is already on the wiki, but the simulator code isn’t ready to deploy for using testing on Aditi yet.
  • It still has not been indicated when the Land team will flip the switch to ease the issue of some Mainland regions having darken default EEP settings.
  • The simulator engineering team is “finishing up” some retooling, and will be moving on to starting to address performance improvements “in the next few months”.
  • BUG-229205 “Re-enable PRIM_CAST_SHADOWS” – this has been seeing some discussion within the Lab, but no inform as to when it might be actioned.
  • An interesting question was asked about using EEP to create an aurora effect that would be seen across the sky when used. The suggestion is to try using a texture in place of clouds, which would give a degree of motion (but whether this could mimic the “motion” of aurora streams would be interesting).
  • Monday, October 4th saw a log-in update that “caused some issues for Firestorm”. The main fix is in place, but the issues is still being worked on for Aditi (the beta grid).

2021 CCUG and TPV Developer meetings week #39 summary

Mousehole, June 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, September 30th 2021 at 13:00 SLT, and the TPV Developer’s meeting of Friday, October 1st, 2021 at 12:00 noon SLT.

With the meetings once again falling on the same week, and with the degree of overlap in content between the two, core discussion points from both have been combined into this one summary. The TPV meeting was also recorded by Pantera Północy, and her video is embedded at the end of this article, for those wishing to refer directly to that meeting.

Meeting Details

  • CCUG meetings are held on alternate Thursdays each month (generally the 1st and 3rd Thursday, subject to the vagaries of month length), with dates available via the SL Public Calendar. The venue for the CCUG is the Hippotropolis camp fire.
  • TPV Developer meetings are generally held on alternate Fridays each month, although dates are not currently listed in the SL Public Calendar. The venue for meetings is at the Hippotropolis Theatre.
  • Both meetings are generally chaired by Vir Linden, and are led using Voice, although attendees can use either Voice or text to provide input / feedback (with text generally being the preferred medium).

SL Viewer

Viewer Updates

  • Release viewer: version version 6.4.22.561752, formerly the CEF Update RC viewer, issued July 24 and promoted August 10.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Apple Notarisation Fix RC viewer, version 6.4.23.564172, issued September 24 – this should remove the warning messages which are currently popping up.
    • Maintenance RC viewer updated to version 6.4.23.564063, on September 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20
  • Project viewers:
    • 360 Snapshot project viewer, version 6.4.23.563579, issued September 3.
    • Performance Floater project viewer, version 6.4.23.562625, issued September 2.
    • Mesh Optimizer project viewer, version 6.4.23.562614, issued September 1.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

General Viewer Notes

  • The Apple Notarisation Fix RC viewer is liable to be the next viewer promoted to de facto release status.
  • The combined Maintenance RC viewer will likely be the viewer to follow it to release status in a couple of weeks.
  • The Legacy Profiles viewer is still awaiting some simulator-side updates that have (again?) dropped back behind other simulator work. As such, it is described as being “kind-of on ice” at the moment.
  • The focus on viewer work is squarely on performance improvements.
  • With the initial deployment of multi-factor authentication (see here and my own blog post for more), the Lab’s viewer teams are discussing how it can be added to the viewer without massively impacting the user experience.

Let’s Encrypt Certificates Issue

As per this Grid Status Report, an expiration issue with Let’s Encrypt certificates resulted in in-world LSL scripts making HTTP calls to websites secured with a Let’s Encrypt certificate failing. This particularly impacted a number of popular Second Life merchants and assorted pet / breedable systems, etc.

After extensive investigation a fix was deployed to a small number of simulators overnight on Thursday, September 30th / Friday October 1st, which appeared to work. As a result, the main grid (Agni) has been subject to a rolling restart to fully deploy the fix to all regions. At the time of writing, this deployment was still in progress.

In Brief

  • Vir Linden was out for both meetings, each of which was somewhat briefer than usual, with the CCUG in particular primarily being a WIBNI style of meeting (WIBNI = “wouldn’t it be nice if”), rather than dealing with actual projects / work in progress.
  • [CCUG] The Graphics team currently remain primarily focused on drilling down into the data being gathered by the Tracy debugger / system analyser, which is available internally to the Lab.
    • This has already revealed a number of high latency artefacts within the main loop rendering code, which the graphics team will be looking to eliminate or move to their own threads or update loop so they no longer interfere with the core rendering loop.
    • The code for Tracy is liable to be merged into another viewer rather than appearing in a dedicated project or RC viewer.
  • [CCUG] Some of the discussion was around improving performance / simplifying clothing options. In the latter regard, Mayastar 7.0 will include an automatic alpha baking for clothes. Some final touch-up (by the creator) may be needed via Maya after the option has been used, but it offer an improvement in wearing clothes made via Maya / Mayastar.
  • [TPVD] The Catznip team have been continuing to work with adjusting the viewer so it simply does not render Linden Water where it is not visible (e.g. when hidden by terrain), which has been yielding significant viewer FPS increases. LL have indicated they have found it difficult to get a good occlusion culling result with horizon water and also in trying to programmatically deal with water that may / may not be visible (Catznip appear to have “just” gone for across-the-board occlusion culling). Both LL and Catznip will discussing ideas / approaches.