Server-side Baking / Appearance: key questions answered by the Lab

On Monday May 13th 2013, Troy and Nyx Linden appeared on a segment of Designing Worlds to discuss Server-side Baking / Appearance (SSB/A), alongside Brooke and Oz Linden, who were there to discuss Materials Processing.

Troy Linden is a Senior Producer at Linden Lab, who has been working on high-level server-side baking, and Nyx Linden is a Senior Software Engineer at the Lab, who has been working with the technical aspects of SSB/A and has been very much the public face of the project. Together, they answered a series of questions on the project put to them on behalf of users (the questions having been requested in advance of the show being recorded) by the Designing Worlds hosts, Saffia Widdershins and Elrik Merlin.

The following is a summary of the questions asked and answers given.

Nyx Linden (l) and Troy Linden (r) on Designing Worlds
Nyx Linden (l) and Troy Linden (r) on Designing Worlds (image courtesy of Wildstar Beaumont / Designing Worlds)

Saffia Widdershins (SW): Let’s start with the basics: what is baking, and how is it being handled now?

Troy Linden (TL): Baking is a process where we take all the information that involves your avatar – how it looks – and we combine it to deliver a finished avatar. Currently, how it’s handled right now [is] your computer, the individual’s computer, handles all of the processing involved in determining your avatar’s appearance, and it sends all the result back to our servers. So it’s a pretty involved process and there’s a bunch of time that it takes to do all that.

SW: So how is that going to be changed in the future … and will it simplify it?

TL: Server-side baking is our new system. It’s where we actually stand up a new service that will handle all of the baking process on our end. And what this actually does is it takes the load away from your computer, the individual user’s computer, and the results are a faster, more consistent experience during the whole baking process in Second Life.

Elrik Merlin (EM): Just to be clear about this … in the new system, what will be handled by the server and what will be handled by the viewer, exactly?

TL: The new viewer will be sending the server and [be] the recipient of all the avatar data, while the server does all the calculations required. So your viewer will download the results [of the baking process] over a lot faster HTTP connection.

EM: So that’s the basics of how it works, so to speak; how would you summarise the benefits to users?

Designing Worlds hosts Saffia Widdershin and Elrik Merlin
Designing Worlds hosts Saffia Widdershin and Elrik Merlin (image courtesy of Wildstar Beaumont / Designing Worlds)

TL: Well, simply put, it’s a much faster, more reliable avatar rendering experience. So hopefully you’ll see less avatars being stuck in their clouded state as well as being stuck untextured. So they’ll actually appear the way the user actually intended much quicker.

SW: So it will be an end to that problem where you half-rez but, (laughs) your make-up is blurred so you look as though you’ve been having a really heavy night!

TL: (Laughing) That’s the plan. We’re actually seeing some great results so far, so we’re very excited.

SW: Are there likely to be any downsides? There will be less impact on peoples’ machines, is that what you’re saying, or could there me more?

Nyx Linden (NL): The one downside to the new system is, because it is such a big change from how we have done things in the past, everyone is going to have to update their viewer. It will be a mandatory update. Users who don’t update will start to see even more avatars fail to load. Fortunately, we have the viewer that people need to download released, and users who use any actively maintained third-party viewer should be able to download an update presently as well. As long as users do update, they won’t see any downsides.

EM: This is obviously nearing completion and we’re nearing implementation. Can you tell us a little about where the project is, what its current status is, and what the time scales are for introduction are going to be?

NL: Absolutely! So, we’re in a multi-stage release; at this point we have our first viewer out the door. So the next stage is that we’re going to be standing-up the service that is going to be doing all the work for rezzing your avatar. Over time we will slowly roll-out the new system across the grid. That’s going to take some time, and we’re going to be following-up through our blogs and forums to let people know how that process is going, but we want to take our time with that process, to make sure that everything is working as well as we think it is.

Continue reading “Server-side Baking / Appearance: key questions answered by the Lab”

Catch-up with Designing Worlds and the SSA / Materials special

If you missed the live premiere of the Designing Worlds special I blogged about as being shown on Monday May 13th at 14:00, you can now play catch-up here.

The show is also available on the Treet TV Designing Worlds channel.

Materials Processing and SSA – a Designing Worlds special

designing-worldsOn Monday May 13th at 14:00 SLT, Designing Worlds will be premiering a special show in their current series which explores some of the new Second Life shiny which is coming out of Linden Lab at the moment.

The show, recorded earlier in the month, features Brooke, Oz, Troy and Nyx Linden as they discuss the upcoming deployments of Server Side Baking/Appearance and Materials Processing in SL.

