SL project updates week 45/2: viewer, group chat

The Trace, The Trace; Inara Pey, November 2014, on FlickrThe Trace, The Trace (Flickr) – blog post

This update is taken from notes gathered at the Server Beta meeting on Thursday November 6th, and is somewhat late due to the motherboard on my primary PC failing, and my having to pull out an old PC and get it running (Vista – bleah!).

Server Deployments Week 45 – Recap

  • On Tuesday, November 4th, the Main (SLS) channel was updated with the server maintenance package deployed to all three RC channel in week 44. comprising some minor improvements described by Maestro Linden at the Server Beta meeting on Thursday, October 30th, as, “just some code cleanup and some extra optional debug logging.”
  • There were no RC channel deployments for week 45.

SL Viewer

On Wednesday, November 5th, the Lab issues a new Attachments RC viewer. Version 3.7.20.296355 carries the following description from the Lab:

This release adds some fixes to previously released changes in the way we handle joint offsets in rigged meshes. Originally, if you attached multiple meshes with joint offsets, the results were unpredictable, depending on the order in which the attachments were processed. This means that you could see yourself with different joint positions at different times, and the way you saw yourself might not match up to what others saw. With these changes, the behavior is deterministic, so wearing the same set of meshes should always produce the same joint positions, and the way you see yourself should consistently match the way others will see you.The process for removing attached meshes is also more robust, so you should be able to reliably get your old joint positions back after meshes are removed. People running un-updated viewers will continue to see the original behavior with the original bugs, but will not experience any new regressions due to these changes.

This release also fixes some issues found with adding and removing attachments after the recent AISv3 deploy, and improves the status information shown in inventory for attached objects.

