2023 week #48: SL TPVD meeting summary + PBR Update

Moochie All Hallows, October 2023 – blog post

The following notes were taken from my chat log transcript and audio recording of the December 1st, 2023 Third Party Viewer Developer (TPVD) meeting, together with the video recording of the meeting made by Pantera – my thanks to her as always for making it and allowing me to embed it in these summaries.

Meeting Overview

  • The TPV Developer meeting provides an opportunity for discussion about the development of, and features for, the Second Life viewer, and for Linden Lab viewer developers and third-party viewer (TPV) / open-source code contributors to discuss general viewer development.
  • As a rule, these meetings are:
    • Generally held once a month  the third or fourth Friday, at 13:00 SLT at the Hippotropolis Theatre. See the SL Public Calendar for specific meeting dates.
    • Open to all with an interest in viewer development.
    • Conducted in a mix of text and voice.
  • The notes herein are drawn from a mix of my own chat log and audio recording of the meeting, and are not intended to be a full transcript.

Viewer Updates

  • The glTF / PBR Materials viewer, version 7.0.1.6894459864, was promoted to de facto release status on November 28.
  • The Maintenance V(ersatility) RC viewer updated to version 7.1.1.7039128750 on December 1.

The rest of the current crop of official viewers remains as:

  • Release channel cohorts:
    • Maintenance X RC, version 6.6.17.6935636398, issued November 21 – usability improvements.
    • Maintenance Y, version 6.6.17.6935642049, issued November 21 – My Outfits folder improvements; ability to remove entries from landmark history.
    • Maintenance-W RC viewer, version 6.6.17.6935629493, November 21.
    • Emoji RC viewer, version 6.6.15.581551, August 31.
  • Project viewers:

General Viewer Notes:

  • The promotion of the PBR Materials view marks the second promotion of a viewer built using the Github Actions build page.
  • It is uncertain whether or not there will be a further viewer promotion in 2023. If there is, the most likely candidate would by the Emojis viewer, although at the time of writing, this had had to go through the Github build process (which it naturally will when merged with the release viewer code-base).

PBR Materials Update

[Video: 1:23-8:55]

  • PBR Materials was shipped with a number of known bugs and issues, none of the former of which were considered to be significant enough to block the release, whilst some of the latter required further investigation for repros, etc., and the Lab decided to release whilst investigating.
  • This means a maintenance update is already in progress which will continue additional fixes, and this will also be used to catch issues and bugs reported post-release.
    • One of the post-release bugs uncovered is that – for reasons unknown – disabling transparent water impacts animation playback; see: BUG-234759.
    • Another issue revealed by PBR is that the viewer draws Linden Water twice. (not the entire scene, an issue previously remedied, just Linden Water), and this is being corrected.
  • The request is for bug and issues to keep being reported, simply because PBR Materials now has far more eyes on it, and so things that may have been missed due to the limited number of eyes on things in testing / the multiplicity of ways people use SL, means that some edge-cases, etc., may have been missed.
  • A question was asked if LL had considered off the exposure adjustments (adjusted within a set range through the Sky settings) to prevent the viewer from rendering some scenes excessively bright.
    • The response to this was that the exposure is tied to tone-mapping and a controlled HDR range, as such LL would rather users adjust to designing environments in accordance with the new (glTF-defined) tone mapping, then introducing more granular options into the viewer (such as which tone mapper to use).
    • [Video: 14:58-15:55] However, it was also noted that if TPVs wish to provide their own tone mapping options, this would not be seen as violating the so-called “shared user experience”, as they are regarded as post-processing effects (then don’t actually physically manipulate how objects appear in-world) and they are subjective in how they are seen by individual users.
  • [Video 25:25-33:27] A broader mention of additional glTF work – scene import, hierarchies, etc., some of which is mentioned in my simple  introduction to PBR Materials.
    • Part of this future work will be to look at how automatic LODs for mesh objects are produced, and whether to continue to support them through the uploader (which is limited in its abilities) or to direct content creators to other solutions for generating LODs prior to upload (e.g. via Simplygon and Blender).
    • This conversation also encompasses various limitations common to SL which glTF might alter / improve upon as it is further adopted (such as meshes currently being limited to eight faces due to the platform’s data entry model regarding meshes as prims), plus the potential impacts of changes. Please refer to the video for specifics on this discussion.