Nyx, Troy, Oz and Brooke Linden during the recording of the Designing Worlds show (image courtesy of Wildstar Beaumont)
From left-to-right): Nyx, Troy, Oz and Brooke Linden during the recording of the Designing Worlds show (image courtesy of Wildstar Beaumont / Designing Worlds)

As regular readers here will know, Nyx Linden has very much been the public face / lead of Server-side Baking, and he’s joined in the show by Troy Linden to explain what is going on with the project, and why people need to understand the importance of ensuring they are running a viewer which supports SSB/A.

Following this, Oz and Brooke Linden will be explaining about Materials Processing and the use of normal and specular maps in Second Life. They’ll also be demonstrating some of the capabilities of Materials Processing, using samples of various items on display at Hippotopolis. Just remember that if you want to go and see them for yourself, you’ll need to download, install and run the Materials Processing project viewer until such time as the necessary code is made more widely available in the main SL viewer and TPVs.

With and without: how materials will look when running a viewer in differed mode (top) and in non-deiffered mode (bottom). The differences are clear, but the in-world experience in non-differred mode is not in any way "broken"
How materials processing can alter the appearance of objects: the top image shows a series of objects which use material properties (normal and specular maps) as seen through a viewer which can render them. The lower image shows the same objects in a viewer which is not using the materials processing capabilities

All of the Lindens attending the show took time to answer questions put to them by the Designing Worlds team on behalf of users.

Saffia Widdershins, who co-hosts the show with Elrik Merlin, said to me in discussing the premiere, “We were really pleased to have been able to do this show and discuss the issues with people from the Lab. Changes like this can worry a lot of users, and it was good to have the issues and benefits clearly explained.”

Watch the Show Live

If you would like to watch the show, you can do so in one of two ways:

If you missed either of these, catch up with the broadcast via my blog, or via the  Designing World’s channel on Treet TV.

Related Links

SL projects update week 19 (1): server releases, SSB/A, materials

Server Deployments Week 19

Second Life Server (Main) Channel

On Tuesday May 7th, the Main channel should receive the maintenance package which has been running on Magnum. This project brings some new minor features to LSL, and fixes some crash modes and well as additional LSL HTTP support – release notes.

 Release Candidate Channels

On Wednesday May 8th, all three Release Candidate channels (BlueSteel, LeTigre and Magnum) should receive server-side support for experience permissions which was running on BlueSteel in week 18. The update, as usual, will also include the changes which are going to the Main channel on May 7th – release notes (BlueSteel).

I was somewhat confused by the release notes for 13.05.04.275247 package, as on the one hand they suggested the new LSL AO capabilities would be absent from Agni following the RC deployments (“Changes since 13.04.19.274370 … Removed changes introduced by Second Life Server 13.04.12.273874”), while on the other, the line originally following this comment suggested otherwise.

I contacted Maestro for clarification, and he confirmed that the AO capabilities will be present on the RC channels following the deployment, and that the release notes have been revised to prevent any further confusion.

As always, there is a discussion thread in the forums for the deployments.

Server-Side Baking / Appearance

SSB/A - further viewer-side updates expected. No published timeline on testing as yet
SSB/A – further viewer-side updates expected. No published timeline on testing as yet

As noted in the last part of my week 18 report, there will be at least update to the viewer-side SSB/A code, which Nyx referred to at the Content Creation meeting on Monday May 6th as being, “Mostly reliability and some related polishing”. From the TPV Developer meeting on Friday May 3rd, the release will be addressing some additional ways in which baking can fail as well as addressing stability in general, although as Nyx noted at the TPV Developer meeting, “Nothing that we know of right now that would be mandatory for the system to work.”

The question of when constrained testing would commence again came up at the Content Creation meeting. This will see a number of regions across the main grid have the server code for SSB/A enabled in order for LL to carry out further load tests on the system ahead of the “switch being thrown” and SSB/A enabled across the entire grid. All Nyx would say on the matter is, “We don’t have a timeline to announce today.”

Whether this means there will be a formal announcement when testing does commence, remains to be seen. However, the Lab is still intending to make a formal announcement on SSB/A, mostly likely via a blog post, ahead of the service being enabled across the grid in the hope of further communicating the change, and the need to upgrade to an SSB/A-capable viewer to as many users as possible.

Outfit Changes

During her tests with SSB/A on Aditi, Kitty Barnett noted that when changing a wearable or reordering the layers of an outfit, the updated bakes could take a while to come through. Concern that this might be the case when SSB/A is enabled on the main grid prompted her to ask:

For server-side baking, would there be any issue with turning on local baking to make getting dressed more pleasant? it could be Aditi, but [when] wearing something it takes a very long time before the server bake comes through, particularly reordering clothing or taking something off … I actually just turn local baking on as soon as there’s a wearable change and it seems to be working nicely and turns itself off when the server bake comes through… but I was wondering if that would cause any undesirable issues [if the same was done on Agni]?

Local bakes already occur when using the Editing Appearance options, so Kitty’s question appears to be more broadly aimed at general outfit changes (people simply swapping individual clothing layers directly from inventory, and (possibly) using the capability in some TPVs to re-order clothing layers directly from inventory, rather than going via the appearance editor).

Responding to the question, Nyx said:

I’m not certain how you’re turning on local baking, and can’t really speak to whether there are undesirable behaviors as a result. The code to switch between the different types of bakes is rather complex and sometimes fragile, and bugs in that area can be subtle … Proceed with caution and best of luck :). Report back if it works well (or if you find interesting bugs!)

Whether such a delay will be noticeable enough to be an irritant on Agni is hard to say as we’ve yet to see the server code up and running on the main grid, so it’ll be interesting to see what further tests on Kitty’s part reveal as testing commences.

Continue reading “SL projects update week 19 (1): server releases, SSB/A, materials”

SL projects update 18 (4): servers, viewer release process, group bans and bits

Server Deployments – Week 18

As reported in the first part of this update, the SLS Main channel was rolled back to release 13.04.05.273580, as a result of a widespread performance issue.  This unfortunately saw the removal of the new LSL animation capabilities from the channel.

The issue itself is related to problems with regions locating their neighbours. “The sim were hitting the [region presence lookup] service too hard, causing stability problems.” Maestro Linden said at the Server Beta meeting on Thursday May 2nd. Release notes.

In the original notes for this week’s deployments, BlueSteel and LeTigre were scheduled to receive the same deployment package. However, this was subsequently changed so that:

  • BlueSteel received the same reversions as the Main channel due to the performance issue between neighbouring regions, but also received updates for the Experience Keys project as originally planned. Release notes.
  • LeTigre received the same code that was on the main channel in week 17, the only difference being that it fixes the performance issue that caused the Main channel to be rolled back this week.  Release notes.

Maestro described the deployment of the fix for region lookup issues as the “conservative option”, rather than deploying the fix to multiple Release Channels, “In case the changes from the other two channels have their own problems.”

Magnum received the package originally scheduled for it, described as bringing some new minor features to LSL, and fixes some crash modes as well as the fix for grid performance issue, and fixing an issue in which llDialog() messages sent to the object owner could be incorrectly throttled. Release notes.

The hope is that if all is well with the Magnum update, it is liable to be deployed to the Main channel in week 19.

SL Viewer Updates

Beta Viewer Release

A new beta version of the viewer emerged on May 2nd, using the 3.5.2 code (3.5.2.275087). This release includes the update from FMOD to FMOD Ex, and well as a number of other maintenance and other fixes as specified in the release notes.  However, it does not include the anticipated Vivox updates to improve SL Voice. These will be coming along at a later date.

The current plan is for this release to remain in the beta channel for at least one further update prior to it appearing in the release channel. As such, it is unlikely to be in the release viewer until late in week 19 or in week 20. Once it has appeared in the release viewer, LL will probably deploy the new viewer release process, and the beta channel will cease being used.

Viewer Release Process

Oz Linden
Oz Linden

As previously reported, the viewer release process will be changing in the coming weeks. As a part of this, the development viewer channel has already been deprecated; however it will still be a while before the new process is put into place, as further infrastructure changes are still required on LL’s part.

Concerns have been raised by TPV developers about a side-effect of the new process potentially being that the rate at which code becomes available to them may slow down, thus causing them to “fall behind” the LL viewer in terms of new functionality or capabilities. Stressing that this is not the intent, Oz Linden described process in further detail at the TPV Developer meeting, indicating that under the new system:

  • Viewer projects will each have their own repositories, which will be made available to TPVs (and others) once it is deemed they are “safe to share” as a project or “beta” viewer
    • While it has yet to be formally decided within LL, and may take a little time to work up to, critical bug fixes are liable to have their own repositories, from where they can be merged into other viewers
  • Users will be able to pick which beta / project viewer(s) they download from the Alternate Viewer wiki page without being tied to any specific update route (so you can download and run as many project / beta viewers as you like)
  • Once a project is believed to be of release quality, it will be put into a release candidate, built on the current viewer release code and released to a target number of users (as chosen by LL), alongside other release candidates being used by other users
  • When a user receives a release candidate viewer via the download page, the updates they receive will be offered on the basis of the release candidate they are currently running (for example, if a user is running the Materials RC viewer, they won’t be offered updates from, say, the SSB/A RC viewer)
  • After some period of time, and when LL have looked at the results, one of the release candidates will be promoted to the default download (without the viewer having to be rebuilt) and will be available on the main download page
  • The remaining viewer projects (at least those at release candidate status) will then be merged with the newly-released viewer code, and re-test and issue a further release candidate, which may in turn be selected as the next candidate for promotion to the default download.

