2021 CCUG and TPV Developer meetings week #9

Wildwood Gardens, January 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, March 4th 2021 at 13:00 SLT, and Pantera’s video recording of the TPV Developer’s meeting of Friday, March 5th, a copy of which is embedded at the end of this article.

The majority of the TPVD meeting was given over to a discussion of the texture cache issue, together with a general discussion on the simplified cache structure and also on Jelly Doll avatars.

These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar. The venue for the CCUG is the Hippotropolis camp fire, and the TPV Developer meeting is held at the Hippotropolis Theatre.

SL Viewer

[From the CCUG meeting & TPVD Meeting]

Release Roll-Back & Issues

  • The Simple Cache viewer, version 6.4.14.556088, had to be rolled back following its March 2nd promotion due to a number of bugs (e.g. cache location not being adhered to – BUG-230337; uploads of textures above a certain size were failing – BUG-230295).
  • The roll-back saw the Jelly Doll improvements viewer, version 6.4.13.555567 (originally promoted on February 17th) revert to being the de facto release viewer.
  • However, the roll-back resulted in some users who had updated to the Simple Cache viewer users experiencing a corrupted texture cache when using an older version of the viewer.
  • Unfortunately, LL are having problems consistently reproducing the texture caching issues, so it is unclear how matters will be resolved.

This means that for the meantime:

  • Those experiencing texture issues on the official viewer as a result of having used the Simple Cache viewer and then rolling back to, or installing, another version should try clearing cache and re-starting the viewer.
  • Until the Lab have more of a handle on the texture cache issues:
    • Those RC viewers that had been internally merged with the Simple Cache viewer will also be rolled-back to an earlier version.
    • Internal viewer testing procedures will be reviewed.
    • TPVs that have also merged the Simple Cache code will also likely need to roll back their code.
  • One suggestion for resolving this issue is for the official viewer to increment the texture cache version number, forcing a complete wipe / reset of the cache
  • Independent of the texture caching issues, and due to BUG-230337 and BUG-230295, the Simple Cache viewer will go back to a development status so the issues can be fixed.
    • Firestorm apparently has fixes for these particular issues, and these may be contributed to LL.

General Viewer Notes

  • A new Maintenance RC viewer – Eau de Vie, version 6.4.14.556149, was released on March 4th.
  • The Custom Key Mappings viewer updated to version 6.4.14.556098, also on Thursday, March 4th.

The rest of the official viewers in the pipeline remains as follows:

  • Release channel cohorts:
    • Love Me Render (LMR) 5 project viewer, version 6.4.14.556118, February, 23, 2021.
  • Project viewers:
    • Legacy Profiles viewer, version 6.4.11.550519, October 26.
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

There may be a viewer promotion during week #10 (commencing Monday, March 8th).  While no final decision has been made, it is possible the LMR 5 may be the viewer that gets promoted.

Viewer Rendering

[CCUG Meeting]

  • Euclid Linden continues to work on separating UI rendering from general scene rendering in order to improve overall viewer performance.
    • Currently the UI is completely redrawn every frame, along with the rest of the scene, whether or not it requires update.
    • This can take up to 40% of the rendering time, depending on the complexity of the scene being rendered, with around 10-20% being an average, so it is hoped the changes will particularly help those on less-capable systems.
    • There may be some subtle / slight reduction in UI responsiveness under certain circumstances, so a means to tweak the UI update rate may be provided via something like a Debug setting.
    • Note: this work is not physically altering the appearance of the UI, only the frequency with which it is drawn.
  • Ptolemy Linden continues to work on more general rendering performance improvements and rendering bug fixes.

In Brief

  • [CCUG] Map tiles are still being worked on. In the future the lab may look to implement a new means of generating the Map tiles in a more robust way.
    • The Lab has an internal proposal for updating terrain textures, but it has yet to be formally adopted.
  • [CCUG] Allow upload of ground  constrained animations – on the LL’s list,  but has not been looked at as yet.  Vir believes that as the capability is already supported (but undocumented) is should only require an alteration to the simulator animation code to ensure the constraints are correctly understood.
  • [TPVD] Firestorm has entered QA, with a release planned for mid-March.

Date of Next Meetings

  • CCUG: Thursday, March 18th, 2021.
  • TPV Developer: Friday, March 19th, 2021.

