2021 TPV Dev meeting week #43: viewer performance + Mobile App

Mimmo, July 2021 – blog post

The following notes are taken from the TPV Developer meeting held on Friday, October 29th, 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

This list gives the status for all currently available official viewers.

  • 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

[Video: 26:10-27:38]

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.

However, for those wishing to avoid the issue, the following workarounds are offered:

  • Windows:
    • Uninstall the Second Life viewer the usual way.
    • Navigate to your Program Files folder (Win 64-bit) or Program Files (x86) (Win 32-bit); locate and delete the “SecondLifeViewer” folder.
    • Download and install the Simplified Cache viewer (the previous release viewer).
  • Apple Mac:
    • Remove the Apple Notarisation viewer from your system.
    • Download and install the Simplified Cache viewer (the previous release viewer).
    • Read the instructions on this page to work through any occurrences of unwanted notarisation warnings.

Viewer Performance Notes

[Video: 3:18-15:35]

As has been reported in these pages, the Lab is focusing on a range of performance improvements in both the viewer and on the back-end. In respect of the viewer, a new Performance Improvements project viewer has been released (linked to above. This prompted an update from Runitai Linden and Ptolemy Linden of the graphics team during the meeting:

  • The core of the viewer work thus far has been on profiling and optimisation using the Tracy debugger.
  • Results thus far are described as going “pretty well” with some systems / hardware and “not bearing much fruit” for others.
  • The Lab are keen to get feedback from users for this viewer – particularly in comparing frame rates with the current official viewer release.
  • However, the request for users to try the viewer come with the warning: it is known to suffer regular crashes, in part because LL have been playing “fast and loose” with settings, such as enabling OpenGL core profile, and also as a result of experimenting with moving some processes to background threads, etc., – although the overall effect of such thread moves is eventually to provide improved performance in stable viewers.
  • Windows 32-bit and a version for Apple will be made available in due course. However, the Apple version is subject to frame rate issues associated with the Mac build being rectified.
  • The availability of an external analysis tool that can be enabled during the viewer compile process means that a lot of the internal instrumentation within the viewer will likely be removed – notably around block timers, which can generate a lot of performance woes.

Upcoming Work

  • Future work includes adding further threading capabilities:
    •  Nat Linden working on a generic project to try to unify all the various background threads into something that can pick-up any given task, removing the need for multiple threads effectively being “asleep” for much of the time, but taking up processing cycles.
    • Runitai is working on re-writing how rigged avatar attachments are handled. This is perhaps the most frame-intensive operation performed by the viewer in trying to draw them individually (none of the operations are batched).
      • Runitai is currently working on the fork of the render pipe inside the avatar draw pool that handles this work and move it to the same machinery that handles the other draw pools,. This should hopefully enable rigged mesh rendering to be handled on a batch basis, rather than one face at a time.
        • (There are some hurdles to overcome with this, such as texture changes; however, if the work is successful this could result in a substantial reduction in the number of draw calls the viewer has to perform with avatars+rigged mesh).
      • A degree of optimisation has already been carried out with rigged meshes (e.g. not re-uploading the matrix palette for every single face when it can be re-used which should help reduce draw calls; looking at the extra load placed on the viewer by making singletons thread safe, thus causing viewer locking, etc.).
    • OpenGL textures now have a dedicated thread and GL context (LLimageGL) for processing and then re-sync’d back to the main thread, which has resolved a lot of frame stalls. This working currently encompasses all fetched textures (sky rendering and media texture rendering is still bound to the main thread).
  • Ptolemy Linden is looking into render frame stalls (e.g. due to some EEP calls getting into a loop and can cause stuttering in the viewer).
  • Uniform buffer objects have also been looked at, but it requires a further tidy-up of other code within the rendering system (e.g. handling of EEP parameters) before any real results will become visible with this work.

Increasing the Default VRAM limit from 512 MB

  • Runitai referred to the limit as misleading, as the system will use more VRAM where available, even with the limit set.
  • LL have run into problems in low-end systems running out of memory if the value is increased (possibly because Intel don’t provide an API to provide information on actual VRAM usage), and so the request was put to TPVs who have solved this issue to consider supplying the Lab with a patch they could look at, it would be appreciated.

OpenGL Replacement

[Video: 15:36-16:43 and 35:00-38:35]

As has been noted in previous meeting summaries, Apple are deprecating OpenGL on their OS. This has prompted LL to look for alternative APIs.

  • Runitai indicated that MoltenGL may be looked at specifically for Apple. This essentially provides many of the performance benefits of the Metal framework, while maintaining compliance with the OpenGL ES 2.0 API. However, any move towards this solution will require further evaluation, together with a better understanding of how possible licensing requirements might impact TPVs.
  • Beyond this, all plans remain fluid. The options primarily under consideration are:
    • 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)
  • However, a consensus has yet to be reached on the direction to be taken, the focus is on furthering an clean-up of the rendering code and improving performance on OpenGL as far as possible, then consider making the move to alternatives.

