SL project updates: week 10 (2): server, SSB, materials and SSAO

Server Deployments Update

All of the deployments planned for week 10 went ahead as scheduled. While further issues related to region crossings have been reported, these are not thought to be related to any of the new code deployments for this week (see below for more).

The one issue that has been noted with the deployments is for VWR-786, which formed a part of the Magnum deployment.

This was supposed to ensure that if a friend does not have ‘See my online status’ permission, they will now see “User is not online ..” message following IM or inventory offer. However, the result has also been that if you IM a non-friend, the server always returns the “User is not online” message. The short-term solution for this is to remove the change from week 11’s releases in the interest of getting the other fixes (BUG-1612 and SVC-8019) across the grid.

The Lab is particularly keen to see SVC-8019 deployed to the entire grid, as this should fix issues of regions not handshaking correctly with one another following a rolling restart. The cause of this is believed to be due to regions looking at stale cached copies of a neighbouring regions’ status. With the update, regions grab more up-to-date copies of the status of their neighbours.

Server-side Baking: Further Pile-on / Load Test

Nyx Linden has announced that there will be a further SSB pile-on / load test on Thursday March 14th, following-on, as with the last test, from the Server Beta meeting on Aditi. The test is liable to be in much the same format as the first test, of which Nyx notes, “It gave us a lot of information and we’ve been working on a number of fixes, both to Aditi inventory, as well as viewer and back-end changes. Given this, the reason for the next test, in Nyx’s words, is because, “We’d like to see how much progress we’re making.”

