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, 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, 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, on September 21.
    • Simplified Cache RC viewer, version, dated September 17, issued September 20.
  • Project viewers:
    • 360º Snapshot project viewer, version, issued September 3.
    • Performance Floater project viewer, version, issued September 2.
    • Mesh Optimizer project viewer, version, issued September 1.
    • Legacy Profiles viewer, version, dated October 26, 2020.
    • Copy / Paste viewer, version, 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.