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.

 

2021 TPV Developer meeting summary, week #45

The Path to Buchhaim, August 2021 – blog post

The following notes are taken from the TPV Developer meeting held on Friday, November 12th, 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 Tracy Integration RC viewer version 6.4.23.563771 (dated Friday, November 5) entered the list some time after Tuesday, November 9.
  • Performance Improvements project viewer updated to version 6.4.24.565324 (dated November 5) also some time after Tuesday, November 9.
  • The Maintenance RC viewer updated to version 6.5.0.565607, on November 10th – this viewer now contains a fix for the media issues caused by the Apple Notarisation viewer. If you have been impacted by these issues and have had to roll back to an earlier version of the official viewer, it is recommended you download and install this RC.

The remaining official viewer flavours remain 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):
    • 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 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.
  • The Performance Improvements viewer has been further updated, but will likely go into a round of bug fixing before progressing further – as Vir pointed in the meeting, the problem with moving operations between threads / to their own threads, things can have undesired consequences, and these are to be addressed with fixes.
  • The focus at the Lab is to try to get all of the current list of viewers updated & quite possibly promoted to release status by the end of 2021.

In Brief

  • Mojo Linden indicated that the Lab is keen to hear back from users on the Performance Improvements viewer, and in receiving suitable performance improvements code from TPVs, and the emphasis remains on trying to improve overall performance for all users.
  • BUG-231417 “ADITI LOGIN – Fields not conforming to previous login behaviour” (preventing clients reliant on libomv and libremetaverse from logging into Aditi (the Beta grid), and BUG-231303 “Scripted agents can no longer log in” (an outcome of the dropping of TLS 1.0/1.1 support) together form the backbone of discussions in the meeting, which includes cipher sets, use of (effectively) deprecated operating system versions (e.g. Windows 7, Windows Serve 2012), TLS / SSE support, etc. Please refer to the video below for details.
  • Catznip R13 is now on the horizon as a release.
  • Firestorm is testing an “auto tune” capability to better handle other avatars to help boost performance – LL are apparently also looking at something similar.

2021 SUG meeting week #45 summary

Finian’s Foraois, August 2021 – blog post

The following notes were taken from the Tuesday, November 9th, 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, November 9th saw simhosts on the SLS Main channel restarted, but no actual simulator update, leaving them running version 565008.
  • Wednesday, November 10th should see regions on the RC channel restart:
    • The majority of RC simhosts will be restarted without any update, also leaving them running simulator version 565008.
    •  Those servers on the Bluesteel channel will be updated to version 565204, containing the outcome of the recent work in updating the simulator toolsets. Testing of the simulators using the new tools has shown “significant improvement” in simulator operations, so the hope is that this will be reflected in the deployed version.

SL Viewer

This list reflects those official viewers available via Linden Lab.

  • 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):
    • 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 (notably MP3s and MP4s). A fix is in progress, and once ready, LL intend to fast track it through QA ahead of other viewer updates and make an RC viewer with the fix available ASAP.

TLS Changes

Monty Linden provided an update on the status of disabling TLS 1.0 / 1.1 and future certification work:

There are some ongoing issues [with] a combination of effects in play. In Bug-231303, we have reports of failed cipher negotiation. Right now, only three ciphers are available under tls1.2 on login. I hope to strictly expand that. *HOWEVER* this is where that old viewer cert checking code comes in and does the wrong thing. Future certs will not have the ‘key encipherment’ usage extension – and those old checks need to disappear from all viewers and bots and comms libraries. 
We can’t check every combination people try to use. We can’t even check many combinations, but we’re heading in the direction of wider conformity of the rest of the net. I would like to be able to offer testing on Aditi prior to future changes but we’ve coupled the two grids in an unfortunately way. That might take time to separate. Maintained clients that updated the cert check should work. Old libomv stuff that is broken currently may or may not be repaired (some will, some won’t). Anyone truly doing their own thing will have to answer to the crypto gods.
The reg changes should hold up. But more changes will be coming in ’22 and beyond. Things that have gone unmaintained for years are going to be very susceptible to crypto changes in the wider world. This is the warning.
FYI, consider the 2020q1 profile in this as a target.
For client authentication where Linden doesn’t control the server endpoint, I’m thinking other authentication schemes are in order. OAuth2, etc. We had a high-level LSL discussion the other week. Better supporting auth schemes for scripting would be one of these. But it also enters into having private storage and secrets management. I.e. all the stuff real cloud providers have to do. Even that is a project. All of which would be A Really Good Thing.

