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.
SL Viewer Release Pipeline Updates
The Catalyst RC viewer (version 220.127.116.112367) 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 18.104.22.1682335 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 22.214.171.1242553, comprising the same updates: finer access control for estate/parcel owners; CHUI: toggle expanding Conversations by clicking on icon; GPU table update + more.
Also on Friday October 18th, the SLShare RC (126.96.36.1992036) and the Snowstorm contributions RC (188.8.131.521997) were withdrawn and superseded by a new “ShareStorm” RC viewer, version 184.108.40.2062535, 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.
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.