2021 CCUG meeting week #7 summary

White Binemust, December 2020 – 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, February 18th 2021 at 13:00 SLT.

These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar, and the venue for meetings is the Hippotropolis camp fire.

SL Viewer

  • Project Jelly viewer (Jellydoll updates), version 6.4.13.555567 and dated February 5th, 2021, was promoted to de facto release status on Wednesday, February 17th.
  • The Love Me Render 5 (LMR 5) viewer was promoted to Release Candidate status on Thursday, February, 18th, 2021 with the issuing of version 6.4.13.555871.

The rest of the current pipelines remain as:

  • Release channel cohorts:
    • Simplified Cache viewer, version 6.4.13.555641, February 16, 2021.
    • Custom Key Mappings viewer, version 6.4.12.553437, January 7, 2021.
  • Project viewers:
    • Legacy Profiles viewer, version 6.4.11.550519, October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

Jelly Doll Viewer

This viewer essentially improves the rendering of Jelly Doll avatars.

  • Originally introduced in 2015 (and with various improvements since) as a means to allows users reduce the avatar rendering load on their systems by having any avatars around them that exceed a certain complexity value (set via a slider) render as a solid colour and minimal detail.
  • There have always been a number of issues with the manner in which these avatars are rendered.  For example: the colours used have been seen as intrusive so users often avoid the capability, while there have also been technical flaws such as the original code. attempting to render all of a Jelly Doll avatar’s attachments, defeating the intent of the code.
  • As a result, the Project Jelly viewer improves things by both rendering avatars as simplified grey humanoid shapes, and by not making any attempt to render attachments.
  • In  addition it also:
    • Improves to how avatar imposters are rendered and updated.
    • Ensures avatars and any Animesh attachment(s) they may have are updated in the same frame.
  • These improvements should result in demonstrable improvements in view performance in environments where there are a large number of avatars and the capability is sensibly used.

Project Muscadene (Animesh Follow-On)

Project Summary

Currently: offering the means to change an Animesh size parameters via LSL.

Current Status

  • Still officially on hold.
  • Unlikely to be resumed in the near-term as it requires simulator-side work and the engineering team is currently engaged in post-Uplift work.

Viewer Rendering

  • With LMR 5 at RC status, the focus has moved more to performance related work.
  • One element of this is Euclid Linden’s work to break out UI rendering from general scene rendering and reduce the amount of time rendering the former, as it updates a lot least frequently than the rest of the scene. This should help improve general viewer performance.
  • Ptolemy Linden is similarly engaged in rendering performance improvements and is also working on bug fixes, some of which are likely to to be included in the next LMR viewer update.

In Brief

Animesh LI Cost

  • There is still concern that the basic LI “cost” for Animesh is still too high, coupled with the view that there is not any sufficiently clear explanation of how impact costs are arrived at.
  • Vir acknowledged more could be done to make information more available – it currently requires digging into the object information floaters, something users may not always be aware of.
  • It was also indicated that until sculpties receive an LI impact reflective of their rendering complexity, there will remain a preference among some creators to continue to use them and alpha flipping (which can be performance intensive).

General

  • The Lab has an internal proposal for updating terrain textures, but it has yet to be formally adopted.

Date of Next Meeting

  • Thursday, March 4th, 2021.

2021 CCUG meeting week #5 summary – graphics

Jacob, December 2020 – 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, February 4th 2021 at 13:00 SLT. These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar.

The venue for meetings is the Hippotropolis camp fire.

Due to Vir having to depart the meeting early, the majority of the meeting focused on viewer rendering.

SL Viewer

There have been no updates since the promotion of the Dawa Maintenance viewer to de facto release status earlier in the week. the viewer pipelines therefore remain as:

  • Current release viewer Dawa Maintenance RC Viewer, version 6.4.12.555248, dated January 25, 2021, promoted February 1st, 2021 – NEW.
  • Release channel cohorts:
    • Project Jelly viewer (Jellydoll updates), version 6.4.12.553798, January 7, 2021.
    • Custom Key Mappings project viewer, version 6.4.12.553437, January 7, 2021.
  • Project viewers:
    • Love Me Render (LMR) 5 project viewer, version 6.4.12.553511, issued on January 7, 2021.
    • Simple Cache project viewer, version 6.4.11.551403, November 12.
    • Legacy Profiles viewer, version 6.4.11.550519, October 26.
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

