2021 CCUG and TPV Developer meetings week #37 summary

A Touch of Scotland – Bluebell Coast – 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, September 16th 2021 at 13:00 SLT, and the TPV Developer’s meeting of Friday, September 17th.

With the meetings once again falling on the same week, and with the degree of overlap in content between the two, core discussion points from both have been combined into this one summary. The TPV meeting was also recorded by Pantera Północy, and her video is embedded at the end of this article, for those wishing to refer directly to that meeting.

Meeting Details

  • CCUG meetings are held on alternate Thursdays each month (generally the 1st and 3rd Thursday, subject to the vagaries of month length), with dates available via the SL Public Calendar. The venue for the CCUG is the Hippotropolis camp fire.
  • TPV Developer meetings are generally held on alternate Fridays each month, although dates are not currently listed in the SL Public Calendar. The venue for meetings is at the Hippotropolis Theatre.
  • Both meetings are currently chaired by Vir Linden, and are led using Voice, although attendees can use either Voice or text to provide input / feedback (with text generally being the preferred medium).

SL Viewer

[TPVD Video: 1:08-5:52]

Simplifying the Viewer Pipelines

LL have have hit a bottleneck in current viewer development, Essentially, projects are tending to push multiple viewers internally for testing and QA work, creating a backlog; plus there are currently multiple RC and project viewers in flight. To this end, work has started to try to merge various viewer development tracks together and combine them into more “composite” offerings where this makes sense. This has been done with the two Maintenance RCs (see below), and if successful, will pave the way for other viewer project merges in the future.

Viewer Updates

  • Maintenance RC viewer 6.4.23.563789  was issued on Thursday, September 16th.
    • As noted above, this viewer combines the former Grappa and Happy Hour RC viewers into a single viewer.
    • This RC also now makes Push to Talk with Voice the default behaviour. To change this, open Me → Preferences → Controls, then scroll down to Sound and Media, then click Primary Control for Toggle Voice and finally press Middle Mouse Button (MMB) for legacy behaviour.
    • However, these is a issue with this (see: BUG-231212 “[Maint G+H] Toggle speak on/off when I press button conflicts with key binding Controls”), which LL plans to address via a hotfix.
  • The Simplified Cache viewer updated to version 6.4.23.562623 on Friday, September 17th.

Remaining Viewer Pipeline

The rest of the official viewer pipelines remain unchanged from the start of the week:

  • Release viewer: version version 6.4.22.561752, formerly the CEF Update RC viewer, issued July 24 and promoted August 10th.
  • Release channel cohorts:
    • Simplified Cache RC viewer, version 6.4.22.561873, dated August 9th.
  • Project viewers:
    • 360 Snapshot project viewer, version 6.4.23.563579, issued September 3rd.
    • Performance Floater project viewer, version 6.4.23.562625, issued September 2nd.
    • Mesh Optimizer project viewer, version 6.4.23.562614, issued September 1st.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26th, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9th, 2019.

General Viewer Notes

  • LL are specifically looking for feedback on the 360° Snapshot project viewer and the Performance Floater viewer ahead of these being moved forward.

Mojo Linden

[TPVD Video: 6:22 onwards, interspersed with other discussions]

Mojo Linden, AKA Andrew Kertesz, the Lab’s new VP of Engineering, attended the TPV Developer meeting.  After giving a run-down of his career, he spoke about Second Life and responded to questions and feedback from those at the meeting.

Rather than cover his comments here – where it may only be read by those specifically interested in matters relating to the viewer / the CCUG meeting – I have attempted to offer a summary of his comments, with audio, and written context for his feedback based on the questions from those at the TPVD meeting. See: Mojo Linden, the Lab’s new Engineering VP discusses SL at TPVD meeting.

Avatar Discussions

