2018 SL UG updates #5/1: server, viewer

 R.A.H.M.E.N.L.O.S.; Inara Pey, January 2018, on Flickr R.A.H.M.E.N.L.O.S.blog post

Server Deployments

As always, please refer to the server deployment thread for the latest news and updates.

  • On Tuesday, January 30th, the Main (SLS) channel was updated with server maintenance package #18.01.17.511913, which comprises internal fixes.
  • There are no scheduled deployments for either the Magnum or LeTigre RC channels planned for Wednesday, January 31st, 2018. A deployment to the BlueSteel RC has been indicated, but no deals were available at the time of writing.

SL Viewer

A new Media Update RC viewer was released on Tuesday, January 30th, 2018. Viewer 5.1.1.512264 includes updates to the built-in media support that were not quite ready to be integrated when the 64 bit Viewer (Alex Ivy) was released. These include various fixes, updates, security patches and improvements for CEF (Chromium Embedded Framework) that is the basis for the built-in web browser and VLC that provides support for video media playback. Fixes are included to Dullahan (the third-party library that uses CEF) as well as all the media plug-in code itself. As per the Alex Ivy 64 bit viewer, there is no Linux version.

Otherwise, the SL viewer pipeline remains as:

  • Current release viewer: version 5.1.0.511732, dated January 9th, promoted January 16th. Formerly the Alex Ivy Maintenance RC – 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 viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

Other Items

Joe Magarac (animats) continues to look into region crossings with vehicles. As noted in my previous update, he’s learning-by-doing, and testing ideas with a self-compiled version of Firestorm (see this forum thread for more). He currently believes he has workarounds for vehicle animations topping on a crossing and bad camera positions after a crossing. His workarounds are a scripted camera re-set of the camera and animation re-start. Not ideal, and as he noted at the Simulator User Group meeting on Tuesday, 30th January, 2018 – the preferable solution would be a server-side fix.

Part of the problem is that vehicle region crossings are extremely complex, as Simon Linden notes:

The avatar and object are disconnected, passed to the new region, then re-assembled. It’s supposed to be transparent, of course, but things get weird when any part gets slow or fails

One of the things that can go wrong is what is being referred to as a “half unsit” situation, where the vehicle crosses to the next region but the avatar is stuck in the old one and unable unsit, move or teleport, leaving only a relog as a means to recover. The problem is recognising where things break: is it a server-side problem, something in the viewer or the result of a race condition?  In theory the hand-off of a vehicle and its passengers should commence until the root prim of the vehicle actually crosses the boundary. This is to prevent avatars sitting on the vehicle in advance of the root prim being handed-off and the vehicle then turning back, possibly leaving the avatars stranded in the neighbouring region.

Simon’s thinking is that the receiving region is doing a more than it should while it waits for everything to come together, potentially attempting to move an avatar and / or run scripts before everything is available to put back together correctly. He also acknowledges that specific issues can be difficult to reproduce and so solve.

2018 UG updates #4/2: TPV Developer meeting

La Vie; Inara Pey, January 2018, on FlickrLa Vieblog post

The following notes are taken from the TPV Developer meeting held on Friday, January 26th 2018. The video of that meeting is embedded at the end of this update, my thanks as always to North for recording and providing it. Time stamps in the text below will open the video in a new tab at the relevant point of discussion.

Viewer Pipeline

[0:00-1:25] The Voice RC viewer updated to version 5.1.1.512121 on January 26th, bringing it to parity with the Alex Ivy release viewer. The reaming viewers in LL’s pipelines remain as:

  • Current Release version 5.1.0.511732, dated January 9th, promoted January 17th. Formerly the Alex Ivy Maintenance RC – NEW.
  • Release channel cohorts:
    • Nalewka Maintenance viewer version 5.1.1.511871, January 17th.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17th, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer version 3.7.28.300847, May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Forthcoming Updates

  • The Voice RC is the next in line for promotion to release status, and this could happen in week #5 (commencing Monday, January 29th, 2018).
  • The Animesh and Project Render project viewers both have new updates in QA.
  • There is a new project viewer for media handling (with updates to the latest version of the Chrome Embedded Framework) also due to be made available.
  • A further 64-bit update is in the works.

Environment Enhancement Project (EEP)

Project Summary

A set of environmental enhancements, including:

  • The ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level.
  • New environment asset types (Sky, Water, Days – the latter comprising multiple Sky and Water) that can be stored in inventory and traded through the Marketplace / exchanged with others.
  • Scripted, experience-based environment functions, an extended day cycle and extended environmental parameters. This work involves both a viewer updates (with a project viewer coming soon) and server-side updates.

