2021 SUG meeting week #49 summary

Paradiso, October 2021 – blog post

The following notes were taken from the Tuesday, December 7th, 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 server deployment thread for further updates.

  • On Tuesday, December 7th, all simulators on the SLS Main channel were restarted to refresh them – no actual deployment was made.
  • On Wednesday, December 7th, two of the RC channels will receive a simulator update to allow for the upcoming change to off-line Group Notice receipt via e-mail. See: Lab announces change to e-mail preferences for Group notices for more).

Available Viewers

This list reflects those viewers available via Linden Lab.

  • Release viewer: version version 6.5.0.565607, formerly the Maintenance RC and dated November 10, promoted November 15 – this viewer now contains a fix for the media issues caused by the Apple Notarisation viewer.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • The Tracy Integration RC viewer version 6.4.23.563771 (dated Friday, November 5) issued Tuesday, November 9.
    • 360 Snapshot RC viewer, version 6.5.0.564863, issued October 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • Performance Improvements project viewer updated to version 6.4.24.565672 (dated November 17) November 22.
    • 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.

Log-in Issues

As a result of a recent log-in server update, people experienced issues with scripted agent (bot) log-ins (see BUG-231530). and those with a double space in their user name. This updates should now have been rolled back, hopefully resolving the issues. Commenting on the situation, Mazidox Linden noted:

We’re updating the login hosts. We regularly deploy updates to most of Second Life’s service hosts. This one had some issues we weren’t able to find on Aditi [when testing the simulator code].

In addressing why the issue was allowed to “roll” for 24 hours, he added:

We needed the data that was being generated from the new login hosts.

libopenmetaverse Support Deprecation

Simon Linden had two items of news for those using libopenmetaverse for scripted agent operations:

  • Going forward, libopenmetaverse is no longer going to be supported, and will be replaced by libremetaverse.
  • Those using scripted agents should therefore switch to libremetaverse why building Python-driven bots.

LSL: llList2ListStrided

Whilst engaged in some LSL scripting work, Rider Linden encountered something which he is trying to determine how best to address:

I’ve been making heavy use of llList2ListStrided and I’ve noticed that in order to get something other than the first element in each stride you need to delete everything before the item you want. This leads to lots of calls that look like this:
llList2ListStrided(llDeleteSubList(src, 0, 0), 0, -1, 3)
Which is downright ugly. The question is would correcting the start parameter be the way to go or a new function (and perhaps throwing in a sort that lets you pick which column in the span to sort on).

Out of concern for content breakage with with way the function is currently used, the favour shown by those at the meeting was to have a new function that could be used going forward.

2021 CCUG meeting week #48 summary: Graphics work

Nelipot, September 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, December 2nd 2021 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are are available on the Content Creation User Group wiki page.

Unfortunately, my audio recording turned into so much noise around half-way through the meeting, so what follows is a truncated set of notes based purely on text.

Available Viewers

This list reflects those viewers available via Linden Lab.

  • Release viewer: version version 6.5.0.565607, formerly the Maintenance RC and dated November 10, promoted November 15 – this viewer now contains a fix for the media issues caused by the Apple Notarisation viewer.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • The Tracy Integration RC viewer version 6.4.23.563771 (dated Friday, November 5) issued Tuesday, November 9.
    • 360 Snapshot RC viewer, version 6.5.0.564863, issued October 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • Performance Improvements project viewer updated to version 6.4.24.565672 (dated November 17) November 22.
    • 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 aim is still to combine the 360 Snapshot RC viewer and the Simplified Cache RC viewers into a single RC in preparation for promotion.

Graphics Work

  • This work has comprised a number of elements, both in moving processes that should logically have their own threads, and in moving processing that can cause the main thread to stall while it is handling them (e.g. processes that talk to the graphics API, the texture upload to OpenGL, etc.) to other background threads, together with overhaul avatar rendering.
  • The main focus of work is now bug fixing, with the hope to get an RC viewer out before the holiday period.

Blend Shapes