The core of the CCUG meeting focused on mesh avatars and issues of complexity, performance, usability, etc. Taking the discussion in order:

  • Bakes on Mesh related issues:
    • The left arm/leg asymmetry (to allow things like independent left arm / right arm  tattoos) is seen as incomplete / complex / unworkable (e.g. having to use new channels that are “incompatible” with skin handling compared to the “old” channel, the limited use of the UV map by the left arm / keg (around 10%, etc.). Some have managed their own workarounds to this (e.g. by using the hair channel), but an official fix is seen as preferable. While this is seen as possible, it a) isn’t likely to be seen as a priority item; b) raises concerns over content breakage as a result of further changes.
    • The fact that the alpha wearable does not recognise the new channels introduced with BOM, and so it is possible to end up with the right arm alpha’d as expected, but the left are still visible, which is unwanted. While a Jira has been received to produce a new alpha wearable, this has yet to be implemented.
  • There are reports that people arriving in regions are seeing some avatars with “faces [initially] pasted on the back of their heads”. It is thought (by other users, not the Lab) the primary cause of this is the Lelutka Evo X head using a non-standard UV, and the Bake data arriving in the viewer ahead of the mesh head data (which corrects it).
  • Avatars and performance:
    • As most are aware, a significant hit on performance comes from the fact that mesh avatars are pretty poorly optimised. Beq Janus and Elizabeth Jarvinen (polysail) have been investigating just how hard segmented avatars impact people’s systems, and the results of their work has been summarised by Beq in a couple of technical, but well worth reading blog posts:
    • One suggestion is to implement a means to algorithmically generating the collapsed mesh – or to put it another (simplistic) way: “bake” the entire avatar: body, clothing, attachments, into what would effectively be a composite mesh with fewer faces, limited (or no) body segmentation etc. But exactly how this would be achieved, and what would be required (and exactly how it would work in terms of making on-the-fly changes to attachments, etc.), is unclear.
  • Calls were made to completely replace the SL skeletal rig completely, which lead to a discussion of the flexibility of the rig compared to capabilities found in Unreal Engine and Unity (two engines oft cited as examples of the engine Second Life “should” have). Animator and creator Medhue Simoni questioned the value, pointing out that from a professional standpoint, he finds the SL rig far more capable for avatar creation than the commercial offerings (which is not to say that as capable as it might be, there are not serious issues with the SL rig).
  • The subject of having a new default avatar in SL was raised, with fingers pointing to Patch Linden’s comments at SL18B, which can be found summarised (with a link to the discussion point in the official video) here.
  • The issue with any new avatar system is that it encompasses significant areas of work – the rig, the meshes, the animation system, improved IK, etc.

Two-Factor Authentication

[TPVD Video: 29:46-29:59]

This has been a long-requested capability and something the Lab has been working on for some time.

According to Grumpity Linden we should – with fingers crossed – be seeing some form of announcement on the on Monday, September 20th.

In Brief

  • [CCUG] The Graphics team currently remain primarily focused on drilling down into the data being gathered by the Tracy debugger / system analyser.
  • [CCUG] User Joe Magarac (animats) has been experimenting with better asset loading prioritisation based on screen area. This is something the viewer doesn’t usually do. The video below gives an example of his results (although you might want to turn the sound down a little, if you have speakers on!).

This appears to work well with the cases shown in the video, but as was noted by Animats (and othera) in the meeting:

    • As presented, the code doesn’t currently account for faces using the same texture.
    • Further work is required to account for off-scale meshes that are corrected using prim scale, and with rigged meshes, which don’t report their on-screen size.
  • [TPVD] Some considerable time ago, TPV developer NiranV Dean submitted a contribution to LL for a pose system that propagates avatar poses/animations between viewers for multi-avatar posing. This has been “on hold” for a while, with a promise that discussions should be resumed.
    • Mojo Linden indicated that puppeteering is something the Lab is actually actively discussing / thinking about.
  • [TPVD] Kitty Barnett (Catznip) has been testing scene optimisation through the viewer and has encountered a problem where if a scene is “over optimised”, viewer frame rates collapse until complexity is added back to the scene (such as by enabling shadow rendering).  The precise cause is still TBD, but appears to be related to random OpenGL calls being generated, possibly by the Nvidia GPU, or as a result of a debug setting, or even a flush call being missed, and too much render information being queued at once.
  • [TPVD] Firestorm has been compiling a list of “most wanted” fixes and improvements based on feedback received from their user base by way of feature requests filed with them, questions put to their various language support teams, direct comments, developer experience in handling the viewer code, etc. This is to be submitted to Linden Lab so that they might seen common trends / requests from users.