Current Status

[12:25-15:43] Rider Linden now has a test simulator on Aditi where he is able to successfully apply windlights at the parcel level. The work will now allow windlight settings to be applied by height above ground, but this will likely be fixed ranges defined on the simulator rather than allowing completely arbitrary heights for different windlight settings, as can be done viewer-side with some TPVs at present.

General Discussions

Level of Detail / RenderVolumeLODFactor

[4:17-5:21] The latest Firestorm release, 5.0.11.53634, has altered the behaviour of the debug RenderVolumeLODFactor so that changes with set it to any value higher than 4.00 will not persist across log-ins (see my Firestorm release overview here for more). The Lab is now considering implementing a similar change within the official viewer.

Land Impact / Avatar Complexity Calculations

[5:33-5:52] I’ve referred to this project a number of times, which is intended to gather more representative data on the actual cost of rendering object in-world and the cost of rendering avatars and their attachments, with a view to revisiting the formulas used in calculating them, to see if anything can be done to make the calculations more representative of the “real” rendering costs (allowing for issues such as the potential to break content). It is currently hoped that the Lab will have enough data on this in the next for weeks to start carrying these investigations forward.

[27:13-28:12] One of the reasons often cited for creating one very detailed level of detail (LOD) model and a very low LOD model, rather than a number of LOD models (high, medium, low and lowest), is that the latter can penalise the finished model’s overall Land Impact (LI). This is something the Lab is going to be looking at in order to try to remove / reduce disincentives to making optimised content for SL as a part of this work.

[28:35-30:25] These updates are likely to affect the LI of existing and rezzed content. However, they will not be made in Q1 of 2018. Instead, the Lab plan to carry out simulator-side testing to ensure whatever changes that are decided upon cause as little disruption as possible, and will offer a strategy to help people transition to the new system to try to avoid any unnecessary item returns, show the revised formula run the risk of some content being returned when implemented (this might even comprise an increase in land capacity, if the difference between the “old” and “new” LI calculations aren’t too big). Improved tools for understanding LI are also planned as part of this work.

[31:08-31:47] To help people understand LI, content building, etc., Oz Linden has been trying to get more of the Lab’s own documentation on design and building to where it can be seen in public. This also extends to making more of the Lab’s own scripts being made available for public viewing.

Camera Presets Project

[7:09-8:00] Jonathan Yap is moving ahead with his camera presets project (see here and STORM-2145). This will most likely include Penny Patton’s recommendations for improved camera placement as one of the default sets of camera presets.

AIS Project

[8:51-10:28] The Lab is initiating a further Advanced Inventory System (AIS) project. this project will initially be focused on bug fixes, then will include looking for opportunities to deprecate old UDP-based inventory operations in favour of AIS – this work will likely take several months to complete, once started. Once any patches related to this have been made available to TPVs (with time given for them to be implemented), inventory UDP messaging will be turned off at the simulator end.

Texture Rendering and Caching

[16:05-17:15] Kitty Barnett has been looking at texture fetching/decoding and has noted some issues around discard levels in the viewer. Oz Linden would like to learn more on this.

In the meantime, the Lab’s own attempt to re-work how texturing caching works in the viewer hasn’t produced the results LL had hoped (e.g. improving the amount of textures which can be loaded per second). However, tests will continue in the hope that improvements can be gained. If the work is successful, then the Lab will look towards improving object caching as well.

Inventory Folders and Load Times

[18:52-20:50] Inventory and folders:  the recent change (current SL maintenance RC viewer and Firestorm 5.0.11) to include folders in the total inventory count has raised concerns about increasing inventory load times.

The Lab’s rule-of-thumb remains one of balance:

  • Individual folders with tens of thousands of item in them (object, links, sub-folders) – including trash – can cause the inventory load process to freeze, due to the way folders are individually loaded at log-in. Therefore, these are best avoided.
  • Conversely, having an individual folder for every single item – or just very small number of items can cause lots of little fetches that don’t achieve very much.

Therefore, somewhere between these two extremes is preferable.

Other Items

  • A resource has been made available to update the wiki documentation on the new viewer log-in screen widget.
  • There is liable to be something of a focus on the render pipe (there’s already the rendering project viewer in the pipeline), as a resource with SL rendering expertise has returned to the fold from Sansar.

Next TPVD Meeting

