The following notes are primarily taken from the TPV Developer (TPVD) meeting held on Friday, October 9th, 2015. A video of the meeting is included at the end of this report, although the opening few minutes of the meeting are missing. Because of this, I’ve included an audio file as well to cover the opening of the meeting. Time stamps to both the audio and the video are provided, and my thanks as always to North for the video recording and providing it for embedding.
Please note that any extraneous noises on either the audio or the video are the result of an open mic in the meeting itself, and not from myself or North
Server Deployments: Week 41 – Recap
As per the server deployment thread, there were no scheduled deployments / restarts for the three RC channels during the week, while the Main (SLS) channel received the same server maintenance package deployed to the RCs in week #40.
SL Viewer Updates
[00:00 – 02:10 on audio]
CEF Project Viewer
On Wednesday, October 7th, the Lab issued the long-awaited project viewer utilises the Chromium Embedded Framework (CEF) for media handling – and more – in Second Life. Version 126.96.36.1995703 sees CEF replace the ageing llqtwebkit functionality for media management in Second Life (also see my separate update).
[13:25 video] The emphasis from the Lab is that if you use web media in-world test your products / projects / uses thoroughly with the CEF project viewer, and make sure you continue to test as the project viewer is updated, in order that specific issues encountered can be reported and looked at while the lab is still developing the viewer.
It also appears that QuickTime media may still work on this viewer, rather than being disabled, as had been indicated in my last TPVD update. However, this should not be taken to mean either QuickTime or Flash will be supported by the Lab going forward, or that media using them will be viewable by all users. CEF, HTML 5, etc., are the future of media in SL.
Other Viewer Updates
On Friday, October 9th the HTTP updates viewer (project Azumarill) was promoted to release Candidate status with the release of version 188.8.131.525771. This viewer provides improved performance and stability. Impacts include: asset uploads, AISv3 inventory manipulation, VMM, Experience management, LSL compilation, Simhost event polling, etc.
Currently, it appears as though the Maintenance RC viewer, version 184.108.40.2065531, is in line to be promoted to the de facto release viewer in week #42 (week commencing Monday, October 12th).
An update for the Oculus Rift project viewer (currently version 220.127.116.115296, and now almost a year old), is still expected, but it is subject to other work being undertaken at this point in time.
Attachment Loss on Region Crossings
[03:44 audio; 00:00 video]
The Lab recently carried out extensive work to reduce the number of attachment loss issues occurring as a result of issues caused directly within the viewer itself (project Big Bird). However, while this work fixed a lot of issues, some still remain, particularly during region crossings, whether physical or via teleport (see BUG-7761 as an example).
Essentially, what happens when moving from one region to another is that all of the attachments on your avatar must get new IDs from the simulator to which you are moving. The viewer then has to associate these new IDs with the attachments you are wearing, and the locations where those item as actually attached. In doing so, it attempts to preserve continuity by keeping things where they were according to the region you’re leaving, and then updating them with the information it receives from the new region.
This obviously involves a lot of messages being passed back and forth between server and viewer – and the more attachments you have, the greater the number of messages being passed back and forth.
Additionally, if the attachments are scripted, further messages relating to script states, etc., also need to be passed relating to their state, etc., which adds to the load. Finally, all of these messages may use different transport mechanisms to pass between server and viewer.
This means there are many opportunities for messages to arrive out-of order due to race conditions, etc., or to be dropped and lost because of possible network issues and some messaging mechanisms not having a retry option, etc. It is these problems which tend to result in issues with attachments being removed, etc.
The Lab is interested in trying to eliminate as many of these problems as they can (allowing for the fact some might be related to your network connection, and possibly outside of their ability to control). However, in order to do so, they first need to identify exactly what is going on, and this requires examples of attachment losses, etc., that are consistently reproducible (e.g. attachment type X will always detach when crossing between regions Y and Z, for example). It is these kinds of consistent examples which are proving hard to find – so if you do know of one, please raise a JIRA outlining it step-by-step.