Monty Linden

This commentary rolled into a wider discussion of potential scripting options and of further HTTP work. In terms of the former, Monty indicated that the Lab is not ready to increase script memory limits, because there is a believe that ” we can make the memory you have do more.” He also indicated that amongst the backlog of work is a Mono update, but could not say when that might progress to a point of being worked on.

2021 Content Creation User Group week #44 summary

L2 Studio and LLOOQ Gallery, 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, November 4th 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.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):
    • 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.

Graphics Work

  • As has been previously reported in my user group meeting summaries, a core focus of work at the Lab is on performance improvements, both on the back-end and in the viewer.
  • With the viewer, the work is very much on improving graphics / frame rate performance (utilising the Tracy analyser). Much of this work has been to move non-rendering operations currently in the main rendering thread to their own / other threads.
    • In October, the first cut of a project viewer featuring the fruits of this work was issue (see Performance Improvements Viewer in the list above), and an update to this viewer is expected in the next working day or so.
    • Once the updated version of the viewer is available, users are encouraged to take it for a test and see if they can see improvements in rendering / FPS rates.
  • Overall, the Graphics team plan to spend around two more weeks in general performance updates. before the work will shift to stabilising the changes so far made to the viewer (which has been acknowledged as being “crashy” at this point in time).
  • Once the stabilisation work has been completed, the hope is that the viewer will be in a position to progress forward through the RC cycle to enter the queue for promotion to release status around the the end of the year, with actual promotion coming in early 2022.
  • Separate to the above, Runitai is currently working on the fork of the render pipe inside the avatar draw pool that handles the rendering of avatar rigged meshes. The aim is to move this work to the same machinery that handles the other draw pools, and so hopefully enable rigged mesh rendering to be handled on a batch basis, rather than one face at a time as is currently the case, thus giving a potentially substantial performance boost.

In Brief

  • WRT to performance, it was pointed out that the baseline hardware specifications LL give for Second Life are route in hardware between 10-15 years old, and so many users tend to stick to outdated hardware. Thus the situation is somewhat double-edged: ending support for older systems would allow LL to focus more on updating and improving SL to run on more recent hardware; however, by the same measure, it risks “locking out” users who may be unable to move on to more recent hardware in order to stay reasonably “current”.
  • Work is still in progress trying to overcome the Apple Notarisation / media issues and outlined here. Part of the problem was the result of LL using a very old VLC. However, getting a new VLC to be recognised by the notarisation process is also proving problematic.
  • A request was made to all region owners to be able to automatically drop a general information package on preferred viewer settings, etc., on users arriving in a region. Given automated notecard givers can already do this, and many of the “recommendations” are completely over the top for many systems (e.g. “set your graphics to Ultra, enable shadows and set your draw distance to 500+ m”), no advantage is seen in providing  a capability to provide this information (presumably via a chat channel).
  • Similarly, pro-actively scanning viewer settings using LSL as visitors arrive and “advising” them about the recommended settings for a region should some of their own be “below” the recommendation, was also seen as not particularly advantageous unless it was somehow made an opt-in capability that those who do wish to receive such information can do so.
  • It is recognised that Pathfinding is overdue for some improvements, and it *might* be that it gets looked at in the future; however there are no definite plans beyond considering what might be done, and poking at feature requests, etc., that have been filed for Pathfinding.