[1:35-2:05] The next Third-Party Developer meeting is set for Friday, February 16th, 2018 (although in theory this should be a date for the Web User Group meeting, which usually alternates with the TPVD meeting).

2018 UG updates #4/1: server, viewer

Tralala’s Dinerblog post

Server Deployments

As always, please refer to the server deployment thread for the latest news and updates.

  • There was no deployment to the Main (SLS) channel on Tuesday, January 22nd, leaving it on server maintenance package #18.01.08.511751 with internal logging improvements.
  • On Wednesday, January 23rd, the RC channels should be updated to server maintenance package #18.01.17.511913, with further internal fixes.

SL Viewer

The Voice RC viewer updated on Wednesday, January 23rd to version 5.1.1.511952 on Tuesday, January 23rd. This brings the viewer to parity with the Alex Ivy viewer (the current release viewer), and so is offered in 64-bit for OS X and both 32-bit and 64-bit for Windows. Depending on how this version performs over the next week or so, it may be the next in line for promotion to release status.

The remaining viewers in the current pipeline remain unchanged from the end of week #3:

  • Current Release version 5.1.0.511732, dated January 9th, formerly the Alex Ivy Maintenance RC – NEW.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Nalewka Maintenance viewer version 5.1.1.511871, January 17, 2018.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

Other Items

Joe Magarac (animats) has been working to try to improve some of the viewer-side code which handles regions crossings – specifically in reference to vehicle crossings. He’s learning-by-doing, and testing ideas with a self-compiled version of Firestorm, although his work might be present in a future Firestorm release. He’s been recording his efforts in a forum thread (gaining some helpful and some less-than-helpful feedback), and providing updates at the last couple of Simulator User Group meeting. Anyone wishing to help or who can offer advice / ideas can reach Joe via the forum thread.

January 2018 Web User Group Summary

Grumpity and Alexa Linden host the Web User Group meetings on alternate Fridays at Alexa’s barn.

The following notes are taken from the Web User Group meeting held on Friday, December 19th, 2017. These meetings are generally held on alternate Fridays, and chaired by Alexa and Grumpity Linden at Alexa’s barn. The focus is the Lab’s web properties, which include the Second Life website (including the blogs, Destination Guide, Maps, Search, the Knowledge base, etc.), Place Pages, Landing Pages (and join flow for sign-ups), the Marketplace, and so on and the Lab’s own website at lindenlab.com.

Not all of these topics will be discussed at every meeting, however, the intention within the group is to gain feedback on the web properties, pain points, etc., and as such is very much led by comments and input from those attending. Along with this are two points of note:

  • Specific bugs within any web property  – be it Marketplace, forums, Place Pages or anything else), or any specific feature request for a web property should be made via the Second Life JIRA.
  • Alex Linden provides routine updates on the Lab’s SL-facing web properties as and when appropriate, which can be found in the Second Life Web thread.
  • Note that the SL forums are not covered by the Web User Group, as the management of functionality of the forums falls under the remit of the Support Team.

Lindens in the Web Team

A number of Lindens attend the Web User Group meetings in addition to Grumpity and Alexa (who are part of the Second Life Product team). While they may not be present at every meeting, Lindens staff directly involved in supporting the SL web services include:

  • Spidey Linden: QA Lead for SL Web and Marketplace.
  • Shrike Linden:  a QA tester on the Second Life web team.
  • Nazz Linden: a web developer who has thus far primarily worked on secondlife.com and the Place Pages.
  • Natty Linden: a web developer with a focus on the Marketplace.
  • Sherbert Linden: a web developer working on various SL web properties.

Support Portal Migration

Some people have reported that their support ticket histories are no longer intact. This may be a result of the ongoing migration of data from the old support system to the new system (see here and here for more).  If there are specific tickets raised prior to the start of 2017 people need to view, a new support ticket, including details of the ticket which needs to be viewed, should be raised, and the support team should be able to access the old ticket and provide any information on it.

360-Snapshot Viewer

Currently a project viewer (version 5.1.0.506743 at the time of writing), this is still in the process of being updated to offer higher resolution 360-degree images taken in Second Life, and for the uploading of 360 images to Place Pages (as well as the other viewer snapshot upload options).

Feature Requests