Over time, LL has received multiple requests for blend shape / morph target / shape key support to be added to the avatar system  (see BUG-22993 as an example). Were such a capability be added, it will require a new asset type associated with the avatar or a part of the original mesh definition.

  • However, for the meeting, Vir asked creators to assume the option to be available and asked for thoughts on how they would be used, e.g:
    • Should that have name-based parameters with LSL support for accessing them?
    • How else might they be controlled if they did not correspond to existing sliders?
  • The Lab’s thinking is that there are two categories of blend shapes to be considered:
    • Blend shapes that are intended to implement functionality that is equivalent to the built-in slider blends of the system avatar (and so can be integrated into the existing slider number system).
    • Blend Shapes that are intended to be independent of the existing slider system.
  • It was noted that any slider-based system for blend shapes could be limited, as it won’t necessarily work with clothing without an overhaul of the avatar rigging system, as clothing has no inherent understanding of the base body form.
    • While there are potential work-arounds to the above point, they would require adding further levels of technical complexity to SL, which perhaps isn’t the best way to go – and would be a much large project to implement.
  • The assumption is also that blend shapes would have a fixed 0.0 – 1.0 input range, which raised the question of how would it be triggered?
    • Via editing?
    • Using LSL?
    • Referenced in an animation (to allow more dynamic use – such as facial emoting)?
  • (As it was at this point audio went sideways, I believe the general feeling was the all three options for triggering; but without audio to confirm Vir’s feedback, I’m unsure).

In Brief

  • Andrew (Mojo Linden) Kertesz, the Lab’s new Vice President of Engineering, dropped into the meeting, having already become a semi-regular attendee at the Simulator User Group and the TPV Developer meetings.
    • He noted he is hoping to drop in to further meetings, possibly on a monthly basis, and build up a picture as to the hopes / wants / needs of content creators and gather information that can perhaps be folded back into the Lab’s own plans.
    • He also indicated that thoughts at the Lab are now turning towards features, capabilities and experiences and a road map of ideas is being developed; but nothing currently ready for any form of disclosure.
  • In asking those present for feedback on what content creators might like to see, the answers supplied included:
    • An improved / off-the-shelf scripting system.
    • The ability to build UI-based HUDs. This has been a common request, and potential use-case explains were requested during the meeting, to help LL better understand how / where they might be used (e.g. “this is how this HUD + LLSL is being done today – how could/should it be done with language X + widgets”).
  • Requests were again made for LL to devote time to updating documentation, particularly those elements of the wiki that are being kept active  – such as the pages referencing content creation. These are wildly out-of-date / misleading, and frustration was voiced over the fact that Beq Janus of the Firestorm team spent a considerable amount of time annotating issues and providing LL with a list of updates to all content creation documentation, none of which has been actioned.
  • The subject of mesh LODs (and / or lack thereof) and the potential for auto LOD generation (and what to do with existing content where the LODs have been wither played down or are non-existent).
    • While there are possible ways to allow for auto LODding existing content, they may require opting-in by content creators (and some may not be able to do so anyway), or may not not always work; others would require some kind of updating of the back-end mesh asset ID – something that is not current possible.
  • On the positive, the Lab seem open to accepting well-defined / written proposals for potential improvements that can both simplify and / or provide performance improvements with both in-world content and avatars.

Note: there will be one more CCUG meeting for 2021 – Thursday, December 17th.

2021 SUG meeting week #48 summary

The Rock, September 2021 – blog post

The following notes were taken from the Tuesday, November 30th, 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 server deployment thread for further updates.

  • On Monday, November 29th / Tuesday, November 30th, all simulators on the SLS Main channel were restarted to allow for a hardware upgrade.
  • On Wednesday, December 1st:
    • The Le Tigre RC channel will be updated to the simulator version using the new toolset.
    • Pending a final QA decision, the remain RC channels may also receive a new simulator version.

Simhost Configuration

While the Lab is not prepared – yet – to discuss the simulator host configuration changes that are being made, we have been promised a blog post on the subject in the near future. However, in commenting on the work, Rider Linden stated:

Amazon offers a variety of hardware configurations. We’ve been switching from one that closely mirrored what we had in the colo[cation facilities, the Lab’s former dedicated server facilities] to a new one that fits our usage pattern better.

End-of-Year Deployments

  • There are potentially two more simulator deployment periods left for the year: December 7th / 8th, and potentially the 14th/15th, if anything has to be pushed back – although LL would prefer not to have that happen.
  • There should be restarts on the 21st / 22nd December for the holiday period, but no deployments.
  • The next scheduled restart / deployment period will then come on January 4th / 5th 2021.

Available Viewers

