SL projects update week 42 (3): viewer, AIS v3, HTTP

The following notes are taken from the TPV Developer meeting held on Friday October 18th. A video, courtesy of Northspring, can be found at the end of this report. The numbers in braces after each heading (where given) denote the time stamp at which the topic can be listened-to in the video.

A typical TPV dev meeting gathers (stock)
A typical TPV dev meeting gathers (stock)

SL Viewer Release Pipeline Updates

The Catalyst RC viewer (version 3.6.8.282367) was promoted to the de facto release viewer on Wednesday October 16th. This viewer was essentially a “hot fix” to address a start-up crash on viewers using the latest AMD Catalyst drivers (13.9, 13.10, 13.11).

At around the same time, the Maintenance RC viewer RC 3.6.8.282335 noted in part 1 of this report as being released on October 14th was withdrawn. It was subsequently superseded on Friday October 18th by a new build,  RC 3.6.9.282553, comprising the same updates: finer access control for estate/parcel owners; CHUI: toggle expanding Conversations by clicking on icon; GPU table update + more.

“ShareStorm” Viewer

Also on Friday October 18th, the SLShare RC (3.6.8.282036) and the Snowstorm contributions RC (3.6.8.281997) were withdrawn and superseded by a new “ShareStorm” RC viewer, version 3.6.9.282535, containing the updates from both.

Viewer Promotions – Time Frame

Due to the volume of work backed-up prior to the implementation of the new viewer release process by the Lab, RC viewers were initially being promoted  to a release status on almost a weekly basis. This has slowed a little more recently, with a promotion to release occurring around once every two weeks (with the exception of the Catalyst RC “hot fix” viewer mentioned above). Barring further situations like the Catalyst RC, the plan is to try to promote an RC to release status around every two weeks.

Interest List Viewer

[01:20 – 22:18]

Richard Linden attended the TPV Developer meeting on Friday October 18th to discuss the upcoming viewer-side changes for the interest list project. He started by giving a high-level overview of the work.

The primary focus of this work has been on scene loading – how things are presented to you when you log-in or teleport to a region. Historically, most of the work related to the interest list has been driven by the simulator. This is not the most optimal way of doing things, and could mean, among other things, that when arriving in a region, you’d start to see things far away from you rezzing first before those much closer to you – so if you arrived inside a house, you’d see the buildings and trees outside of the house appear before the walls of the house would pop into view.

Recent work on the interest list has been aimed towards improving scene loading in the viewer
Recent work on the interest list has been aimed towards improving scene loading in the viewer

So the first part of the work focused on the server end of things. Most of this has already been deployed to the grid, and the benefits can already be felt. There is more structure in how the server sorts and prioritizes data to be downloaded to the viewer, so that when you arrive in a region, the objects which are closer to you or are bigger than others should render first (e.g. when you arrive in the house mentioned above, the floor, walls and ceiling appear before those things outside of the house).

The upcoming viewer changes take this work a stage further, but in more subtle ways.  What is classified as a “cacheable” objects has been changed, for example, allowing the viewer to potentially store more information on objects locally, rather than perhaps depending on the simulator for information relating to them. Additionally, the viewer will be able to retain more overall information relating to a region than is currently the case – fewer “killobject” messages are sent by the simulator telling the viewer to remove objects from cache, allowing them to be re-used rather than the viewer necessarily having to request data on them from the simulator once more.

There are other improvements within the code to assist with better scene loading, such as when you arrive in a region you’ve never visited before (and so have nothing cached). Under the current system, the simulator will send queries to the viewer about every object in the region, because it has no way of knowing if the viewer has data for the region already cached. Under the new code, as the viewer connects to the simulator it will tell the simulator it has no data cached. The simulator can then get on with prioritising the data and getting it downloaded to the viewer, with the result that “several seconds” are shaved from scene loading times.

In other words, to borrow from Richard put it, the updates put the viewer far more in the driving seat with the interest list.

Continue reading “SL projects update week 42 (3): viewer, AIS v3, HTTP”

Advertisements

SL projects update week 42 (2): server, group ban list

Server Deployments – Week 42

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Tuesday October 15th saw the Main channel updated with the server maintenance project previously on all three RC channels in week 41.

The planned deployment of a new server maintenance project to all three RC channels was threatened at the 11th hour by the discovery of a bug  which took time to resolved, and left the package teetering on the edge of whether it would pass QA testing in time to make the deployment cut-off.

Maestro Linden's disco-themed Server Beta meeting venue (stock)
Maestro Linden’s disco-themed Server Beta meeting venue (stock)

Speaking at the Server Beta meeting on Thursday October 17th, Maestro Linden expanded on this last-minute bug. He explained that it took the form of objects failing to vanish from a user’s field of view after being de-rezzed, and would instead remain as a ghosted object until touched, because the user’s viewer wouldn’t get the update message that the object had been de-rezzed. The problem for the Lab was that the issue would occur in some places but not in others, and seemed to be dependent on things like camera position and draw distance, making it hard to reproduce consistently.

Andrew Linden finally worked out that the problem would only occur in regions with a neighbour to the east and if the user’s viewer was connected to that region. So depending on the region, the object’s position, your camera position and draw distance, the bug might or might not trigger.

While the issue was successfully addressed and the update package successfully deployed on schedule, the Lab are still uncertain as to why the bug should only occur when there is a neighbouring region to the east; however, it’s fair to say that this is not the first “east related” bug to have been found.

Group Ban List

Baker Linden is continuing with internal testing with the new code, using Maestro and Caleb Linden as his guinea pigs. Apparently, the server-side code is hung-up in LL’s internal QA, possibly awaiting resources there. As such, it has yet to become visible and there are currently no regions available on Aditi which include the server-side updates.

Other Items

A problem has been noted following-on from the recent updates to prevent people from using recursive rezzing to grief regions (see my week 35 and week 37 reports). As a consequence of this, some engaging in combat in Second Life have encountered issues wherein combat vehicles in regions with short auto-return times can have their ordnance immediately returned when a weapon is fired, and any temp vehicles are unable to rez attachments, even when sat upon.

Commenting on the situation, Maestro agreed the use-case is legitimate and that some exemption should be made for sat-upon vehicles / objects in these circumstances. He’s agreed to put the matter to Simon and Andrew Linden for further discussion on the best way to approach and resolve the issue.