Specific fixes include:

  • BUG-6197 (MAINT-4158) Avatar distorted when changing outfits’
  • BUG-6487 (MAINT-4196) “Wear” Behaves Erratically For Attachments on Same Point’
  • BUG-6908 (MAINT-4350 Attachments scripted to llDetachFromAvatar on region change show as “Worn on invalid attachment point” in inventory after region change’
  • BUG-6439 (MAINT-4189) Shape distortion when wearing / taking off rigged mesh with joint offset’
  • MAINT-4572 Body crusher animations for quadruped avatars do not appear to load
  • MAINT-4605 [LION] Avatar eyes sometimes disappear after adding or removing rigged mesh
  • MAINT-4606 [LION] Avatar shape is deformed after removing some rigged meshes. Deformation is only seen by users on the Lion viewer, not default release.

Note: MAINT JIRA are internal to LL, and not available for general viewing.

Group Chat

Simon Linden is continuing to tweak the group chat code, and has most recently been looking at  the code that routes the messages – where it goes to find where group members are on the grid in order to be able to deliver messages to them, with the aim of trying to improve things there.

A further brief test was carried out during the Server Beta meeting on Thursday, November 6th to see how the changes are working out. During the test, Simon noted that any differences resulting from this round of updates are liable to be less noticeable than other recent changes. However, they should help smooth the process of how the system locates people as they move around SL.

The problem with group chat routing is that everything is run via the region you’re in; so if you move to another region, messages go to the last region you were in, which replies with a message that you’re no longer there, which triggers the chat service to perform a look-up as to where you now are. “So the system has logic (in many places, not just group chat) which is kinda like, ‘try sending to where I think they are, and if that fails, go ask and try again,'” Simon said in explaining the methodology used. It can sometimes result in messages being dropped as a result, particularly if people are moving about a lot as a result of rolling restarts, etc.

Suggestions have been made about using a central service – such as a virtual server – to handle group chat. However, such a solution isn’t favoured by the Lab. “There can be roughly 50k people online at once, all in 42 groups … it doesn’t scale well,” Simon explained.

A further problem noted (by users) with group chat is that it will often open with the original poster’s message absent – the first thing seen is a reply to what was originally said to initiate the session. This doesn’t happen all the time, but has happened enough to be noticed.

In the meantime, and depending on the results of the most recent tests, these updates may well be in an upcoming RC release.

Other Items

Aditi log-in Issues

Some people recently experienced issues when logging into Aditi which resulted in them being logged into a random region rather than their last location. The issue appears to have been linked to a specific inventory host on Aditi, and is now believed to have been fixed (see BUG-7707), so if you’ve experienced the issue yourself on the beta grid, it now should be cleared-up.

 Disconnected When Last to TP on a Region Restart

There have been a number of reports of people finding that if they are the last the leave a region prior to it restarting (either a manual restart or during a rolling restart), they are being disconnected from SL, even though they have apparently successfully arrived in their destination region (i.e. it has rezzed around them and the viewer log records their arrival). BUG-5034 outlines the issue, although it has been reported that the problem isn’t just restricted to estate managers.

Open Scripts Issue

There’s been a long-standing issue where if you have two copies of a scripted object, the script editor won’t open for scripts in one of the objects if the script in the other copy has already been opened – the script editor keeps the first script active (see VWR-27512). This issue apparently now has a fix, which should be appearing in the near future.

Firestorm warns: “be careful what you wish for”!

firestorm-logoPssst! The next release just might have group bans after all!

Jessica Lyon, project manager for the Firestorm team has officially announced the upcoming release of the next version of SL’s most popular viewer, although no actual release date is given.

A new release has been hinted at several times over the last few weeks, and the team is working hard to keep to a 3-monthly release cycle. At the moment, the upcoming release is focus of the Firestorm QA team and is being poked at by beta testers.

Releasing a viewer isn’t necessarily straightforward as might be thought; new features and shiny have to be measured against current code status, stability, and so on, and bugs and their fixes must be weighed against the opportunity to add new shiny or not. All of this made for a balancing act for all concerned; one in which  – especially given the size of Firestorm’s user base – not everyone is going to come away happy when a release arrives.

There have been a lot of updates flowing out of the Lab during the past year, many of which have yet to find their way into Firestorm. But as Jessica notes, stability tends to win-out over trying to crowbar everything into a viewer release:

Firestorm is not, and has never been, a “bleeding-edge” viewer. We have always focused on quality over quantity, stability over shiny. Slow and steady wins the day. Despite complaints and objections, this strategy has helped make Firestorm the most widely used viewer in Second Life by a long shot. In code, almost anything new has bugs and kinks that need to be worked out regardless of who wrote it and how vigilant they were at it. That’s because despite how much testing you do, it isn’t until it lands in the hands of the many that the deepest rooted software glitches start to crop up. Knowing this is one of the reasons we do not merge in and release new features from Linden Lab right away.

While the updates coming out of the Lab have all be to the good, they’ve also not been without their own problems. The AIS v3 code updates, for example, resulted in some od bugs and issues of a non-trivial kind, some of which have only recently been fixed in the new Attachments RC viewer (version 3.7.20.296355) that appeared on Wednesday, November 5th. And while the CDN and the HTTP pipelining viewer have brought improvements to the majority of SL users, they also have generated some issues.

The SL Share 2 features for sharing photos with Flickr and Twitter, and adding post-process filters to images, will probably not be in the next release of Firestorm
The SL Share 2 features for sharing photos with Flickr and Twitter, and adding post-process filters to images will probably not be in the next release of Firestorm

The upshot of this is that while the upcoming release of Firestorm will have new features, bug fixes and improvements, in order to keep code merges, etc., as straightforward as possible and avoid issues which may arise from cherry-picking features and updates from different LL releases, Jessica warns that when released, the new version of Firestorm will be without AIS v3, HTTP (although obviously, it will work with the CDN, just as all viewers do already), SL Share 2, and may not have group bans.

But it’s not all bad news, as Jessica notes:

But we absolutely will have plenty of other features, bug fixes and improvements worth updating for to which I’m very excited about!

Testing is still underway, so it will be another few weeks, most likely, before the new Firestorm release appears. When it does, if you’re a Firestorm user, please do keep in mind that if the feature you were really looking forward to isn’t in the release, it doesn’t men they’ve forgotten it or are ignoring it; they’re just trying  to bring you the best, more reliable experience they can whilst trying to avoid showering you with unwanted bugs and issues.

I’ll of course have the usual review of the release when it appears.

SL project updates week 45/1: server, viewer, texture rendering

France Portnawak, Dreamland volcano; Inara Pey, October 2014, on FlickrFrance Portnawak, Dreamland Volcano (Flickr) – blog post

Server Deployments, Week 45

  • On Tuesday, November 4th, the Main (SLS) channel was updated with the server maintenance package deployed to all three RC channel in week 44. comprising some minor improvements described by Maestro Linden at the Server Beta meeting on Thursday, October 30th, as, “just some code cleanup and some extra optional debug logging.”
  • There are no planned RC channel deployments for week 45.

SL Viewer

On Friday, October 31st, the Lab issued a new Snowstorm contributions project viewer. Version 3.7.20.296071 includes a number of contribution, including Geenz Spad’s work on projectors STORM-2056STORM-2067, a number of Mac OS X issues, a fix for editing an objects rotation with the rotation rings causing the object to jump to position <0,0,0> on the region and rotation changes to <0,0,0> (STORM-2078), and more. See the release notes in the link above or the full list of updates and known issues.

The snowstorm project viewer includes Geenz Spad's improvements to projector reflections (STORM-2067) and
The Snowstorm project viewer includes Geenz Spad’s improvements to projector reflections (STORM-2067) and issues with projected reflections failing to respect the environment intensity (STORM-2056)

 Texture Rendering Issues

There have been mixed reports of texture rendering issues since the arrival of the HTTP Pipelining viewer and the CDN. The reports can be variable in nature, but are apparently quite noticeable. The common symptom is for certain textures to remain fuzzy, as if stuck at a low resolution value (e.g. 64×64), with the higher resolution values failing to load until the mouse is placed over the object displayed the blurred texture or the object is physically clicked upon.

The issue appears to be particularly noticeable when using the HTTP pipelining viewer (I’ve encountered this myself running both the current SL release viewer version 3.7.19.295700, and the latest Alchemy viewer version 3.7.19.34077. It is also not the same issue as texture thrashing (which sees texture change from blurred to clear to blurred, etc., as a result of low video memory) nor is it the same as the interest list issue where panning the camera so that an object is off-screen and then back to it again causes the textures for the object to be re-loaded / rendered.

Gibson Firehawk has raised an JIRA on this issue, BUG-7700, which the Lab sees as a duplicate of BUG-7698, raised by Whirly Fizzle, which is being investigated. If this is a problem you are encountering on a persistent basis within one or more locations in SL, please consider raising a bug report and providing as much information as possible, including steps to reproduce. The more information the Lab has, the better position they’ll be in to poke at things.

CtrlAltStudio provides Oculus SDK 0.4.3 support

CAS-logoOn October 24th, Oculus VR released the latest software version for their SDK. Among the many updates came support for Unity Free developers (Unity versions 4.5.5 and up), and experimental support for Linux.

As a result of the release, Strachan Ofarrel (aka Dave Rowe in the physical world), has updated the Windows Alpha version of his CtrlAltStudio. The new release, version 1.2.2.41214 Alpha 4, issued on november 2nd, 2014, provides SDK 0.4.3,  a number of additional Rift display options and some more general updates:

  • Rift display options:
    • Dynamic prediction: adjust prediction based on latency feedback
    • Timewarp: re-project scene during distortion rendering
    • Timewarp waits: wait until the last moment to do timewarp
    • V Sync: wait for and swap buffers at monitor vertical sync
    • Low persistence: display low persistence images
    • Pixel overdrive: over-drive brightness transitions to reduce artefacts
  • Updated GPU table now includes NIVIDIA GTX 970 and 980 GPUs
  • A fix for Riftlook mouse hover target and context menu locations for in-world objects
  • A fix for Rift positioning in third person orbit camera view.
The new Rift display options can be found in Preferneces > Graphics, and are enabled by default. No restart is required on disabling / enabling any of them
The new Rift display options can be found in Preferences > Graphics, and are enabled by default. No restart is required on disabling / enabling any of them

All of the Rift display options are enabled by default in the viewer, and no restart is required when disabling / enabling them, allowing for rapid-fire experimentation. In addition, and in relation to them, Strachan provides the following advice in the release notes and blog post accompanying the release:

The “Timewarp waits” option shouldn’t really be made visible to the user, but in my testing I found that it seemed to help to be able to turn it off if rendering at significantly less than the frame rate the DK2 is set at. The variability of the frame-to-frame timing in Second Life may well be why.

The optimum settings depend on what frame rate you’re achieving and your personal preferences and sensitivities to different display behaviour: if you’re achieving the ideal of 75Hz including while turning your head then the default of all options enabled is best; otherwise you will probably want to try disabling one or more, consider configuring your Rift display to 60Hz, and possibly try enabling triple buffering in your display driver.

As with the previous ALpha releases with DK2 support, this version will install into its own directory, allowing it to be used alongside the release version (although it will obviously over-write Alpha 1 or ALpha 2, if installed). Also note that with this release:

  • There is still no support for the Rift’s with direct mode
  • The Advanced Lighting Model option in Preferences > Graphics needs to be enabled
  • The Oculus 0.4.3 runtime is required.

Related Links

Viewer release summaries: week 44

Updates for the week ending: Sunday November 2nd, 2014

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 Current Viewer Releases 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. This page 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
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information

Official LL Viewers

  • Current Release version:  3.7.19.295700, released on October 29th – formerly the HTTP pipelining viewer (release notes)
  • Release channel cohorts (See my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Benchmark viewer RC updated to version 3.7.20.296094 on October 30th  – removes reliance on the GPU table for determining the viewer’s initial graphics settings (download and release notes)
  • Project viewers:
    • Snowstorm project viewer version 3.7.20.296071 released on October 31st  – Japanese input; improved rendering of projectors; fixes for object editing bug when rotating and crash on exit on OSX Yosemite in full screen mode, etc (download and release notes)

LL Viewer Resources

Third-party Viewers

V3-style

  • Alchemy updated to version 3.7.19.34077 Beta on October 27th – core: updates: LL HTTP pipelining code; legacy search implementation; world map updates; camera floater improvements, projector improvements, etc. (release notes) – my overview
  • Black Dragon updated to version 2.4.0.3 on October 29th and then to version 2.4.0.4 on October 31st –  core updates (both): LL HTTP pipelining code; Godrays updates; new shadow softening kernel; projector improvements, etc. (release notes)
  • CtrlAltStudio updated to version 1.2.2.41214 on November 2nd – core updates: updated to support Oculus SDK 0.4.3, addition of several Oculus display options (release notes)
  • Restrained Love Viewer updated to version 2.9.3 on October 30th – core updates: numerous RLV updates; inclusion of SLS Share 2 features and updated snapshot floater; LL SSA updates (download site)

V1-style

  • No updates.

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

Black Dragon 2.4.0.4 and Restrained Love 2.9.3 updates

Things are liable to be getting busy in terms of TPV viewer updates over the next month or two. As noted in this blog, the Lab has now released their HTTP pipelining code for the viewer, which TPVs are being encouraged to adopt as soon as they can, and there have been a spate of other updates and fixes for the viewer that already are, and will be finding their way into TPVs.

Two of the most recent v3-style viewer to update have been Black Dragon and the Restrained Love Viewer, and the following is a quick overview of the most recent releases for both of these viewers.

Black Dragon 2.4.0.3 and 2.4.0.4

Black Dragon received two release updates in the space of around 24 hours. The first came when NiranV Dean released version 2.4.0.3 on October 29th, and the second saw the release of version 2.4.0.4 on October 31st.

A blog post on Niran’s website outlines the principle changes which appeared in the 2.4.0.3 version of his viewer, summarising them as:

  • A fix for the viewer failing to correctly apply maturity settings
  • An experimental update to the Godrays feature by Tofu Buzzard so that they now cast a faked volumetric sunlight everywhere where light can fall
  • Godray default lowered to 32
  • A new option in Preferences > Display to switch between a new shadow softening kernel by Tofu Buzzard and the LL default
  • Keyboard shortcut for Depth of Field locking changed to CTRL-X in the hopes of correcting a clash with another (unknown) shortcut
  • Addition of Geenz Spad’s spotlight reflection changes.
The latest release(s) of Black Gragon see an experimental volumetic lighting capability added to the Godrays feature (images via the Black Dragon website)
The latest release(s) of Black Dragon see an experimental volumetic lighting capability added to the Godrays feature (images via the Black Dragon website)

The 2.4.0.4 release is, in terms of user functions, the same as the 2.4.0.3 release; the major difference is that he has the Lab’s HTTP Pipelining updates included (which Niran has, for some reason referred to as the “CDN code”).

Geenz Spad’s work on glossy projectors can be found in JIRA  STORM-2067. This corrects the tendency where, depending on a surface’s environment intensity, projected reflections they become more blurred as their intensity increases, they should become sharper for higher gloss values and more blurred for lower values.

Geenz's work on projectors: as projected in the current viewer code (top) and in a viewer using Geenz Spad's enhancements
Geenz’s work on projectors: as projected in the current viewer code (top) and in a viewer using Geenz Spad’s enhancements

As always, full details of all changes can be found in the change logs for the viewer.

This is another progressive step forward with Black Dragon, with Niran working to address issues as well as integrate updates from both LL and other developers which help further enhance the viewer and take it in a direction which matches the Lab’s important HTTP updates as well as enhancing the features Niran uses to help differentiate his viewer from other TPV offerings.  Black Dragon users should be pleased.

Continue reading “Black Dragon 2.4.0.4 and Restrained Love 2.9.3 updates”