Viewer Rendering

Love Me Render Viewer

The Graphics team are getting close to an RC release of the Love Me Render 5 (LMR 5) viewer (project viewer version 6.4.12.553511 at the time of writing).

  •  The one remaining issue they addressing with it is the matter of incorrect vertex attribute normals (not normal maps themselves) being rendered with Debug Normals enabled in the viewer (see BUG-228952 “Mesh Debug Normals display incorrectly. Normal Maps on scaled objects appear to use incorrect mesh normals for shading calcs”).
    • This appears to occur with models created in Maya with normals applied, but which uses non-uniform scaling.
    • The fix involves updates to both the Debug Normals code and the affected shader code.
  • The focus of LMR 5 is EEP fixes, apparently including the inverted rainbow issue, going on comments made (although currently that isn’t listed in the release notes), together with more general fixes related to things like specularity renderings, etc. It also includes a number of TPV contributions that fix assorted rendering issues.
  • It is hoped an RC version of the viewer will be available in the next week or two, with the aim of moving it to release status as rapidly as possible.

Outside of any specific rendering work going on for LMR 5 (or which my be directed into the next Love Me Render viewer, aka LMR 6 (such as BUG-5975 and BUG-229462, which might be investigated as part of LMR 6 work), it was indicated the Graphics Team would like to work on the environment map, if only to reduce the performance load it currently places on rendering.

Rendering API Replacement

No specific updates at present on the replacement of OpenGL as the rendering API.However, it was indicated that consideration is still being given to supporting more than one rendering capability by means of some form of back-end “tool kit” or library. There are a number of reasons for this:

  • As indicated in my previous CCUG meeting summary, there appears to be a substantial portion of Windows users accessing Second Life on hardware that cannot support more recent APIs like Vulkan (which had been the preferred choice).
  • Whilst they are set to deprecate OpenGL at some point in the future (prompting the need for the switch away from OpenGL), Apple actually don’t provide native support for Vulkan, thus prompting the need for a second alternative (such as – perhaps – Apple’s own Metal API).
  • Therefore, the use of an intermediary tool box / library approach would, whilst adding a layer of complexity, allow Linden Lab to potentially leverage more than one rendering API to support a wider range of user hardware.

Looking to Possible Future Options

Some thought is being given to rendering capabilities beyond the replacement of OpenGL, such as physically based rendering (PBR).

  • It is important to note that none of these are currently being considered for adoption at this point in time; they are simply on the Graphics Team’s wish list of things they would like to look at.
  • As such, if something like PBR were to be adopted, it would not be until some time after the need to replace OpenGL has been addressed, which itself is liable to be a long-term piece of work.
  • In terms of PBR in particular, it was noted that in practical terms, it would only be of value on  objects that utilise PBR materials.
    • This likely means that if it  were implemented, it would be a opt-in capability: creators would set a flag against content they are importing to indicate it uses PBR, and thus use the required shaders.
    • Such an approach would prevent any “breakage” of existing content (which would effectively continue to be rendered “as is”, and in turn allows creators to determine which of their products they might like to update to / replace with models utilising PBR.
  • Outside of PBR, it was suggested that High-dynamic-range  (HDR) rendering might be something the Graphics Team would like to look at at some point in the future.

Mesh File Formats

Again, not a project under active development or something that will come about in the near future, but the Graphics team are also giving thought to potential mesh model file format support outside of the current .DAE.

  • In the past, users have expressed a desire for .FBX support; the problem here is potentially that whilst widely used and accepted as a “standard”, it is pretty much close-source by Autodesk.
  • The open-source Graphics Language Transmission Format  (gITF) has been suggested by some as an alternative, particularly given it is already supported by Blender as via a plug-in option, and the Graphics Team have indicated they will have a look at this as and when time allows.

Date of Next Meeting

  • Thursday, February 18th, 2021.

2021 CCUG meeting week #3 summary

Snowdrops, November 2020 – 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, January 21st 2021 at 13:00 SLT. These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar.

The venue for meetings is the Hippotropolis camp fire.

SL Viewer

The Dawa Maintenance RC viewer updated to version 6.4.12.555058 on Wednesday, January 20th signalling the issues within the build process that had stalled viewer updates have been cleared. However, at the time of writing all other viewers in the current pipelines remain unchanged:

  • Current release viewer version 6.4.11.551711, formerly Cachaça Maintenance RC viewer promoted on November 12 – No Change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Project Jelly viewer (Jellydoll updates), version 6.4.12.553798, January 7, 2021.
    • Custom Key Mappings project viewer, version 6.4.12.553437, January 7, 2021.
  • Project viewers:
    • Love Me Render (LMR) 5 project viewer, version 6.4.12.553511, issued on January 7, 2021.
    • Simple Cache project viewer, version 6.4.11.551403, November 12.
    • Legacy Profiles viewer, version 6.4.11.550519, October 26.
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

General Viewer Notes

Viewer Caching

  • LL are in the process of overhauling and improving the viewer’s cashing mechanisms.
  • There is already a Simple Cache  project viewer that is available (see the viewer list above). This will be progressing to RC status soon.
  • A further project by Callum Linden is to improve the caching and loading of textures within the viewer. No ETA at present as to when a project viewer for this will surface.
  • Mention was made in 2020 about detaching the viewer UI rendering from scene rendering in order to improve viewer performance. This work is still in the discussion/ initial development stages.

Viewer Rendering Situation (Moving from OpenGL)

Work on updating the viewer’s rendering API to something more recent than OpenGL (which is to be deprecated by Apple anyway) has hit an issue. Vulkan had been looked to as a replacement for OpenGL. However

  • Logging added to the viewer to assess the capabilities of users’ home systems has revealed that around 20% of existing Windows users have systems that cannot support the Vulkan API (e.g. due to their GPU – notably those with Intel graphics). However, this figure is mixed:
    • It may be conservative, as there are users who are accessing SL with older viewers without the necessary logging, so it could be higher, or
    • The data isn’t currently granular enough to to differentiate between users running on hardware that cannot support Vulkan and those who have suitable GPUs, but simply haven’t updated their drivers.
  • This means the work on any potential move to an API change has paused while LL assess options.
  • One course of action might be to add some form of abstraction layering in the viewer, such that those able to support a more recent API do so,whilst older systems continue to use OpenGL – but decisions of direction / options have yet to be finalised.
  • Another issue with updating the rendering API is the risk of content breakage if an incoming API handles some rendering features in a substantially different manner to OpenGL.
  • One aspect related to systems used to access SL lies within LL’s own Recommended specs page, which continues to list GPU options that are well out-of-date. For example, the basic “recommended” Nvidia GPUs are listed as GeForce 9 series / GeForce 200 series, which ceased being supported by Nvidia in 2016.

ARCTan

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering either in the viewer. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

As of January 2020 ARCTan has effectively been split:

  • Viewer-side changes, primarily focused on revising the Avatar Rendering Cost (ARC) calculations and providing additional viewer UI so that people can better visibility and control to seeing complexity.
  • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.
  • The belief is that “good” avatar ARC values can likely be used as a computational base for these rendering calculations.

Status

Focus on this project was reduced due to the to concentrate on the Uplift project work, so the last couple of months of 2020 saw little direct progress. Vir hopes to be able to turn his attention back to it “before too long”.

In Brief

  • As is common for the start of a year, priority lists are currently being reviewed and updated.
  • Graphics updates: as well as the current LMR 5 project viewer with fixes for graphics issues, the Graphics team are also working on other issues, such as rainbows having the colour spectrum inverted  (i.e. appearing as VIBGYOR rather than ROYGBIV). However, it is until to fix the sorting issue that causes the Moon to appear in front of rainbows.

Date of Next Meeting

  • Thursday, February 4th, 2021.

2020 CCUG meeting week #51 summary

Whimberly, October 2020 – 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 17th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar.

The venue for meetings is the Hippotropolis camp fire.

SL Viewer

No changes through the week to the current crop of viewers:

  • Current release viewer version 6.4.11.551711, formerly Cachaça Maintenance RC viewer promoted on November 12 – No Change.
  • Release channel cohort:
    • Dawa Maintenance RC Viewer, version 6.4.12.553723, December 15.
    • Custom Key Mappings project viewer, version 6.4.12.552100, November 12.
  • Project viewers:
    • Project Jelly project viewer (Jellydoll updates), version 6.4.12.552224, December 4.
    • Simple Cache project viewer, version 6.4.11.551403, issued on November 12.
    • Legacy Profiles viewer, version 6.4.11.550519, October 26.
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

General Viewer Notes

  • The two RC viewers are vying for promotion to release status. However, the next promotion is unlikely to come until the new year.
  • The Profiles viewer, the Simple Caching viewer and the Project Jelly viewer are almost in a position to be promoted to RC status.
  • There are some viewers waiting on QA – such as the next graphics fixes viewer (the Love Me Render viewer).

“Thanksgiving Bakefail” Issue and Current Outfit Folder Problems

  • As a result of the “Thanksgiving Bakefail” issue that saw a portion of users unable to rez their avatars beyond a cloud status,  LL have been working on the back-end systems to make this kind of event less likely. This will also involve changes to the viewer as well,  so the work will “take a while” to complete.
  • Essentially, these kind of issues are the result of multiple versions of the Current Outfit folder appearing in inventory, resulting in the viewer and the Bake Service coming into conflict over which version is the “current” version,  so appearance updates fail.
  • The corrective action will be to ensure the back-end services (Bake, etc), have primacy for creating the Current Outfit Folder, and removing the viewer’s ability to do so.
  • The problem has arisen because historically, to speed inventory loading, the viewer has been able to initiate creation of folders, including essential system folders.

In Brief

  • Creators still feel the cost of Animesh (in terms of LI) is too high.
    • Vir hopes to re-visit the overall cost of Animesh, but reminded people that “too high” is a relative term; the cost of Animesh in terms of rendering and impact is actually a lot more accurate than is currently given for other items (hence the ARCTan project).
    • However, he acknowledges that the rendering cost formulas for avatars and in-world objects do have issues (again, hence ARCTan project).

Date of Next Meeting

  • Thursday, January 7th, 2021.

2020 CCUG meeting week #49 summary

Grauland, October 2020 – 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 3rd 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar.

The venue for meetings is the Hippotropolis camp fire.

SL Viewer

A new Maintenance RC viewer, version 6.4.12.553053, was release on Thursday, December 3rd. Otherwise, the current selection of official viewers remains unchanged:

  • Current release viewer version 6.4.11.551711, formerly Cachaça Maintenance RC viewer promoted on November 12 – No change..
  • Release channel cohorts:
    •  Custom Key Mappings project viewer, version 6.4.12.552100, November 12.
  • Project viewers:
    • Simple Cache project viewer, version 6.4.11.551403, issued on November 12.
    • Project Jelly project viewer (Jellydoll updates), version 6.4.11.551213, November 2.
    • Legacy Profiles viewer, version 6.4.11.550519, October 26.
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

ARCTan / Jellydoll / Imposter Avatars

  • Vir has most recently looking at timers / frame rate variability.
  • As a reminder:
    • The current ARCTan work is focused on the viewer-side updates to avatar complexity calculations.
    • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.

Graphics

  • Work has commenced on separating out the rendering of viewer UI elements from scene rendering.
    • The reason for this is that the UI currently gets rendered on per frame basis, which is performance expensive on what is essentially a relatively static element of the viewer.
    • The aim is to revise the UI such that it is only re-drawn was needed, and it is hoped this will result in a performance gain in terms of viewer frame rates.
    • When this work is in a condition where it can be released, it will appear in its own project / RC viewer, and not as a part of the Love Me Render graphics-specific viewer pipeline.
  • No news on work for replacing OpenGL.

In Brief

  • There may be an issue with the viewer ignoring avatar custom joint positions if they do not have a weight associated with them. This appears true for .DAE files exports from Maya, and possibly with exports from Blender 1.7.9.a / 1.7.9.b (although Avastar may automatically compensate for unweighted custom joints by given them a default weighting). However, it is not clear if the issue lies with the modelling software or the mesh uploader, and its been requested that those experiencing these issues check the mesh upload data to see if anything is being pruned.

Date of Next Meeting

  • Thursday, December 17th.