Windows 11 and SL

[Video: 28:02-30:17]

  • So far there do not appear to have been any significant issues encountered by LL  / users in using Second Life on Windows 11 as the latter is made more broadly available.
  • There are a couple of reported minor issues:
    • BUG-231041 “[Windows 11] Memory creep running with Windows Insider Beta version, when Viewer is minimised”, which has apparently yet to be confirmed as an issue with the release version of Win 11.
    • The viewer reports the OS build as: Microsoft Windows 10 64-bit (Build 22000 [and above]).
  • If anyone is encountering reproducible issues which appear to be tied to Windows 11, please file a Jira.

Update on Mobile Status

[Video: 32:45-33:52]

As has been reported elsewhere, work on the SL Mobile App for iOS has been suspended for the time being. Commenting on why and for how long, Mojo Linden (LL’s VP of Engineering) commented:

  • LL is still “very interested in moving things forward in the mobile space”.
  • The pause is liable to last “a number of weeks”.
  • The hope is that following any review, the Lab will be bringing “bigger and better things to the table”, although the pause has also been due to the need to divert resources into other work.
  • Not much more was said (in part because Mojo did not want to steal Grumpity Linden’s thunder), but there will be “more news in the future”.

In Brief

  • [Video: 1:16-1:42] Chap Linden is the new Product Manager for the viewer, taking over from Alexa Linden. He has been with the Lab for around two weeks (at the time of writing), and his responsibilities may expand in time.
  • [Video: 20:25-26:00] A general discussion on viewer build tools and simulator-side changes on the beta grid to ease viewer build testing.
  • [Video: 43:32-42:50] LL is apparently dealing with an (allegedly) China-based website that has (or had) been using the Second Life name to illegally sell cryptocurrency.
  • Kitty Barnett from the Catznip team hopes to be able to contribute her work on Linden Water occlusion (so “unseen” Linden Water is effectively ignored by the viewer, reducing the render load & improvement frame rates) to the Lab Soon™.

Grauland’s lights in Second Life

Grauland, October 2021 – click any image for full size

JimGarand has established a reputation for making his Grauland region designs as places well worth visiting. Each iteration offers something just that little different around the central idea a setting for exploration and photography mixed with the idea of each also being an environment intended for artistic expression.

As my last visit was in June, I decided to jump across and see what the current iteration holds – and was surprised to note that (in August, I believe), Jim had relocated the Grauland builds away from their long-term home of Mobile to a new Homestead region – prompting me to update the SLurl featured in past articles in this blog. On bumping into Jim on the region, he explained he decided to take a break for a couple of months to recharge, and so needed to obtain a new Homestead on his return.

Grauland, October 2021

The new setting is once again an interesting mix, a scene suggestive of an older part of a city, one overlooked by more modern skyscrapers alive with their walls of lights and neon, but separated from them to indicate that while they may be part of the same conurbation, they are not the same neighbourhood.

While there are high-rises within the main portion of the region, they are clearly older and smaller, speaking to a part of the town much older than the gleaming towers of glittering light. And while there is light and neon to be found here, it advertises establishments that might be considered unsuited to upmarket downtown spaces.

Grauland, October 2021

Caught under a twilight sky, the region is bracketed to the east and wet by a beach with pier and the tall city blocks with mountains beyond respectively. Between, it offers road that cut the buildings into tidy blocks – the majority façades, admittedly, but which offer numerous opportunities for photography.