Feature requests are suggestions forwarded to the Lab on ideas and improvements which might be added / made to Second Life. They are raised via the Second Life JIRA:

  • Go to the SL JIRA – you may have to log-in.
  • Once logged-in to your Dashboard, click ob Create Issue (top right of the window).
  • A pop-up Create Issue form is displayed.
  • Click on the right of the Issue Type box on the form to display a drop-down, and select New Feature Request.
  • When filing a feature request, give as much information as clearly and concisely as possible: what the feature request is, what it is for, why it should be considered beneficial, what it might help improve, how it might work, etc., – as these things apply.
  • If you are requesting a UI change to the viewer, and can include images of proposed changes or new floaters / panels the feature would require, be sure to attach them.
Filing a Feature Request via JIRA – click for full size, if required

In 2017, 383 feature requests were filed via JIRA. Of these, 167 (roughly 43%) were accepted by Linden Lab for transfer into their internal JIRA system. It’s not clear how many of the accepted items were eventually actioned, but the figures nevertheless show that feature requests are triaged and some are taken for current or future consideration and possible implementation at a later date.

 

 

2018 SL UG updates #3/2: Content Creation User Group

A rally of (Animesh) raptors on Aditi

The following notes are primarily taken from the Content Creation User Group meeting, held on  Thursday, January 18th, 2018 at 13:00 SLT. For the purposes of Animesh testing, the meetings have relocated to the Animesh4 region on Aditi, the beta grid – look for the seating area towards the middle of the region. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.

There is no video for this meeting, as Medhue missed the first 30-ish minutes. Audio extracts are supplied instead, where relevant.

Animesh (Animated Mesh)

Project Summary

The goal of this project is to provide a means of animating rigged mesh objects using the avatar skeleton, in whole or in part, to provide things like independently moveable pets / creatures, and animated scenery features via scripted animation. It involves both viewer and server-side changes.

In short, an Animesh object:

  • Can be any object (generally rigged / skinned mesh) which and contains the necessary animations and controlling scripts in its own inventory  (Contents tab of the Build floater) required for it to animate itself.
  • Can be a single mesh object or a linkset of objects (link them first, then set them to Animated Mesh via the Build floater > Features).
  • Has been flagged as and Animesh object in the project viewer, and so has an avatar skeleton associated with it.
  • Can use many existing animations.

However Animated objects will not (initially):

  • Have an avatar shape associated with them
  • Make use of an avatar-like inventory (although individual parts can contain their own inventory such as animations and scripts)
  • Make use of the server-side locomotion graph for walking, etc., and so will not use an AO
  • Use the avatar baking service
  • Will not support its own attachments in the initial release.

These are considered options for follow-on work, possibly starting with the notion of a body shape (to help with more fully-formed NPCs).

Resources

Viewer Update

The Animesh project viewer updated on Thursday, January 18th to version 5.1.1.511908. This includes a merge up to the Alex Ivy viewer code base, and so is only available for Windows (32-bit and 64-bit) and Mac OS X (64.bit). A number of updates are also included with the viewer:

  • Reduced lag when zooming in and out on some models.
  • Improved rendering performance when preview wireframes are displayed.
  • Some diagnostic updates and performance fixes.
  • In mesh upload, allow underscores in joint names to substitute for spaces.

Performance Profiling / Animesh Limits

As promised in the week #2 meeting, a region has been set-up on Aditi for public Animesh performance profiling which has a tri cap that can be varied (called Animesh XL), allowing it to be set higher than the 50K limit found on the other Animesh regions on Aditi. The Lab has internal regions set-up for performance profiling as well.

There has been a request for a triangle count and/or skeleton count per square metre limit, rather than the triangle count and land impact limits the Lab are currently experimenting with. Vir concedes that this may give a similar result to the Lab’s approach with tri count and LI, but also notes that people are already pushing tri counts to the limit, and he’d rather have something that helps push towards more optimised content creation. He also notes that tri count isn’t the only potential performance impact  – texture use, for example can also have an impact – so it’s a case of finding the right balance and ensuring that balance uses figures which are easy for creators / users to grasp.

The tri count limit is per object / linkset for Animesh, and is something of an approximation based data specifying the size of an object, in order to avoid having the simulator having to carry out all the triangle count calculations (and possibly impacting simulator performance). The resultant figure does under-estimate of the actual number of triangles within an object / linkset – but not, Vir believes, by a huge amount.

One issue around performance is avatar attachments, which don’t directly count towards region limits in the same way as things like LI, but which can still have an impact on performance (as can be seen with avatars wearing a lot of high-poly mesh attachments). However, re-working how attachments are handled specifically for Animesh is considered problematic, and unlikely to be re-worked (and so is being handled by a straightforward cap on how many Animesh attachments can be worn at one time – initially 1 for testing purposes) .