The first SSB pile-on / load test (image courtesy of Latif Khalifa
The first SSB pile-on / load test (image courtesy of Latif Khalifa

Those wishing to participate will be required to be using the latest version of the Sunshine project viewer (3.4.5.271419), and are advised to attend the Server Beta meeting on Aditi ahead of time (the meeting commences at 15:00 SLT on Thursdays). Addressing those who participated in the first test, Nyx added, “If you had trouble at the last pile-on with outfit switching, feel free to test out the new build in advance – you should be able to comment on the JIRA tasks you filed, or email me directly with any issues.”

Materials Processing

Following-on from his replies to my question at the open-source dev meeting on Monday March 4th, Oz Linden talked some more on the status of the materials processing project at the Wednesday meeting on March 6th, “There’s one build floater bug and one crash that need fixing,” he said in kicking-off the discussion on materials, “I might even be willing to let it out without the crash fix (though it’s pretty bad).”

However, before everyone starts shouting, “Yes, yes!” :), even the release of a crashy version of the project viewer requires the “other” problem to be fixed. This appears to be related to a texture list getting corrupted, and which can manifest in a number of ways, including:

  • The normal map picker reverts to displaying the diffuse (texture) map after a normal map has been selected and the picker closed, with the normal map failing to render on the object / face it has been applied to
  • If deferred rendering is turned off, anything using materials appears black
  • If bump mapping is disabled, objects using materials appear to randomly adopt nearby textures (including skin textures) which can change as the camera is rotated / moved.
Normal map application issue: a normal map is selected and apllied to an object face (l); however, on re-opening the build floater, the map appears to have reverted to the diffuse map (r), and the object face does not render as expected
Normal map application issue: a normal map is selected and applied to an object face (l); however, on re-opening the build floater, the map appears to have reverted to the diffuse map (r), and the object face does not render as expected

Continue reading “SL project updates: week 10 (2): server, SSB, materials and SSAO”

SL projects updates: week 10 (1): server, materials and SSB

Server Deployments Week 10

A full set of server deployments this week.

On Tuesday March 5th, the Second Life Server (SLS) channel received the server maintenance project that was deployed to all three RC channels in week 9. This update only contains a fix to a single crash mode.

On Wednesday March 6th, the three Release Candidate channel should receive the following code deployments:

  • BlueSteel and LeTigre: a new server maintenance project, which fixes a fairly common crash mode, together with Baker Linden’s large (as in file size) object rezzing project aimed at improving simulator performance (see below)
  • Magnum: a new server maintenance project, which includes a mix of bug fixes and stability improvements. Specific fixes mentioned in the release notes are:
    • BUG-1612: region Owners and estate managers finding they are unable to teleport back to their region after disabling direct teleports to the region
    • SVC-8019: region visibility delays following region restarts. This may help with the problem of diagonally adjacent regions failing to render
    • VWR-786: if a friend does not have ‘See my online status’ permission, they will now see “User is not online ..” message following IM or inventory offer.

Large Object Rezzing Project

Baker Linden has been looking to improve how objects with large file sizes are handled by the simulator software when being rezzed. He describes the work thus, “What I’ve been working on is hopefully significantly decreasing lag spikes when rezzing large, complex objects [such as those with lots of scripts]. Large does not necessarily imply size, but size of the files being read. When an object is rezzing, we have to parse the object / mesh files and create our in-world objects with that data.”

Until now, reading and parsing of any files related to objects which require rezzing has been on the main thread. When several such objects requiring rezzing at the same time, the simulator stalls. Baker has been moving the reading / parsing operation to a background thread in the expectation that this will prevent the simulator being choked.

The key point about this work is that it is specifically aimed at preventing the simulator processes from choking and a region stalling when there are a number of large object files being read / parsed, not at actually “speeding up” the physical rezzing process. As such, it is unlikely that objects will appear any faster in people’s in-world view as a result of this work. However, what it does mean is that the simulator code will be better able to handle rezzing multiple “large file” objects without the attendant region lagging which can occur as a result of the simulator being unable to process messages from viewers and other simulators, etc.

Materials Processing

In my last update on this work, I reported that the Lab believed they had one more issue to resolve with the materials processing project, after which the way should be clear for a project viewer to be made publicly available. At the time, it wasn’t clear exactly what the problem might be. However, on Monday March 4th, I was able to ask Oz about the problem, and it appears that it is with the project viewer itself.

“We’ve got a viewer, but it’s so crashy, and the crashes are mostly in material property editing, that I don’t want to distribute it yet…. I’m concerned that doing so would result in a lot of broken content lying around,” Oz informed me.

Materials processing: viewer issues delaying project viewer release (image courtesy of Geenz Spad)
Materials processing: viewer issues delaying project viewer release (image courtesy of Geenz Spad) – click to enlarge

I asked Oz if the crash problems were related to physically applying maps to objects and / or object faces. He confirmed that this is indeed the case – and that the latest (non-public) version of the project viewer can crash if even the parameters for maps applied to an object / object face are modified. However, he went on to say, “Hopefully we’ll get the worst of the crashes dealt with soon, and then we can start giving it to a wider audience. We’ve already solved a bunch of them, but it’s not quite ready for even open alpha testing.”

So, for those who commented on the lack of any update following my last SL project update from week 9, I’m afraid the situation still appears to be one of, “Hurry up and wait.”

Continue reading “SL projects updates: week 10 (1): server, materials and SSB”

SL project update: week 9 (2): servers, HTTP, SSB

Server Deployments – week 9

Server Life Server (Main) Channel

As noted in part 1 of this report, the Second Life Server (SLS / Main channel) received the server maintenance project which was on all three RC channels in week 8, comprising miscellaneous bug fixes, and the improved region restart notification. Deployed on Tuesday 26th February, the roll-out was followed by a number of issues being reported via the deployment forum thread.

Issues have included:

  • Parcels / regions vanishing from search for a period of time following the restart (an issue WolfBaginski Bearsfoot gave some thought to in commenting on part 1 of this report)
  • Further region crossing issues, with loss of control followed by “broken” camera positioning after recovery. This issue has been reported at some of the Simulator and Server Beta meetings previously, and Eric Gregan has produced a video demonstrating the problem as it occurs on some aircraft, although he’s also come up with a means of avoiding the issue which may or may not work for people.

  • Problems with Dwarfins attachments.

Release Candidate Channels

On Wednesday February 27th, all three Release Candidate channels received a new server maintenance package which includes a fix for a crash mode (see the release notes (BlueSteel)). No significant issues have been reported for this deployment.

SL Viewer

The Communications Hub User Interface finally made its debut in both the SL development and SL beta servers, arriving as release 3.5.1.270826 for the development viewer on Tuesday 26th February, and 3.5.0.270825 for the beta viewer on Wednesday 27th. I’ve provided a brief introduction to CHUI, and there is also a video from Torley Linden.

CHUI is liable to remain in beta for a “Good long run”, to quote Oz Linden. Hopefully, this may mean that materials processing will be the next significant viewer update to arrive as a project viewer.

Interest List

The recent updates to Andrew Linden’s interest list work are apparently won’t reach a RC channel in week 10, but should see deployment in week 11 (week commencing Monday 11th March). This work includes fixing issues with avatar appearance teleporters which use llSetRegionPos(), as well as correcting problems where objects which change appearance behind the camera ‘snapping’ into place when you rotate the camera back.

Server-side Baking

On Friday March 1st, Linden Lab unexpectedly released an updated version of the SSB project viewer (release 3.4.5.271118), which includes their approach to overcoming the problems of the Z-offset capability common to many TPVs being broken as result of the SSB code. The new approach, which I was able to outline when it “launched”, introduces an additional shape slider into the Edit Shape floater; as such, the ease-of-use of the approach, particularly for those who may swap between different avatar shapes (e.g. “normal” and petite) is very questionable.

The new "Hover" option in the Edit Shape panel for adjusting avatar height offsets in the Sunshine project viewer. Not the most elegant solution
The new “Hover” option in the Edit Shape panel for adjusting avatar height offsets in the Sunshine project viewer. Not the most elegant solution

Continue reading “SL project update: week 9 (2): servers, HTTP, SSB”

Linden Lab offer z-offset fix for Server-side Baking

Update March 4th: The main viewer download links on the Sunshine wiki page now all reference the updated viewer  version (3.4.5.271118).

Update March 2nd: Just as a point of clarification, the update discussed here is not currently linked-to from the Sunshine wiki page. To obtain a version of the viewer with the updates, you will need to download version 3.4.5.271118 of the viewer (link repeated here for ease-of-refernce).

As I recently covered, a problem has emerged with Server-side Baking in that it “breaks” the Z-offset capability found in the majority of third-party viewers.

The Z-offset allows the vertical height of an avatar above the ground to be adjusted, such that sits and kneels don’t leave the avatar apparently floating in the air, and which allow those with very tall / giant avatars or very small / petite avatars and those wearing full body mesh to similarly adjust their vertical placement relative to the ground / floor.

The problem was reported to Nyx in week 8, and SUN-38 was subsequently raised by Henri Beauchamp on February 24th to officially log the matter.

On March 1st, Linden Lab issued an update to the Server-side Baking project viewer (release 3.4.5.271118) which is an attempt to address the issue.

The new capability is referred to as SH-3909 Support avatar height offset and is described as, “Adding a new visual param that allows users to manually adjust an offset for how far off the ground (+ or -) their avatar’s root bone is.Supports the +-2m range people are used to adjusting in their viewers, but new implementation should support server-generated appearances.”

It appears within the viewer as a new slider in the Body section of the Edit Shape floater, called “Hover”.

The new "Hover" floater
The new “Hover” option in the Edit Shape floater’s Body tab

Moving the slider to the right or increasing the displayed value will move your avatar upwards, much as increasing the Z-offset value in a TPV will. Moving the slider to the left or decreasing the displayed value will move your avatar down. As with all the shape sliders, any changes must be saved prior to exiting the editor, in order to be persistent beyond editing.

The slider offers a huge range of height adjustment compared to the z-offset slider in the likes of Firestorm, and is somewhat less accurate – with most TPV Z-offset options, height above ground can be precisely adjusted to 2 decimal points, whereas the Edit Shape floater only allows whole numbers in the range 0-99.

The "Hover" option presents a huge range of vertical motion when adjusting
The “Hover” option presents a huge range of vertical motion when adjusting, which should accommodate the both the tallest avatars …

The vertical range of movement can be considerable, and lead to some interesting results when saved – your avatar can currently disappear entirely underground, for example. Also, adjustment made using the slider are not apparent in viewers which do not have the SSB code – something which shouldn’t be a major problem, given the need for people to be using SSB-enabled viewers once the server-side code starting deploying to the main grid anyway.

What might be of greater concern, however, is the fact that the control has been incorporated into the Edit Shape options means that it cannot be used on No Modify shapes, which could leave those using such shapes still feeling aggrieved if they are impacted by the height offset problems resulting from SSB.

...and the shortest.
…and the shortest.

It’s an interesting approach to solving the problem – and it would appear that LL consider the matter now resolved, Nyx Linden having issued an e-mail to the opensource dev list which reads in part:

Added a new parameter to shapes to replace the viewer-side height offset. Since it is stored in a wearable, the new back-end can read and use the value. Will send an email to third-party devs later today to let them know to pick up the patch.

Marking SUN-38 as resolved.

Given that earlier in the week – at the Content Creation User Group meeting on Monday February 25th, where the subject of SUN-38 was raised, Nyx commented, “It hasn’t escaped our notice. We’re considering a couple different approaches … we’re considering a few different options. Suggestions appreciated, but we haven’t officially settled on an approach we’re going to commit to publicly just yet”, it will be interesting to see the response is to this particular fix.

With thanks to Latif Khalifa, who both provided me with news of the arrival of this update, and provided the necessary links for me to have a play.

Lab updates on recent improvements – no date for materials processing

Linden Lab issued one of their (increasingly rare) blog updates on ongoing work with Second Life. The updates comes on the heels of the release of CHUI, the Communications Hub User Interface, which reached LL’s development and beta viewers on the 26th and 27th February respectively, and which I’ve briefly overviewed. Until now, the only official notice of CHUI’s arrival had been via a forum post which hasn’t been entirely visible, so the blog update include Torley Linden’s informative YouTube video on the release.

The update also references the e-mail preference changes made to the Marketplace at the start of February, as well as passing comment on region crossings, noting:

We have made several improvements to region crossing that allow a smoother transition between regions, instead of the jerky transition some users experienced in the past. This change also reduces the rate of teleport failure rate. This went out the full grid on January 25, 2013. Since that date, the number of reported teleport failures has dropped by 91%.

While teleport failures may have been reduced, many are still seeing continued issues with vehicle crossings …

The Cocoa project for the Mac builds of the viewer, which I made mention of in week 8, and offers a link to the Cocoa Project viewer for Mac users.

Finally, the post looks ahead to upcoming features and updates – but sadly, only makes passing mention of the materials processing project. One can hope that as CHUI is now in the beta viewer and there was, s of week 8, apparently only one remaining issue with materials to be dealt with, a project viewer will finally be appearing sooner rather than later …

Related Links

CHUI reaches the SL beta viewer


CHUI, the Communications Hub User Interface has taken two major steps towards official release, having been integrated into both the SL development and beta viewers.

The release of the SL development viewer containing CHUI came on February 26th (3.5.1.270826). This was followed 24 hours later with a beta viewer release on the 27th February, again containing the CHUI code (3.5.0.270825). Both of these releases see the SL beta and development viewers move to the 3.5 code base.

As well as CHUI’s new conversational and chat log floaters, which I previewed a while back – although it has had a number of changes since then – the viewer brings a number of changes to the overall way in which user communications are handled by the viewer, including a new set of chat preference options for handling incoming messages and notifications.

The most immediate change with CHUI is the conversations floater, which may open automatically as the viewer is started if you have received offline IM or are receiving incoming messages from HUDs, etc., while logging in.

Conversations Floater

For those who have been using TPVs as their primary viewers, the updated CHUI Conversations floater will appear very familiar, as it gathers IM windows and Local Chat into the same panel. On the left is a vertical tab display which will list all open conversations, whether individual IMs or group chats, and which includes four buttons. On the right is the actual conversation window, which has six buttons associated with it, not all of which many be active at all times (the first three are automatically disabled in local chat, for example).

CHUI Conversations floater
CHUI Conversations floater

These buttons put all of the most common controls required for text / voice conversations within the floater itself, providing it with considerable power and ease-of-use. The chat window display options, of example, allow you to switch quickly between displaying chat headers (the little icon bars within the conversation) or removing them (so that just names and text are displayed) and whether or not to show the time, or even the name of the other person in one-to-one IM conversations.

As noted in my original preview of CHUI, the minimise buttons on the floater are particularly useful, as they offer a number of ways in which the amount of screen space is taken up by the floater. The buttons can be used individually or together, to radically reduce the amount of space the floater takes up.

CHUI: The new conversations floater in three display modes - open, collapsed, & minimised (image uses the CHUI project viewer)
CHUI: The new conversations floater in three display modes – open, collapsed, & minimised (image uses the CHUI project viewer)

Continue reading “CHUI reaches the SL beta viewer”