This list reflects those viewers available via Linden Lab.

  • Release viewer: version version 6.5.0.565607, formerly the Maintenance RC and dated November 10, promoted November 15 – this viewer now contains a fix for the media issues caused by the Apple Notarisation viewer.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • The Tracy Integration RC viewer version 6.4.23.563771 (dated Friday, November 5) issued Tuesday, November 9.
    • 360 Snapshot RC viewer, version 6.5.0.564863, issued October 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • Performance Improvements project viewer updated to version 6.4.24.565672 (dated November 17) November 22.
    • 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

  • As many have noticed, avatar bakes have been taking noticeably longer when logging-in, with some also reporting changes of outfit. This looks to be a systemic issue.
  • Some have been reporting a log-in issue that manifests as a warning that the computer running the viewer may have an incorrectly set clock, exacerbated by the fact the suggested resolutions to the issue do not appear to correct it. However, LL believe the underpinning cause has been identified, and a fix should be deployed “soon”.

2021 SUG meeting week #47 summary

LANA, September 2021 – blog post

The following notes were taken from the Tuesday, November 23rd, 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

  • There are no deployments for week #47, this being Thanksgiving week in the US. However, all simhosts will be restarted.
  • On Monday, November 29th, all simulators on the SLS Main channel will be restarted to allow for a hardware upgrade.
  • On Wednesday, December 1st, the simulator version using the new toolset will be deployed to a further RC channel, and the other two will get a different simulator version.

Available Viewers

This list reflects those viewers available via Linden Lab

  • Release viewer: version version 6.5.0.565607, formerly the Maintenance RC and dated November 10, promoted November 15 – this viewer now contains a fix for the media issues caused by the Apple Notarisation viewer.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • The Tracy Integration RC viewer version 6.4.23.563771 (dated Friday, November 5) issued Tuesday, November 9.
    • 360 Snapshot RC viewer, version 6.5.0.564863, issued October 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • Performance Improvements project viewer updated to version 6.4.24.565672 (dated November 17) November 22.
    • 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 was an extensive discussion on options for Linden water in Second Life, together with a more generic discussion on hardware. As no work is currently planed for water (or environment) controls, please refer to the video for more.

2021 CCUG meeting week #46 summary: Graphics work

Bella’s Lullaby, September 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, November 18th 2021 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are are available on the Content Creation User Group wiki page.

AVAILABLE VIEWERS

This list reflects those viewers available via Linden Lab.

  • Release viewer: version version 6.5.0.565607, formerly the Maintenance RC and dated November 10, promoted November 15 – this viewer now contains a fix for the media issues caused by the Apple Notarisation viewer.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • The Tracy Integration RC viewer version 6.4.23.563771 (dated Friday, November 5) issued Tuesday, November 9.
    • 360 Snapshot RC viewer, version 6.5.0.564863, issued October 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • Performance Improvements project viewer updated to version 6.4.24.565324 (dated November 5) November 9.
    • 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

  • It is possible the 360 Snapshot RC viewer and the Simplified Cache RC viewers may be merged prior to either being individually promoted to de facto release status.