November 2021 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, November 3rd, 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

  • Search: The front-end of search has been given a facelift which among other things, is designed to make web search returns easier to read. This should be deployed in the next couple of weeks.
    • Note that the actual search algorithm has not been altered at this point – so search results, relevancy, etc., should not change.
    • A further overhaul of search which does include tightening the algorithm and improving results / relevancy and general performance will be initiated in the New Year, and will apparently utilise third-party expertise external to LL in an attempt to get a “first class” search implementation.
  • Marketplace has continued to see bugs being fixed – although no specific details on which bugs.

SL Mobile

  • It was reiterated (as per Mojo Linden’s comments at the end of October TPVD meeting) that while development work has paused, LL are not “giving up” on a Mobile solution.
  • The pause is liable to last “a number of weeks”.
  • There is a “lot going in” and the Lab is “excited” about what will hopefully be forthcoming, and is very aware there has been a degree of disappointment that nothing has been publicly released thus far.

In Brief

  • Some MP store owners are stating they have seen between a 30% and 50% drop in sales in the latter half of October, LL start they have not seen anything to indicate an across-the board decline in MP sales volumes – in fact, they have seen the reverse.
  • The next batch of new Premium Last Names will be made available at Christmas.
  • Bug Questions – it was asked why the following were allowed to persist for “two weeks”:
    • BUG-231218 “Boolean search terms in Marketplace result in error page” – LL’s view is that the fix was available within a few days of the report being filed, and deployed shortly thereafter.
    • BUG-231307 “[Marketplace] – Favourite stores layout change now shows listings that are not active.” – again, a fix was developed relatively quickly, and is currently awaiting deployment.
  • A bug that results in 0 traffic reports for regions that have received visitors is not the result of any changes to the traffic count algorithm, but likely the result of the database that handles traffic having had some issues recently.
  • There have been complaints about MP listings / pages getting blocked by ad blockers. This is not something LL can control; those services providing ad blockers can change their own algorithms as they please, and LL cannot test for everything – a certain about of action on the users’ side will always be required.
  • New Starter Avatars: although outside the scope the Web Team, it was reiterated that this is something under discussion, but not something liable to be surfaced in the immediate future.

LL / Zenescope / Epik / NFT Sweepstake

Also not the responsibility of the Web Team but Brett Linden, VP of Marketing was present at the meeting an commented on the recent NFT sweepstake, run in conjunction with Zenescope and Epik (see:  Zenescope x Second Life NFT Sweepstakes Official Rules).

  • LL are very aware of the response,
  • The company had and is looking at the whole NFT situation “guardedly”,
    • They are aware NFTs are polarising.
    • LL has received multiple requests to partner with others to offer NFTs, but outside of the sweepstake have thus far “avoided every single one”.
    • As a whole, LL have “no plans” to get into the “NFT business” itself; the sweepstake was purely a cross-platform / partnership promotion, apparently in part to try to call attention to SL / LL given the general “metaverse” hype that is going on.
  • In terms of Zenescope itself:
    • It was re-iterated that this is a licensed deal, of which the NFTs offered through the sweepstake do not form a central part.
    • However, Epik (outside of their EpikPrime marketplace) is the agency handling the IP for Zenescope to market virtual goods, etc., thought their presence in SL.
    • In terms of the Zenescope Metaverse, further roll-outs of content, etc., to enhance the experience will be made in due course.
  • The end of the meeting includes a brief discussion on the Facebook / Meta name change and what it might mean for Second Life / LL (particularly the concern – also raised at the TPVD meeting on October 29th – that Facebook might buy Linden Lab, something to which my personal view is simply, “no, they won’t”; something I may elaborate on in a future post) and “metaverse” hype in general.

Next Meeting

  • Wednesday, December 8th, 14:00 SLT, with a core subject of Place Pages.