2021 SUG meeting week #37 summary

Missing Melody, May 2021 – blog post

The following notes were taken from the Tuesday, September 14th, 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

At the time of writing, the server deployment thread had not been published.

  • Tuesday, September 14th: no deployment to the Main SLS channel.
  • Wednesday, September 15th all simhosts should be updated to the same revisions to the new server configuration that was deployed to the Ferrari RC in week #36.

HTTP-Out Proxy

Monty Linden deployed the new HTTP-out proxies in week #36. It wasn’t entirely glitch-free (but not as bad as the August attempt), with issues occurring in a part of the configuration that didn’t allow for immediate correction. Monty hopes that the lessons learnt with make future deployments smoother.

SL Viewer

No updates to the current batch of official viewers to mark the start of the week, leaving the current pipelines as follows:

  • Release viewer: version version 6.4.22.561752, formerly the CEF Update RC viewer, issued July 24 and promoted August 10.
  • Release channel cohorts:
    • Grappa Maintenance RC, version 6.4.23.563012, dated August 24.
    • Happy Hour Maintenance 2 viewer, version 6.4.23.562602, issued August 23 (dated August 20).
    • Simplified Cache RC viewer, version 6.4.22.561873, dated August 9.
  • Project viewers:
    • 360 Snapshot project viewer, version 6.4.23.563579, issued September 3.
    • 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.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • The question was asked on why, when set using llCollisionSound, the sound heard on colliding with an object will revert to the default if the script making the change is removed, rather than being retained as a prim property (like other sounds “scripted into” an object). This is because currently, the sound remains a property of the script, but there are plans to make it consistent with other prim properties.
  • LL are working on “stuff” (Mazidox Linden’s term) to help with more efficient script running within regions. The precise details remained unspecified, although some aspects of the work are already on at least some of the RCs channels, and the hope is to get more grid-wide by the end of the year.
  • The Percentage Script Run metric within the viewer stats (CTRL-SHIFT-1) is not seen by the Lab as a particularly useful metric when compared to something like total scripts run, as the Percentage Run metric can depend on circumstance, rather than being indicative of actual simulator performance.
    • Example: a region running 1000 out of 1000 scripts in a frame will report 100%, whilst a region running 1000 out of 10,000 will report 10% – but both are processing the same number of scripts, and so performing equally in this regard.
    • Monty Linden also pointed out that the Percentage Run metric can easily be warped simply by the behaviour of a single script, and noted he has some new internal metrics he is testing that he hopes might provide a better perspective of script performance within a region.
  • The above points led to an open discussion on script processing as a whole: the use of “fairness” policies to prevent parcels within a region making too heavy a call on simulator / simhost resources (including being swamped by heady script loads on avatars, etc.); allocating script memory size; general ideas on improving script efficiency through the use of things like regular expressions; etc.
    • This conversation included a comment from Rider Linden that LL would be interested in the Firestorm script pre-processor were it to be contributed.
    • The suggestion was made that LL could provide HTTP-out access using the AWS Dynamo DB for those who need bigger KVP databases – and it was pointed out that users can always rent their out Dynamo DB stack.
    • No specifics on what the Lab might or won’t do vis scripts and script management, although Monty Linden revealed he’s been personally speculating on the advantages (or otherwise) of “higher level functionality” in the LSL libraries so that “more could be done with less code” – although he has only general ideas of possible functions in this regard.
    • See the video for more on specifics.