Performance Issue

[Video: 3:01-6:10]

  • One issue that is proving hard to consistence repro is that of frequent slow-downs with NVIDIA GL drivers which can result in significant FPS loss in the viewer – see: BUG-234706 for more details.
  • At the time of writing, both LL’s QA and others are trying to consistently repro the problem, however, so of the thinking is is related to a mix of CPU core and GL optimisations running on the host system.
  • The concern here is that where it has been repro’d, it has been with systems using 8-core CPUs and NIVIDIA GPUs (although what the correlation between the two might be in terms of a cause for the problem, is unclear), which could impact a fair percentage of SL users if it proves to be a widespread issue (particularly if it is unresolved when Firestorm makes a PBR release).
  • Those who feel they are experiencing a performance loss over time logged-in which reflects the notes presented in the bug report, and who can dig down into their system data for possible causes, are asked to add relevant comments to the Jira.

In Brief

“Disappearing Objects” Issues

[Video:  9:06-11:45]

Some of these may pre-exist PBR or be related to the PBR release:

  • Objects not rendering at log-in due to the inventory frame load locking main processing with the result that messages to the viewer about some in-world objects are simply dropped, and they are never rendered other than via a re-log (or TP out / back?). LL has a fix for this in progress, but as it causes some additional issues, not ETA on when it might be deployed.
  • There is an issue with mesh objects in particular not rendering (see BUG-234700 “[GLTF] Mesh objects randomly not rezzing properly at login”), but it is currently unclear if this is related to the above issue or the result of something else.
  • BUG-234616 “[PBR] Lights outside of camera frustrum are not rendered until within camera frustrum” – has been accepted by LL, but is still an open issue under investigation.

General Notes

  • [Video: 13:18-13:54] The “Fall Colours” simulator update (currently on the BlueSteel and Preflight RC channels) has a bug related to collision sounds (see: BUG-234757 “Repetitive Collision Sound?” and this forum thread) which is under investigation. It was also noted that Fall Colours is liable to be the last simulator update for 2023.
  • [Video 17:24-25:15] The question was asked if LL would accept either the entire RLVa API (Restrained Life Viewer alternative, as maintained by Kitty Barnett and used by several third-party viewer and analogous to RLV) or a subset thereof.
    • RLV/a have been shown to have a wide range of uses outside of their original intent, some of which have, to a degree been matched / had some level of equivalence via things like Experience Keys in the viewer, while others still remain useful for multiple applications – such as the use of either to manage wardrobe / outfit systems, for example).
    • The short response to this via Runitai and Vir Linden was “probably”, as LL are aware that the widespread use of RLV/a features does create something of a schism between TPVs and the official viewer. As such, a pull request of code / the opportunity to discuss has been offered.
    • This led to a wider conversation on how RLV/a works and just what form of open-source platform SL should be in terms of extensibility / code contributions – please refer to the video for more.
  • [Video 33:41-34:20] Linden Lab Office Closure for Holidays: Linden Lab will be closed other than for emergency coverage from end of business on December 22nd through until start of business on January 2nd, 2024.
    • This means that a No Change window for simulator and official viewer releases will be in place from Monday, December 18th, 2023.
  • [Video: 36:16-41:21] HTTP/2 multiplexing:
    • There is a project in development for upping the simulator and viewer to HTTP/2 (although the viewer will require a Curl update in order to handle it).
    • Requests have been made to extend this work to encompass the Asset Store, which internally at the Lab is seen as a nice to have / good to have, but no actual work in that direction in currently in-hand.
  • [Video: 48:00-End] General discussion on better support for the viewer on Linux, segueing into a discussion of possibly adopting voice options other than Vivox, and what needs to be improved within voice in general.

Next Meeting

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.