2021 SUG meeting week #43 summary

The Blackwood Farm, July 2021 – blog post

The following notes were taken from the Tuesday, October 26th, 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 should be referred to should full details of the meeting wish to be reviewed.

Server Deployments

  • Tuesday, October 26th saw the simhosts on the SLS main channel restarted without any update.
  • Wednesday, October 27th should see the deployment of  simulator version that includes a revised implementation of PRIM_PROJECTION.
    • For the time being, it will be write only, meaning it can used in llSetPrimitiveParams but not in llGetPP. The associated wiki documentation has yet to be updated.
    • This update will also include BUG-231158 Allow llGetNotecardLine to return more than 255 bytes (to a maximum of 1023 characters).

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.23.564172, formerly the Apple Notarisation Fix RC viewer, issued September 24 and promoted October 15 – see notes below.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • 360 Snapshot RC viewer, version 6.5.0.564863, issued October 21.
    • Maintenance RC viewer updated to version 6.5.0.564805, on October 20.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • Performance Improvements project viewer, version 6.4.23.564530, dated October 12.
    • 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.

Apple Notarisation Viewer Issue

With the release of the Apple Notarisation Viewer there were updates to many of the viewer’s third party libraries, and some of these updates have be found to cause issues related to playback of certain media types in-world including, but not possibly limited to MP3s and MP4s. LL are working towards a fix, but in the meantime, workaround are offered:

  • Windows:
    • Uninstall the Second Life viewer the usual way.
    • Navigate to your Program Files folder (Win 64-bit) or Program Files (x86) (Win 32-bit); locate and delete the “SecondLifeViewer” folder.
    • Download and install the Simplified Cache viewer (the previous release viewer).
  • Apple Mac:
    • Remove the Apple Notarisation viewer from your system.
    • Download and install the Simplified Cache viewer (the previous release viewer).
    • Read the instructions on this page to work through any occurrences of unwanted notarisation warnings.

In Brief

  • With the on-going work to analyse viewer performance using the Tracy debugger / system analyser (see my TPV Developer summaries for more), the simulator team are looking to try and leverage that work on the simulator side, once the current tools upgrade on the server-side has been completed.
  • There was a 10-minutes discussion around animated particles / revising the particle systems, but there is nothing on the card for immediate work.
  • The upcoming simhost operating system upgrade (also to follow the completion of the tools upgrade) was also discussed. Essentially there is a lot of work to be done, and the potential for regressions or other issues to occur. However, LL are planning things as carefully as possible; no overall decision as to how it will be deployed to the main grid come time for it to do so – mainly because the work has yet to start.

2021 CCUG meeting week #42 summary

Nelipot, July 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 21st, 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.

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.23.564172, formerly the Apple Notarisation Fix RC viewer, issued September 24 and promoted October 15.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • 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 Improvements 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 next viewer scheduled for promotion to de facto release status is the Maintenance RC viewer. This may happen in week #43.

Performance Improvements

Core viewer work in now focuses on performance improvements, particularly around rendering (speed and consistency in FPS).

  • The first tranche of this work can be found in the Performance Improvements project viewer (version 6.4.23.564530 and Windows 64-bit at the time of writing, and not to be confused with the Performance Floater viewer).
    • The emphasis of the work is currently Windows 64-bit, but Windows 32 and Mac OS support will be provided as the viewer is updated. However, given this focus, it is possible there may be some temporary regressions creeping into the Mac OS version when it does appear.
    • One of the (many) issues facing LL is that a relatively high number of people signing-up to use Second Life do so with hardware which is at best marginal in terms of capabilities. Ergo, their experience is far from optimal, and so they don’t stick. As such part of this work is looking at ways an means to improve things at that end of the scale – which is no easy task, given the broad range of hardware that is available.
    • The above comment should not be taken to mean LL are insensitive to users who do have more capable hardware.
  • Obviously there are limits to what can be done, simply because of the nature of SL as an open platform, where strict control over content quality (in terms of draw calls, rendering, construction (faces / verts / tris), texture and materials use, etc.), is pretty much entirely unregulated.
  • Beq Janus from Firestorm is putting together a set of UI options (currently focused on avatars) that allow users gain a better understanding of rendering and the impact attachments and rendering artefacts like shadows can have on performance, together with actions that might be taken to help improve their system’s performance.
    • Such approaches are somewhat limited, as it places the onus on the user being pro-active. However, they are a means of providing help.
    • Beq’s work will be appearing in Firestorm in due course and subject to refinement. It may in time be offered to LL as a code contribution, if it proves suitably beneficial to users.
  • Other, more automated options are being discussed, both by users and – as I reported following Mojo Linden’s appearance at a Third Party Viewer Developer meting. However, it is important to note that these are just discussions / ideas that are being poked at, not actual projects.