Animation Playback Issues

It’s been noted that animations already running on an Animesh object don’t necessarily play for those entering the region where they are running, or update correctly when camming to them for the first time. This appears to be a race condition, with the viewer receiving information on the animation before it has rendered the object being animated, resulting in the animation being ignored. Vir is confident that now the cause has been found, the issue can be fixed.

There is also an issue related to the Interest List where an Animesh object in a neighbouring region fails to update (animate), even when in your field of view and draw distance.

Both of these issues are still being investigated.

There is a claim that animations fail to play when an Animesh object is attached directly from inventory. This is something that isn’t being seen by the Lab, and which might be down to code within the animation script itself, or could be an issue. Vir has requested a JIRA specifying the problem and how to reproduce it.

Bakes on Mesh

Project Summary

Extending the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads. The project is in two phases:

  • The current work to update the baking service to support 1024×1024 textures.
  • An intended follow-on project to actually support baking textures onto avatar mesh surfaces (and potentially other mesh objects as well). This has yet to fully defined in terms of implementation and when it might be slotted into SL development time frames.

This work does not include normal or specular map support, as these are not part of the existing baking service.

Current Progress

Vir believes Anchor Linden has resolved the issues around getting the appearance service updates out.

Other Items

Screen Release Estate and Multiple Monitors

The Second Life viewer is constrained to the window / screen on which it is being used: however many floaters and panels a user opens, they can only be displayed in the one window / screen, which can quickly become crowded. This had led to various suggestions on how the issue of screen real estate use might be improved, including:

  • Making floaters and panels so they can be displayed outside of the main viewer window. Firestorm actually developed a proof-of-concept model for this several years ago. However, it was just an experiment, and the overall functionality was limited. The idea was thrown open to allow viewer developers to work on the idea, but the complexity of the work meant it was never carried forward.
  • Altering Second Life so that more than one viewer session can be run from the same account at the same time: the idea here being that a use with multiple monitors could log into SL with their account, position the viewer on one screen, then log in again with the same account, and have that viewer instance on a second monitor – so they could use one for all their chat and inventory floaters, while have a clear in-world view on the other. This would require extensive changes to the back-end of SL, and so is potentially even more complicated than making the viewer floaters work outside of the main viewer window.

Next CCUG Meeting

Due to various conflicts, it appears that the next CCUG meeting will not be until Thursday, February 16th, 2018. However, as this has yet to be confirmed, the best thing for the next 2-3 weeks is to monitor the CCUG wiki page for updates and meeting notifications.

2018 SL UG updates #3/1: Simulator User Group

La virevolte; Inara Pey, December 2017, on FlickrLa virevolteblog post

Server Deployments

As always, please refer to the server deployment thread for the latest news and updates.

  • On Tuesday, January 16th, 2018 the Main (SLS) channel was updated with the server maintenance package deployed to the RC channels in week #2.maintenance package  18.01.08.511751 comprises internal fixes.
  • Speaking at the Simulator User Group meeting on Tuesday, January 16th, Simon Linden indicated that the next RC deployment should be in week #4 (commencing Monday, 22nd January.

SL Viewer

The Alex Ivy 64-bit viewer, version 5.1.0.511732, dated January 9th, 2018, was promoted to de facto release status on Tuesday, January 16th, 2018. All other viewer in the pipelines remain unchanged at this point in time, although the Voice and Nalewka RC will be updated in due course for parity with the Alex Ivy code base. This means the viewer pipeline currently reads as follows:

  • Current Release version 5.1.0.511732, dated January 9th – formerly the Alex Ivy Maintenance RC
  • Release channel cohorts:
    • Nalewka Maintenance viewer version 5.0.10.330173, January 10, 2018.
  • Project viewers:
  • Obsolete platform viewer version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Other Items

  • Simon Linden is working on a new feature – due to go to Aditi (the beta grid) for testing soon – but will not be drawn on specifics at this point in time.
  • Joe Magarac (animats) has been digging into the viewer code handling region crossings in an attempt to improve avatar handing  when seated on objects and looking at the “partial unsit”issue (when the avatar becomes visual detached from a vehicle on a region crossing, but acts as if still attached (e.g. appearing seated, with any attempt to stand causing a viewer crash. He’s documented his work on a Firestorm JIRA (see FIRE-21915). Commenting on the work, Oz Linden indicates that if Joe would like to submit the change to the Lab (via the Second Life JIRA) the Lab would be interested in working with him to further improve agent  / object handling during region crossings.