He added that in terms of TPV’s concerns over code being made available to them, the level of co-operation which has been evident in the Sunshine project (SSB/A) has “not gone unnoticed” within LL’s management, and that the team involved has received a lot of kudos for the way they have handled interaction with TPVs. As such, it is likely that the Lab will endeavour to build on this going forward.

Continue reading “SL projects update 18 (4): servers, viewer release process, group bans and bits”

SL projects update week 18 (1): viewer, SSB/A and materials

Server-side Baking / Appearance

The viewer-side SSB/A code continued in the SL beta viewer with a release on April 24th (3.5.1.274588). However, the crash rates from that version were sufficiently low for the go-ahead to be given for the deployment of the SL viewer with the SSB/A code incorporated, which reached public release on April 30th (3.5.1.274821).

SSB/A in the SL release viewer: I'm running the SSB/A-enabled SL release viewer and can see both myself and my alt (running SSB/A-enabled Firestorm) rendered correctly, and she can see fully rendered.
SSB/A in the SL release viewer: I’m running the SSB/A-enabled SL release viewer and can see both myself and my alt (running SSB/A-enabled Firestorm) rendered correctly, and she can see fully rendered.

This now means that the following viewers and clients are, at the time of writing, now SSB/A capable:

  • SL viewer 3.5.1.274821 (release)
  • Firestorm 4.4.0.33270 (release)
  • Kokua 3.5.2.27969 (development)
  • Nirans 2.2.0.2692 (alpha test)
  • Cool VL 1.26.8.2 (stable release)
  • Kirstens S19.1.19.4 (unsupported)
  • Singularity 1.8.0.4114 (release)
  • Lumiya 2.4.4 (release)
  • Metabolt version 0.9.66.0 (Beta)
  • Radegast 2.12 (release)

The remaining major players for Second Life – Catznip, Dolphin and Exodus will doubtless have SSB/A versions out in the very near future.

Z-offset

Cinder Roxley is working on an alternate approach to the issue of the z-offset and is meeting with some success. However, there is still a problem with the distance offset being inconsistently reported between the user’s viewer and by other viewers (so the avatar may appear at a different height above ground / an object when seen by others in comparison to how they see their own height. Cinder is continuing to work on the problem. If she is successful, the code will doubtless be made available to all TPVs should they wish to adopt it.

Current Outfit Folder Corruption

I reported on this issue in week 17, wherein a Current Outfit Folder (COF) corruption can leave a user unable to log-in to SL and – unless they have a Premium account – beyond official help. This has been something of a longstanding issue, as per JIRA SVC-7653, and has an associated work-around. The concern here is that the workaround will no longer work once SSB/A is enabled server-side.

Commenting on the situation, Nyx Linden said, “we’re looking into a number of fixes around COF for followup releases,” before going on, “Yep, we have people looking at this. Please do continue to let us know as you see cases come up. I’ll sync up with our engineers looking at this and make sure that we have these cases covered.”

SUN-69

Whirly Fizzle recently reported an issue arising from the recent SSB/A code – removing any worn item from avatar results in all temp attachments being taken off (see JIRA SUN-69). This problem occurs whether or not an avatar is on SSB/A regions. It was first noted in the SL development and beta viewers, but appears common to all viewers with the SSB/A code, including the new release version of the viewer referred to above (3.5.1.274821).

Server-side Deployment

With the arrival of the viewer SSB/A code into the SL release viewer, deployment of the server-side code is liable to commence on the main grid. As previously noted in these updates, the plan is for a “constrained” number of regions on Agni to be SSB/A-enabled in order to load test the system. It appears likely that these regions will not be a part of the normal Release Candidate channels (although this is not absolutely clear).

The purpose of this action will be to further stress / load test the new server-side baking service and (hopefully) ensure there is sufficient hardware deployed to support the capability and that there are no unexpected issues arising from large numbers of people starting to the use the system.

Continue reading “SL projects update week 18 (1): viewer, SSB/A and materials”