Tiling test for Dolphin (3.4.6.26773+): image taken at 3500×2134 resolution using Dolphin 3.4.6.26773. Location: The Island of Armenelos (M) (click to enlarge) – fix also in the latest SL official viewer (3.4.3.28262), Niran’s Viewer (2.0.5+) and RLV (2.8.3.5+)
Graphics Preferences Updates for GPU Classes
The SL viewer, Dolphin and RLV all include the new Graphics Preferences settings related to the ongoing GPU table updates. These new options place additional “stops” on the Quality and Speed slider between the four original settings of Low, Mid, High and Ultra, which are intended to better represent the default SL capabilities of different GPU classes,
The new “intermediary” graphics settings intended to better represent the default SL capabilities of different GPU classes
SSAO Fix for Horizon Haze
Also included in the recent Dolphin and Niran’s Viewer releases, is Tofu Buzzard’s SSAO improvements for generating horizon haze over Linden Sea (“ambient distance fog”). This helps overcome a long-standing bug within the viewer which has effectively broken / nerfed horizon haze over Linden Water for a considerable time.
SSAO haze effect – fix from Tofu Blizzard, available in deferred mode on Dolphin and Niran’s viewers. (image courtesy of Niran V Dean) – click to enlarge
Space Reflections
Niran’s viewer also introduces an interesting / experimental viewer-side feature from Tofu Blizzard called “space reflections”, designed to create reflections on shiny surfaces when running in deferred mode and with the appropriate Graphics Preferences option enabled. It’s not perfect, but it can be used to produce some interesting effects, as shown below, if only for those running a viewer which can render the desired results.
Tofu Blizzard’s “space reflections”: (l) a viewer running in deferred mode; (r) Niran’s viewer running in deferred with “space reflections” active to produce reflections both on the floor and inside the large sphere (click to enlarge)
Tuesday 18th December saw the Main Release channel get the maint-server release as deployed to Magnum in week 50, as Maestro Linden indicated might be the case during the Server Beta meeting on the 13th December. There have been some reports of teleport issues following the deployment, but these are thought to be a network-side issue, rather than a problem with the server code itself.
All three RC channels should be receiving the same package on Wednesday 19th December, 2012 which is also the Magnum deployment from week 50, with a single additional bug fix.
Release notes (for Magnum, but applicable to all three RC channels)
This is the last set of server-side deployments for 2012.
A low-key Simulator User Group meeting on 18th December, the last for 2012
SL Viewer Updates
The release version of the official SL viewer rolled to the 3.4.3 code on Tuesday 18th December, with the release of 3.4.3.268262. Among a range of updates, this release include the major GPU table updates seen in recent beta viewer releases, the additional graphics settings and the tiling fix for high-resolution snapshot (MAINT-638). This release also sees the return of JIRA numbers to the release notes, matching the recent beta viewer release notes update.
The new “intermediary” graphics settings intended to better represent the default SL capabilities of different GPU classes
The beta viewer should be moving to the 3.4.4 code with the next release, although it is not clear whether this will be before or after the holiday period.
Interest List Update
Andrew Linden has been tweaking and optimising his Interest list code. The first phase of the new interest list code is aimed at reducing the amount of information being sent to the viewer by the server. Speaking at the Simulator User Group meeting on the 18th December, Andrew commented, “Last week I managed to find an optimisation opportunity in my Interest List project, which shaves a few hundred usec off of some cases where there are a lot of Full Object Updates. So this would translate to better server FPS when in large groups of avatars or when in the presence of stuff that is generating lots of full updates.”
As I reported last time, object updates take three forms, Full, Terse and Delete. Full updates are generated when an object is seen for the first time, or which is undergoing a constant change in appearance / position. Terse updates are sent only when an object changes its appearance / position. Under the current Interest list system, both types of update are sent to the viewer, regardless as to where the viewer actually needs to process them. A primary part of Andrew’s work has been reworking the code so that updates – particularly terse updates – are only sent to the viewer when the object generating them is in the camera’s field-of view. This new optimisation work should further help reduce the number of updates being sent to the viewer regardless as to whether or not it has to process them.
I’ve been covering the upcoming improvements to region crossings – referred to as threaded region crossings – in my weekly SL project reports.
During the Server Beta meeting on the 13th December 2012, the subject came up for brief discussion, during which I suggested to Caleb Linden (who is heading-up the work) that perhaps a pile-on test would be an idea.
I’ve no idea if he read my suggestion, or was already planning to go ahead with such a test, but on Monday 17th December, 2012, he posted an announcement of just such a test to the Server thread of the TEchnology forums. The announcement reads in full:
In an upcoming server build, Linden Lab has changed the way agents and their attachments get carried over in the event of a region crossing. And we need your help to test region crossing in a pile-on fashion.
On Wednesday, December 19th at 16:00 PDT (Pacific Daylight Time) please join IRC (EFNET -> #sltest) to launch Second Life and join us via the following SLurl GC Test 9
In the meantime, please let us know if you need access the test regions mentioned on the wiki or have additional questions.
How the tests will be carried out, and on the wiki page, Caleb invites suggestions to be e-mailed / forwarded to him. Currently, ideas for testing include:
Region crossing with regular avatar
Region crossing via manual TP
Region crossing on a vehicle (including Mesh based vehicles)
Region crossing while sitting on moving objects
Region crossing via scripted TP
Region crossing with attachments of varying sizes (including complex HUDs)
Issues have already been found with the new code when wearing script heavy objects during a region crossing and with repeated region crossings on vehicles, and the pile-on test looks in part to be a further investigation of these issues, as well as testing for other possible problems.
Note that this test will be on the beta Aditi grid, so you will need to be able to access that grid. If you haven’t done so in a while, you may want to check your ability to log-in, given recent issues. Also, as this is server-side code tests, it should not be required that you use a specific viewer, but keep an eye on the forum thread in case a decision is made to use a particular viewer.
This summary is published every Monday and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:
It is based on my Viewer Round-up Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware) and which are recognised as adhering to the TPV Policy
By its nature, this summary will always be in arrears
The Viewer Round-up Page is updated as soon as I’m aware of any releases / changes to viewers & clients, and should be referred to for more up-to-date information as the week progresses
The Viewer Round-up Page also includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
Updates for the week ending: 16 December, 2012
SL Viewer updates:
Beta version rolled to 3.4.3.268139 on December 14 – release notes
Development rolled to 3.4.4.268156 on December 14
The Sunshine Project viewer (avatar baking) arrived with the release of 3.4.4.268071 on December 14th (wiki page) – note this viewer is not recommended for daily SL use
Dolphin rolled to 3.4.6.26773 on December 11 – core updates: snapshot tiling fix (MAINT-628); fixes and improvements for the image quality with SSAO enabled, and for ambient fog over water (distance haze) with shadows enabled; Some Windlight preset files renamed to avoid issues; Teleport to ground level enabled via keyboard (CTRL-SHIEFT-END) – release notes
Niran’s Viewer rolled to 2.0.5.2346 on December 11 – core updates, snapshot tiling fix (MAINT-628); fixes and improvements for the image quality with SSAO enabled, and for ambient fog over water (distance haze) with shadows enabled; new “space reflections” feature – release notes
Restrained Love rolled to 2.8.3.5 on December 16 – core updates: fix for those encountering build problems using 2.8.3.4, plus latest beta updates from LL, including snapshot tiling fix (MAINT-628)
Cool VL updates – three versions for the time being, all updated on December 16:
Stable version rolled to 1.26.6.1
Legacy version Legacy (v2.6 renderer) rolled to 1.26.4.44
The RC channel deployments went head as scheduled, and included the promised fix for offline IMs from scripted objects failing to reach people’s e-mail (BUG-1002). A further issue (BUG-1027) with group owners receiving garbled messages on ejecting group members was reported over the weekend of the 9/10th December, and this also received a fix which formed a part of the deployments.
As reported in part 1, Magnum received code to double the server-side memory allocation from 60KB to 120KB. Animations within SL have two core limits: loop time (30 seconds) and memory allocation (60KB). Apparently, some complex animations which ran within the 30-second time frame have been hitting the memory allocation limit. This initial change should help to ease that issue when encountered. A future change on the viewer-side of things should eventually increase the animation run-time as well, allowing for animations longer than 30 seconds to be uploaded and used.
Server Deployments Week 51
Given Magnum has all the same changes as both BlueSteel and Le Tigre, plus the additional stability improvements and memory leak fixes, it now looks likely that this code will be promoted to the Main Channel on week 51 (week commencing Monday 17th December). No news was provided during the Server Beta meeting on any proposed RC releases during week 51.
Again, as a reminder, there will be no server code releases during weeks 52 (commencing Monday 24th December) and week 1, 2013 (commencing Monday 31st December). There will also be no further Server Beta meetings until Thursday January 3rd, 2013.
Viewer Updates
Linden Lab continue to work on the beta and development viewers in order to clear the backlog of releases resulting from the memory leak / crash issues. Currently, they are “almost” at the end of catching-up on the release schedule. Some of the focus at present is on the Mac side of things, with Oz Linden reporting that there should be “A bunch of changes for the Mac build and the Mac implementation coming into viewer development” over the next few days.
The beta viewer has seen a further 3.4.3 code release (3.4.3.268139 on December 14th). This should mark the last of the 3.4.3 code releases for the beta viewer prior to that code moving to the release viewer, possibly in week 51. After this, the beta viewer will move to the 3.4.4 code base, which will include the changes for the Mac side of things as well. This should then see the viewer branches all more-or-less back to a normal pace of development and update, with fresh releases on the order of every three weeks or so, including more HTTP service updates and improvements.
Tcmalloc has been set off to one side in order to clear the backlog, but “has not been forgotten”. Currently it is still enabled in the beta release, but appears to be disabled in upcoming viewer development versions.
Avatar Baking
The biggest news of the week came with the announcement that for Avatar Baking, the countdown has commenced. This is going to take the next few months to implement, and requires both changes on the server-side of things and significant changes to the viewer. An update had actually been promised at the Content Creation User Group on Monday 17th December, but given the large impact the changes have on viewers, Nyx Linden rightly announced the news relating to the project at the TPV Developer meeting on Friday 14th December.
Nyx linden discusses server-side baking at the TPV Developer meeting, Friday 14th December
Threaded Region Crossings
The work on multi-threaded region crossings is still with the LL QA team. In the meantime, further regions have been added to the simulator version (server code DRTSIM-184) running the new code. Four of the latter are GC Test 9, GC Test 10, GC Test 15 and GC Test 16, which form a block of four regions which may assist with testing the capability (remember these SLurls are all to Aditi!). Caleb Linden has been testing the capability and reports that he has encountered some issues himself, with crashes during “automated horde testing” and with repeated crossing with heavy scripts. He’s interested in hearing constructive feedback from anyone willing to carry out informal tests on the code.
The new avatar baking project took a step closer on December 14th, as LL started to release more in the way of technical details on the project and launched a project viewer.
Avatar bake fail
Code-named Project Sunshine, and a part of the Shining Project, this work is aimed at improving avatar baking and at eliminate bake fail issues.
The project represents a sizeable change in how Second Life works, and as such will take time to fully implement, requiring extensive changes to the viewer itself – something which Nyx Linden has previously referred to as, “Some pretty scary viewer re-architecting”, as well as a good part of the back-end services – hence why it has taken so long for the project to mature. Because of the degree of changes taking place, Linden Lab have consistently promised, via Oz Linden, that TPV developers would some eight weeks notice prior to any initial deployment of the new service in order for them to ensure they can integrate the required viewer-side code changes, test them, and ensure they can support the new service.
Speaking at the TPV Developer meeting on Friday 14th December, Oz reiterated the 8-week lead time before adding, “Today begins the clock! … You get at least two months from now before we begin rolling server-side baking out to the main grid, at least beyond a test region or two.” So while the precise timescale as to when the new baking service will start to appear on the main (Agni) grid remains open, TPVs can now start to engage in the project, a step which itself brings it one step closer to reaching the grid.
A Quick Recap: How It Is and How It Will Be
Currently, avatar baking is essentially driven from the viewer. In summary (and without drilling too much into detail), this means that when a system layer outfit or item of clothing is changed (including alpha layers), the updates are applied locally in the user’s viewer. They are then uploaded to the server the user is connected to, which then passes the updates out to the other viewers connected to it, so that other users get to see the change as well. This process has several points of potential failure: communications between the viewer and the server may be interrupted, for example, with the result that the server doesn’t receive all the information pertaining to an outfit change, with the result that – again as just one example – the user sees their avatar perfectly fine, but others see the avatar as blurred / grey. In some instances, the process can fail such that while the user sees their avatar wearing the desired outfit, other see the same avatar still wearing the “old” outfit.
The new service will hopefully eliminate these issues by moving much of the emphasis for the baking process from the viewer to a new “Texture Compositing Service”. The viewer will retain some elements involved in avatar baking – the actual baking of the avatar shape (i.e. shape values and IDs) will still take place on the viewer side, for example. However, the new compositing service will take over most the donkey-work and handle the majority of avatar baking data and communications (excluding prim-based attachments).
As with many of the new services being introduced into Second Life by LL, the new baking service will be HTTP driven (the current system is UDP protocol based) which should have an additional benefit of speeding up the entire avatar load process when logging-in to SL and in fetching textures.
How the entire process should work can be summarised as follows:
The new service will use the Current Outfit folder as its viewer-side driver. This means that in order to use the service a viewer must have the Current Outfit folder properly implemented
When a rebake request is due (e.g. after a user has finished editing their appearance) the viewer sends a message to the baking service essentially asking it to look at the contents of the viewer’s Current Outfit folder and then return an updated appearance based on the contents of that folder
At the same time as the data is returned to the user’s viewer, it is also sent to the simulator to which the user’s viewer is connected, so that the simulator can send the appearance information to all other viewers connected to it.
To further TPV developers understand the new system and answer their questions, Nyx Linden dropped by the TPV developer meeting on Friday 14th December. Note that what follows is an overview of Nyx’s discussion from the point-of-view of providing digestible information on the new service for “general” users, rather than a in-depth review of the full technicalities of the system and Q&A session.
Nyx linden discusses server-side baking at the TPV Developer meeting, Friday 14th December
Please use the page numbers below to continue reading this article