Graphics Work

  • The core of the graphics team is shifting emphasis from making performance changes to the rendering pipe to focusing on stabilising the changes thus far made. As Vir has elsewhere noted, the problem with moving operations between threads / to their own threads is that there can be undesired consequences which then must be addressed.
    • This work has comprises a number of elements, both in moving processes that should logically have their own threads, and in moving processing that can cause the main thread to stall while it is handling them (e.g. processes that talk to the graphics API, the texture upload to OpenGL, etc.) to other background threads.
  • Runitai Linden continues to update how avatar rigged meshes are rendered.
    • In short, he hopes to use the same approach to handling static meshes to rigged mesh (including Animesh creations), allowing the latter to be handled in batches, reducing the overall number of draw calls and giving a potentially substantial performance boost.
    • The improvements should be particularly noticeable when rendering the “onion layer” avatar meshes that have multiple layers and are segmented into multiple cuts. Runitai reports his testing shows a 50% improvement in rendering 20 avatars – but improvements will be hardware dependent.
    • There are some issues: as it stands, the updated code does change the order of sorting / rendering alphas, which could be problematic for some creators. If so, LL will look at what can be done to prevent this (as an aside to this, vertex ordering within Blender, etc.), should not be impacted). There are also limits on how far this can be taken due to things like how faces with unique textures or with separate materials must be handled.
    • Currently, Runitai plans to spend the next few weeks testing and improving the changes with a view to having a view publicly available in the New Year.
  • Part of the discussion centred on texture use (and over-use), which covered a number of elements including:
    • A reminder of why the use of 1024×1024 textures on every surface, no matter how small is really bad idea, both because of the amount of VRAM each texture (+ any associated materials) uses (up to 4MB each); and because even if the face used only exposes a small portion of the texture, the viewer still has to process the entire texture before it can be rendered at full resolution, so it’s just leaving people with a greater amount of time the texture is blurred in their view.
    • The pros and cons in using a texture atlas. On the plus, this always multiple textures to be handled as a single draw operation, and is done where possible. However, unlike a conventional game, texture use in Sl is less predictable (e.g. an avatar can use the same texture “as is”, alpha masked, alpha blended and as a specular map, impacting the ability to use it within any texture atlas.
  • Whilst on the back burner at present, it is hoped that Vulkan, if / when adopted, could solve a lot of texture batching and draw call issues on the Windows platform, as it has a “fundamentally different” way of handling the latter. However, any shift in graphics API is held depending the current clean-up of the rendering code. On October 30th, Runitai described the options under consideration as:
    • Using Vulkan (Windows) and Metal (Apple).
    • Running Vulkan extraction layers on top of G3D on Windows (and MoltenGL for Apple?)
    • Implementing an off-the-shelf multi-API extraction layer.
    • Home-brew a dedicated extraction layer.
    • Stick with OpenGL for Windows and use MoltenGL for Apple (as noted above).
    • Initially supporting Vulkan + OpenGL for Windows and then retiring OpenGL and running Vulkan extraction layers on top of G3D (no word on Apple solutions in this scenario).
  • As a part of the current  work, LL has tested using OpenGL Core Profile rather than the currently-used OpenGL Compatibility Profile.
    • Core Profile offers a performance win for nVidia GPUs – but presents a performance hit for AMD and Apple systems, so a determination on its use has yet to be made.
    • Core Profile also does not work GLOD for mesh uploads, so if adopted, GLOD support may be entirely dropped from the viewer in favour of the Mesh Optimiser (as found in the current Mesh Optimiser project viewer).
  • Other updates the graphics team are considering include:
    • Making VSync enabled by default in the viewer, which should give a more consistent rate at high (100+) FPS.
    • Removing the ability to uncheck OpenGL Vertex Buffers and Hardware Skinning, as disabling either isn’t particularly good for performance.

2021 SUG meeting week #46 summary

Endless: Permafrost, August 2021 – blog post

The following notes were taken from the Tuesday, November 16th, 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 are no planned deployments to the majority of the region simhosts.
  • On Wednesday, November 17th, the servers on the Bluesteel channel should be updated with a fresh version of the tools update simulator version.
  • It is unlikely the simulator version on Bluesteel will be rolled to additional simhosts / channels prior to US Thanksgiving, as there are some issued the Lab has noted, which are proving a little hard for the Lab to track down in testing on Aditi and the Lab’s internal test grid.
  • It is likely that the number of server deployments between now as the end of the year will be “minimal”.

SL Viewer

This list reflects those official viewers available via Linden Lab.

  • Release viewer: version version 6.5.0.565607, formerly the Maintenance RC and dated November 10, promoted November 15 – this viewer now contains a fix for the media issues caused by the Apple Notarisation viewer.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • The Tracy Integration RC viewer version 6.4.23.563771 (dated Friday, November 5) issued Tuesday, November 9.
    • 360 Snapshot RC viewer, version 6.5.0.564863, issued October 21.
    • Simplified Cache RC viewer, version 6.4.23.562623, dated September 17, issued September 20.
  • Project viewers:
    • Performance Improvements project viewer updated to version 6.4.24.565324 (dated November 5) November 9.
    • 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

  • It has been reported that general region performance is better with the new toolset simulator version. However, when something is rezzed with scripts there is a 2 second rez delay if there are child prims in the object – if it is a singular object, there’s hardly any delay. The object appears inworld but on_rez() and object_rez() don’t trigger for a solid 2 seconds. This does not happen for a single prim object. It’s not clear if this is some variant of BUG-228939; however, that tended to become more noticeable the longer a region was running, but this issue seems to occur immediately after a region is restarted. See here for more.
  • User Fourmilab has also been investigating the user of the broader “2-second delay”, and has posted findings here and here.
  • BUG-231303 “Scripted agents can no longer log in” is still under investigation, although it had been hoped the issue might have been resolved by now. The issue has caused some “alarm” (on behalf of those doing so) that so much is being run on what is effectively outdated “abandonware”.
  • Work is going on to make Map updates more reliable, and it is possible there may be further updates to the Map system in 2022.