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 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 viewer release summaries week #47

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week ending Sunday, November 28th

This summary is generally published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • 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:
    •  No updates.
  • Project viewers:
    • Performance Improvements project viewer updated to version 6.4.24.565672 (dated November 17) November 22.

LL Viewer Resources

Third-party Viewers

V6-style

  • No updates.

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

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 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 viewer release summaries week #46

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week ending Sunday, November 21st

This summary is generally published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • 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:
    •  No updates.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

  • No updates.

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

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.