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.
- 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).
[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.
- Maintenance RC viewer 220.127.116.113789 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 18.104.22.1682623 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 22.214.171.1241752, formerly the CEF Update RC viewer, issued July 24 and promoted August 10th.
- Release channel cohorts:
- Simplified Cache RC viewer, version 126.96.36.1991873, dated August 9th.
- Project viewers:
- 360 Snapshot project viewer, version 188.8.131.523579, issued September 3rd.
- Performance Floater project viewer, version 184.108.40.2062625, issued September 2nd.
- Mesh Optimizer project viewer, version 220.127.116.112614, issued September 1st.
- Legacy Profiles viewer, version 18.104.22.1680519, dated October 26th, 2020.
- Copy / Paste viewer, version 22.214.171.1243365, 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.
- Note that the Performance Floater only presents a new UI element, but does not contain any revisions to the existing performance tools – see: Lab Issues Performance Floater Viewer for Feedback.
- An overview of the 360° Snapshot viewer can be found here.
[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.
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.
[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.
- [CCUG] The Graphics team currently remain primarily focused on drilling down into the data being gathered by theTracy 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.