However, that’s not the primary purpose with the build: whilst it blends that familiar sense of space with physical art elements – which I’ll come to in a moment -, the primary focus of the build is that of lighting. In this respect, I cannot stress strongly enough that the resign is viewed under its default EEP setting and with Advanced Lighting Model (Preferences → Graphics enabled (no need to also enable Shadows, etc).

Grauland, October 2021

This theme is represented in multiple ways, from the aforementioned skyscrapers with their shimmering rows of lights to represent towering floors, through the presence of the neon business signs, the lights that illuminates advertising hoardings or the streets themselves. Some of this is subtle in nature and form – such as at the Japanese noodle bar (inside and out), and elsewhere a little more obvious but still artfully presented – such as the red used at the strip club façade, compete with reflections in the puddles from a recent bout of rain.

The most striking elements of light and art however, can be found within the setting’s largest structure and around the south and west coastlines of the region. In and along these are pieces of modern art – blocks, triangles and squares, all of which have holes running through them, which offer projected lights to illuminate the inner circumference of the holes in the most engaging of effects. Further lighting can be found a long the sides of the main road, whilst further examples of lighting effects sit hidden around corners and within alleys, encouraging exploration and – again – photography.

Grauland, October 2021

SLurl Details

Dido’s Minimal art in Second Life

Nitroglobus Roof Gallery: Dido Haas – Minimal

Dido Haas has slipped back into the smaller exhibition hall of her Nitroglobus Roof Gallery – a place I’ve taken to calling “Dido’s Space”, as it was used to be reserved for her personal art selections prior to her offering it as a space other artists might use. On display is a selection of eight images Dido is exhibiting under the title of Minimal.

All of the images are, as Dido notes herself, a step away from her usual style of work on a number of levels. Noted for her elegant, posed avatar studies and art that offers a clear narrative or sentiment to entice the audience into it, Dido’s work also tends to carry with it a delicate hand with post-processing to offer works that are richly finished in terms of their photogenic depth.

With this selection, however, Dido present pieces that are lighter in the touch of post-processing (if used at all) that is minimal in its finish, thus giving us the first reflection of the exhibition’s title. Further reflections of the theme are found in the way each piece is minimal in terms of its setting and framing, together with the fact that the props, etc. used by Dido all come by way of the Minimal in-world brand. Finally, there is the placement of Dido’s avatar; for those of us familiar with her exceptional still life and avatar studies, the majority of the pieces within Minimal reduce her avatar’s presence to a minimum, encouraging use to consider the scene as a whole.

Nitroglobus Roof Gallery: Dido Haas – Minimal

And this is where the final take on the idea of the “minimal” theme can be found: each and every piece is of such a nominal nature that, a Dido herself states:

The images … depict several scenes which make you wonder ‘what is happening there’? Use your imagination and make up your own story. 

In other words, these are pieces framed without overt commentary by the artists (other than the title), leaving the audience totally free to consider each piece, thus making them pictures that should be viewed as much by our imaginations as they should be by the eye of arts appreciation.

Take Telephone Booth for example – what brought the woman to the public telephone? Is it an innocent chain of events – such as being in a remote coastal area where cell ‘phone coverage is poor; or is due to more clandestine reasons – such as trying to avoid any record of the call appearing on her ‘phones records? Is her call to a loved one or is there something more to the call? Indeed, is she even making a call – or was it chance that she was passing when the ‘phone oddly rang; or is she even interested in it at all? It sits on the hook, and her attitude suggests she has no interest in it. Is the booth a means of escape, a place to hide  – and if so, from whom or what?  So many potentials for what may have happened  – or what may follow, as each image need not be the end of its narrative, but the beginning or even the middle.

Nitroglobus Roof Gallery: Dido Haas – Minimal

Intriguing and cosy in size, Minimal is an engaging experiment by Dido, one that exposes a different side to her work, one I certainly hope to see more of.

SLURL DETAILS

2021 SUG meeting week #43 summary

The Blackwood Farm, July 2021 – blog post

The following notes were taken from the Tuesday, October 26th, 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, October 26th saw the simhosts on the SLS main channel restarted without any update.
  • Wednesday, October 27th should see the deployment of  simulator version that includes a revised implementation of PRIM_PROJECTION.
    • For the time being, it will be write only, meaning it can used in llSetPrimitiveParams but not in llGetPP. The associated wiki documentation has yet to be updated.
    • This update will also include BUG-231158 Allow llGetNotecardLine to return more than 255 bytes (to a maximum of 1023 characters).

SL Viewer

There have been no updates to the current crop on official viewers to mark the start of the week, leaving the pipelines as:

  • Release viewer: version version 6.4.23.564172, formerly the Apple Notarisation Fix RC viewer, issued September 24 and promoted October 15 – see notes below.
  • 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 including, but not possibly limited to MP3s and MP4s. LL are working towards a fix, but in the meantime, workaround are offered:

  • Windows:
    • Uninstall the Second Life viewer the usual way.
    • Navigate to your Program Files folder (Win 64-bit) or Program Files (x86) (Win 32-bit); locate and delete the “SecondLifeViewer” folder.
    • Download and install the Simplified Cache viewer (the previous release viewer).
  • Apple Mac:
    • Remove the Apple Notarisation viewer from your system.
    • Download and install the Simplified Cache viewer (the previous release viewer).
    • Read the instructions on this page to work through any occurrences of unwanted notarisation warnings.

In Brief

  • With the on-going work to analyse viewer performance using the Tracy debugger / system analyser (see my TPV Developer summaries for more), the simulator team are looking to try and leverage that work on the simulator side, once the current tools upgrade on the server-side has been completed.
  • There was a 10-minutes discussion around animated particles / revising the particle systems, but there is nothing on the card for immediate work.
  • The upcoming simhost operating system upgrade (also to follow the completion of the tools upgrade) was also discussed. Essentially there is a lot of work to be done, and the potential for regressions or other issues to occur. However, LL are planning things as carefully as possible; no overall decision as to how it will be deployed to the main grid come time for it to do so – mainly because the work has yet to start.

Grumpity Linden talks Second Life to Le Journal du Net

Second Life banner piece for the October 25th issue of JDN

Cube Republic pointed me towards an article appearing in the French on-line newsletter, Le Journal du Net (JDN), a reference site for corporate executives produced by media group CCM Benchmark. The interview is also referenced on the Lab’s official In the Press page. Entitled Second Life’s annual GDP is $650 million, the article is the banner piece for the October 25th issue of JDN, the piece in places makes for interesting reading whilst also covering ground with which many SL users may already be familiar.

The piece starts with a discussion of the recent rise of “the metaverse” as a catch-all buzzword among tech companies from Epic Games to Facebook, and outlining the fact that much of what is now being hyped was similarly hyped 18-20 years ago, with Second Life one of few platforms that actually attempted to achieve it, and which should now, by rights, be regarded as a forerunner and living example of what “the metaverse” might be.

From here, she draws on a key differentiation between Second Life and the vision Zuckerberg’s company is offering – and the barriers they may well face.

I think they themselves realized that the reputation Facebook has forged over time can be a barrier. This lack of confidence in the company exists and there will have to be a number of levers of confidence to allow those who wish to explore these virtual worlds. But it is still too early to get a clear idea. At Second Life, we ensure the privacy of our residents. For example, some assume their homosexuality in Second Life, but we know that some may live in areas of the world where their sexual orientation could lead them to prison. We are therefore extremely vigilant on this issue of data security. With the immense wealth of data in the hands of the digital giants, it will be necessary to ensure the protection of the privacy of the users of these virtual worlds.

– Grumpity Linden (aka Anya Kanevsky, Linden Lab’s VP of Product), talking to French newsletter JDN

Later in the piece, she goes on to make a key point that has helped Second life achieve its longevity and which seems to be a point missed in many of the discussions / statements by other companies wishing to stake their claim to a vision of “the metaverse”:

Everything in [Second Life] was created by our residents and not by Linden Lab employees. We just play the role of facilitator. This represents our vision of the metaverse. I don’t see how creating different games that would be connected to each other could be akin to the metaverse. In my eyes, this is content created by companies for users. For the metaverse to exist, it must be created and managed by the people who live there.

– Grumpity Linden talking to French newsletter JDN

The more familiar waters sailed by the piece include things like the 200,000 monthly unique log-ins SL enjoys, the uptick in engagement seen during the core months of the Sars-CoV-2 pandemic (and that the Lab feel they are seeing many of those who turned to the platform to remain even as the freedom to get out and about in the physical world gets easier, even if at a reduced number of hours per session). It is in these discussions that the article’s headline – SL having a GDP of US $650 million – is references, and that in 2020, users collectively withdrew a total of US $73 million from the platform (potentially hinting at an overall rise in general revenue flowing into / through the Lab over 2019),

Whilst being cagey on the Lab’s overall financial footing, the point is made that it has been profitable for a long time. This sits alongside a comment on the way in which the lab has attempted to be responsive to changing economic needs by realigning where and how it generates its income from the platform. Tilia Pay is also touched upon, together with its importance to Second Life – if not its potential as a revenue generator for the Lab as a whole; an honest assessment is also given on Sansar and immersive VR – which also hints towards the Lab’s vision looking to a future that is broader than any reliance on VR headsets.

While a number of early adopters shared their enthusiasm with us, we also observed resistance from some users. Many were not thrilled with the idea of ​​carrying these VR headsets that are quite heavy and require enough space at home to be able to use them. If virtual reality allows for an immersive and incomparable experience, we observed that few of our residents were ready to wear these helmets for more than thirty minutes. So we plan to keep trying new things around virtual reality, but VR isn’t the only possible future for Second Life.

– Grumpity Linden talking to French newsletter JDN

In terms of this broader view of the future for SL in particular, Grumpity notes the need to provide access to it “on all platforms and on different devices,” even if the experience in accessing SL is not identical across all such platforms / devices.

The article itself is relatively short, but covers some good ground in a manner that will met the needs of JDN’s general readership. It provides a good “executive summary” approach, transmitting its core information without undue exposition. In closing the piece, the journalist, Adrien Tsagliotis, offers a quote from Grumpity that mirrors something I’ve long believed myself (and is actually evidence by the reality of SL’s user numbers), and which stands as something all those hyping “the metaverse” should perhaps keep in mind:

We have observed over the years that the population as a whole is not necessarily open to living this immersive experience in a virtual world. Once the hype around the metaverse is behind us, I think we’ll observe that not everyone is necessarily interested in experiencing virtual worlds.

– Grumpity Linden talking to French newsletter JDN

Mareea’s pastels at Konect Art in Second Life

Konect Art Gallery: Mareena Farrasco

Until I remembered the invite sitting in my inventory, I hadn’t realised it’s been over a year since my last write-up on art exhibitions at Konect Art Gallery, operated and curated by Gonzalo Osuna (Jon Rain). Why this should be the case, I’m not sure – but in that time, the gallery has relocated and downsized a wee bit. Nevertheless, a return visit was most welcome, as was the reason for making it – to see a further exhibition of Mareea Farrasco’s art, which is a couple of weeks into its exhibition time at the Gallery.

Mareea is an exceptional Second Life artist who has a talent for taking the pictures she captures in-world and turning them in elegant digital paintings through a gentle and considered use of post-processing. Her work encompasses portraiture, landscapes, and still life that can represent an image reflecting a moment in time, or offer the suggestion of a large narrative for the observer to create / interpret, and can even touch upon the metaphorical in tone and meaning.

Konect Art Gallery: Mareena Farrasco

Miscellaneous is a selection of 16 images that between them incorporate all of the above, and which also highlight other aspects of Mareea’s work I so appreciate. These include the way in which she can bring a sky to life in a landscape image, for example, to give it depth and mood; her eye for angle and depth of field; her ability to bring forth the subtle richness of colours present within nature without any sense of them being overblown.

Most clearly in this selection is Mareea’s love of pastels to cast a story and / or mood. Within the landscape pieces the soft colours speak to the calmness and beauty of a late summer field or the quiet of an autumn’s evening; meanwhile, her use of greyscale and blue tints provide a sense of winter and of a sea storm angrily reaching the shore. Then there is the use of soft focus / depth of field to draw the eye to a specific aspect of an image, in one place particularly married perfectly with a minimalist view (Bon Voyage) so as to offer an entire story through just a pair of walking boots, a shoulder bag and a hat.

Konect Art Gallery: Mareena Farrasco

Where deeper shades / colours are in evidence,, these again frame stories the mind is free to interpret, and metaphors of expression that can hold our attention, the colours offering a richness of expression without overwhelming the eye.

Poised, captivating and suitable for gracing any SL home, Miscellaneous is a rich sampling of art is an engaging exhibition that should be running for at least (I believe) the next couple of weeks.

SLurl Details