In Brief

  • Broader focus at the Lab is turning towards discussing potential projects for the upcoming year.
    • There is nothing specific to report on with this at this point, but in broad terms, it does also incorporate things already discussed in these summaries and raised at events such as the June Meet the Linden sessions: performance improvements, more work on the new user experience, etc.
    • Feature requests are also being considered in these discussions (again, no specifics to discuss), and these are also broad-ranging.
  • Mainland EEP update: as I’ve previously reported, a fix for some Mainland regions appearing very dark under the default EEP region setting was implemented server-side a while ago, but has been awaiting the Land team to “throw the switch” to make the update live.
    • However, after the initial update had been deployed, it was realised a further change (a force parameter on the the estate environment console command) would be required in order to have things set and allow said switch to be thrown.
    • The update is now to be deployed in week #43, after which the way should be clear for the Land team to flip the switch and apply the updated settings at a time of their choosing.

Date of Next Meeting

  • Thursday, November 4th.

2021 SUG meeting week #42 summary

Rivendell – Lord of the Rings, July 2021 – blog post

The following notes were taken from the Tuesday, October 19th, 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 should be referred to should full details of the meeting wish to be reviewed.

Server Deployments

See the current server deployment thread for updates

  • Tuesday, October 19th saw the simhosts on the SLS main channel restarted without any update. for some this may have seen the server release number increment to 564759. However, there were some issues, so some simulators on the channel were refreshed with release 564394.
    • LL is working to get to a state where version numbers only increment when there is a deployment and rolling restart, rather than incrementing as a result of a rolling restart alone.
  • Wednesday, October 20th should see the deployment of  simulator version 564610. This includes the following feature requests:
    • SL-15994 Add “force” option to estate_environment command (non-public Jira).
    • BUG-231158 Allow llGetNotecardLine to return more than 255 bytes.
    • BUG-229639 [FEATURE REQUEST] PRIM_PROJECTION.

Operating System Upgrade

As I’ve recently noted, following the current server tools update, the Lab plans to update the underpinning operating system. This work is now on the horizon. Or, to put in in the words of Mazidox Linden:

Do you all remember back in the Before Times when we were still in the colo and offices were still a thing and we did simulator operating system upgrades? Well, we’re in the cloud, I’m still working from a cramped desk in a corner of my guest room, but guess what we’re doing!
I know an OS upgrade is not the most attractive thing nor fun to hear about, so I’m willing to offer you a carrot. We’ve seen at least 10% more scripts running per frame on the same hardware with the same starting state for a simulator. [SO] the sooner we get this os upgrade tested the sooner it gets out the door and into your hands.

Those wishing to test their scripts, etc., on the new OS version can currently do so on the following regions on Aditi (the beta grid): Cale, Gothlauth, Jigglypuff, Leafeon, London City, London City Gateway, Mauve, Moonberry, Riccione, Sapas, Smithereens, Snark, Testylvania Sandbox, and Woods of Heaven.

Mazidox also stated:

If you have a region on Agni that has some significant script load, or unusual characteristics like lots of physics utilization, pathfinding… Regions that really stress aspects of the server without people being on them, please feel free to IM me here on Agni and ask for the region to be copied to Aditi on a first come first serve basis.

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.23.564172, formerly the Apple Notarisation Fix RC viewer, issued September 24 and promoted October 15.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • 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 Improvements 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.

In Brief

  • There has been a lot of discussion about the viewer’s bandwidth slider on the forums again recently, which has also touched on default cache sizes
    • As noted in that thread, the bandwidth slider in particular is less useful nowadays than once was the case, prompting the question on whether or not it should be retained within the viewer.
    • During the meeting, the question was asked if the simulators are liable to become defensive if the setting were to be fixed (presumably relatively high) within a viewer like Firestorm, which could provoke “microburst contention” due to the volume of UDP message requests hitting the servers.  The suggestion has been to go ahead and try, which is easier said than done inasmuch as increasing the default is easy – rolling it back perhaps not so (given it would require a further update, which people might opt to ignore unless part of a larger release – which then might not appear for several months after the original change).
    • In terms of cache, that is also a problem, as the limits do tend to be low (based on older computer specs), plus the viewer tends to have multiple and distinct caching structures, none of which are particularly efficient – although the Lab is trying to address some of them (hence the Simplified Cache RC viewer).
  • There is a very short discussion on Voice options, given Vivox will be ending the Vivox 4 API. As this in more a viewer question, no conclusions could be drawn.

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:
    • 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. Those running older operating systems – such as Windows 7 without Service Pack 1 installed, may experience issues when TLS 1.0 / 1.1 support is turned off.

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 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.