2021 viewer release summaries week #36

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

Updates from the week ending Sunday, September 12th

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 6.4.22.561752, formerly the CEF update viewer, dated July 24th, promoted August 10th – No change.
  • 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 SUG meeting week #36 summary

Zephyr, May 2021 – blog post

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

At the time of writing, the server deployment thread had not been published.

  • Tuesday, September 7th: no deployment to the Main SLS channel.
  • Wednesday, September 8th should she all of the the remaining simhost on the SLS RC channels (Magnum, BlueSteel, Le Tigre and Ferrari) moved to the new AWS server configuration as mentioned here, which will cause some incidental changes to how mesh land impact is calculated, but the primary change will be a small but noticeable bump in speed for most regions.
    • The new configuration can also cause a slight variation on floating point rounding that can show up in Land Impact calculations under rare circumstances. However, LL believes the impact is going to be so limited, it’s unlikely most people will notice.
    • In addition, RC Ferrari may get an update to the simulator configuration, if cleared by QA.

HTTP-Out Proxy

Monty Linden is also going to attempt a fresh deployment of the new HTTP-out proxies. The original deployment in late August went sideways very quickly. The hope is that this deployment will go a lot smoother. HTTP listeners are not changed by this update.

SL Viewer

No updates to the current batch of official viewers to mark the start of the week, leaving the current pipelines as follows:

  • Release viewer: version version 6.4.22.561752, formerly the CEF Update RC viewer, issued July 24 and promoted August 10.
  • Release channel cohorts:
    • Grappa Maintenance RC, version 6.4.23.563012, dated August 24.
    • Happy Hour Maintenance 2 viewer, version 6.4.23.562602, issued August 23 (dated August 20).
    • Simplified Cache RC viewer, version 6.4.22.561873, dated August 9.
  • Project viewers:

In Brief

  • Work is still progressing on the tools update.
  • The majority of the meeting involved a general discussion (largely among users present) as to the merits of providing support for Scalable Vector Graphics (SVG) and animated gifs; the cloning of regions, a concern that the lack of defragmentation in the KVP (experiences) database might lead to issues for those reaching the limits of their allowed space (to be investigated), and a texture issue apparently specific to a single Skill Gaming region (referred to support). As this discussion did not yield definitive news / options for action / response by the Lab, please refer to the video below for further information.

2021 viewer release summaries week #35

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

Updates from the week ending Sunday, September 5th

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 6.4.22.561752, formerly the CEF update viewer, dated July 24th, promoted August 10th – No change.
  • Release channel cohorts:
    • No updates.
  • Project viewers:

LL Viewer Resources

Third-party Viewers

V6-style

  • No updates.

V1-style

Mobile / Other Clients

Additional TPV Resources

Related Links

Lab issues updated Project 360 Capture viewer

via Linden Lab

On Friday, September 3rd Linden Lab issued the latest update to the 360º Snapshot viewer – now called the Project 360 Capture viewer – with the release of version 6.4.23.563579. It represents the most significant update to this viewer we’ve seen, and it comes after a significant pause in its development.

As the name of the viewer suggests, it is designed to take 360º degree panoramic images of the environment around the camera. It does this by simultaneously taking six images around the current camera position – one each at the four cardinal points, plus one directly overhead, and one directly looking down. These are then “stitched” into an equirectangular projection image (e.g. one that can be projected as a sphere), which can then viewed through a suitable medium – such as Flickr (other mediums are available!).

An “unwrapped” Maximum quality 360º image captured using the Project 360 Capture viewer, showing the 6 captured images “stitched” together (click on this image to see it in 360º format in Flickr)

The first iteration of this viewer appeared almost five years ago, in October 2016, and came with a certain amount of complexity involved – including the need to install a local environment for previewing captured images. Later iterations of the viewer improved on this, but the viewer continued to be hit by conflicts with the Interest List.

In simple terms, the Interest List lightens the load – objects, textures and updates to active objects, etc., – the viewer has to process when rendering. It does this by ignoring things that are not in the camera’s direct field of view. This is why, for example, when you turn your camera away from the direction you are looking, it can take time for objects and their textures to render. However, for a 360º-degree image, everything needs to be properly rendered in the viewer – whether in the current field of view or not. Overcoming this problem has proven difficult – and it (admittedly with other factors also coming into play) caused work on the viewer to be halted for an extended period.

This version of the viewer overcomes most of these issues, and makes the creation of 360º snapshots straightforward through the use of a new 360 Snapshot floater that is independent of the “standard” snapshot floater, and the use of some additional back-end code to overcome the Interest List. This new floater can be accessed from within the Project 360 Capture viewer in one of four ways:

  • Via World 360 Snapshot.
  • By pressing CTRL-ALT-SHIFT-S.
  • By enabling the 360° snapshot toolbar button in one of the toolbar areas.
  • By expanding the standard snapshot floater to show the full preview and clicking the Take 360 Snapshot link in the lower right corner of the preview panel.
Accessing the 360 snapshot floater (this can also be done via CTRL-ALT-SHIFT-S or by expanding the standard snapshot floater to show the full preview and clicking the Take 360 snapshot link in the lower right corner of the preview panel

The floater itself comprises several elements:

  • The image Quality radio buttons and selection button (labelled Create 360 Image).
    • The quality buttons appear to utilise the viewer’s screen buffer to render the different image types, so Preview appears to use the 128 vertical buffer, while Medium and High use the 512 and 1024 buffers respectively, and Maximum the 2048 buffer (i.e. the full 4096×2048 resolution).
    • When you have selected your preferred quality, click the Create 360 button to generate a preview.
    • If you alter the image quality at any time, you’ll need to click on the Create 360 button again to update the preview / take a fresh image at the new image quality.
  • A checkbox to disable avatar rendering during the image capture process.
  • The preview panel. This will show a rotating image from the current camera position until refreshed, and this image can be manually rotated / panned up and down by clicking on it and dragging the mouse around.
  • The Save As… button that actually saves the image to your hard drive.

To take an image:

  1. Position your camera.
  2. Select the image quality – for finished images you’ll need to set High or Maximum quality using the radio buttons.
  3. Click the Create 360 Image button to generate a preview in the floater’s preview panel.
  4. Click on the preview image and drag it around to ensure what you’re seeing is what you want / that things like textures have actually rendered correctly.
  5. Check the Hide All Avatars option, if required – this will cause the process to include all avatars present (it will not alter their in-world rendering).
  6. When you are satisfied with the preview, click Save As… to save it to your hard drive, renaming it if / as required.

Remember, if you change the image quality, you must also click Create 360 button to update the preview AND image capture process to the new image quality, before click Save As… again.

Once captured – again as noted – images can be uploaded to a suitable display platform such as Flickr – the images contain the necessary metadata that should automatically trigger the 360-degree viewing process (just click on an image in flicker to manually pan around up / down).

An “unwrapped” Maximum quality 360º image captured using the Project 360 Capture viewer, showing the 6 captured images “stitched” together (click on this image to see it in 360º format in Flickr)

General Observations

  • An easy-to-use iteration of the 360º snapshot viewer that brings good quality and ease-of-use to the process.
  • The ability to avoid rendering avatars not only helps avoid issues of rendering / motion blurring when taking a 360º image, it enables the easy capture of landscape images. It also, obviously, allows for the capture of posed avatars if required.
  • There are still some issues in rendering out-of-view (relative to the visible field of view for the camera) items and textures at High and (particularly) Maximum quality images – note the blurring of the vessel name in the first 360 image above.
  • The lowest quality Preview option is simply too blurred to be of real value – perhaps using 256 rather than 128 might improve this (if only slightly)?

Viewer Links