Viewer release summary 2012: week 48

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: 2 December, 2012

(With a couple of extras!)

  • SL Viewer updates:
      • Current version rolled to 3.4.2.267137 on November 26 – release notes
      • Development version rolled to 3.4.4.267322 on November 28
      • Mesh Deformer project viewer rolled to 3.4.1.267522 on December 1
  • Dolphin – two updates:
    • November 27 rolled to 3.4.4.26695 – core updates: primarily fixes and updates  – see the release notes
    • December 3 (included here due to updates) – rolled to 3.4.5.26752 – core updates: changes to graphics setting to reflect latest updates from LL reflecting the underlying changes to how graphics cards are grouped into classes; “rebake region” button moved into a menu option in Build/Pathfinding; adds fix for edge-on rotation always behaving as if “snap to grid” is enabled; columns in the Area Search floater can now be properly resized; IM tabs can now be vertically stacked in the Conversations floater – release notes
  • Firestorm rolled to a FULL release – 3.4.1.31155 on December 3 core updates: too many to mention; please see the release notes and my Beta release review (update to follow)
  • Niran’s viewer rolled to version 2.0.4.2321 on November 27 – core updates: ESC now closes the overlay floater; explanatory notes on issues with saving graphics presets; assorted fixes and updates – release notes
  • Cool VL updates:
    • Stable branch rolled to 1.26.4.41 on December 1 – core updates: removal of unused crash reporter (see release notes for explanation); improved default positioning of floater panels when running Cool VL for the first time; better defaults for the camera settings; improved the media HUD, now with a volume slider; implemented click events on the status bar stats graphs; added highlighting and tool tip support for the missing llGetParcelMusicURL() LSL function, and for the new LSL constants OBJECT_PHYSICS, OBJECT_PHANTOM and OBJECT_TEMP_ON_REZ; assorted fixes, including crash issue on opening/immediately closing pathfinding tools
    • Experimental branch rolled to 1.26.5.21 also on December 1 – core updates as per main release, plus: Many changes to shared media support see this message for details; fixed improper default settings for local lights and water reflections in the feature tables
    • Release notes
  • Libretto – removed from round-up page due to website being unavailable and client removed from the SL Third-party Viewer Directory.

Related Links

SL project news: week 48/3: Interest List update

Andrew Linden continues to forge ahead with his initial work on Interest Lists, which forms a part of the Shining Project. As reported last time around, the issue of people’s HUDs appearing on other people’s screen has been fixed, and the code is currently with LL’s QA for testing.

Given the progress made, Andrew re-capped on the project / gave further insight into this initial phase of the work Server Beta User Group meeting on Thursday November 29th.

Object Updates

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. This done through the code only sending required updates to the viewer for objects which are within the camera’s line-of-sight. Essentially, updates on objects take three forms regardless of which Interest List code is being used:

  • A “full” update – required when an object is “seen” for the first time or which is constantly updating position / appearance
  • A “terse” update – required only when an object is changing appearance / position relative to the viewer’s in-world view
  • A “please delete” update when the object has been removed from the viewer’s in-world view (e.g. it has been deleted or taken back to inventory).

The new updates are aimed specifically at the number of “terse” updates being sent to the viewer. Under the current Interest List code, these updates are continuously sent out by the server to all viewers in range of an object in motion or undergoing change, regardless as to whether what is being updated (in terms of movement or appearance) is actually visible in the window of the viewer. With the new Interest List code, updates are only sent to your viewer based upon what is actually in your world view.

This means, for example, that if you can see a bouncing ball on your screen and then turn your avatar or camera so it is no longer visible to you, under the old system, data packets relative to the ball’s motion continue to be sent to your viewer, even though they are no longer required. With the new system, the updates cease shortly after the ball moves off your screen, and only resume as the ball moves back on to your screen once more (no actual content is broken by this change, it is simply a change in the amount of updates being sent from server to viewer).

The net result of this is to reduce the amount of data the server is sending to the viewer, thus helping improve performance. As the new code applies to both objects and avatars, this can amount to a substantial improvement, as Andrew commented during the meeting, “I think we’re currently seeing a 30% improvement (in the time spent in “Agents” in the stats) for the case of about 30 avatars running around in a region with 12k prims”.

However, there is a side issue with these changes, which Andrew and the devs are currently looking into. If you turn away from a moving object for a length of time such that the terse updates from the server are no longer sent, then suddenly pan the camera / turn so the object is once again in view, there might be a brief delay (one second, currently) before the object correctly updates. This is because the viewer is rendering the object based on its “old” data received from the server before getting the latest updates from the simulator. The time delay can potentially be reduced, but doing so can negatively impact the overall performance gains made. Because of this, Andrew is holding it at one second in order to ascertain how much of an impact the delay actually has as the code is tested.

Camera Follow

Currently, everything you see in-world is almost exclusively based on its position relative to your avatar, regardless as to where you move the camera. This is why, as you cam further away from your avatar, objects may appear with less and less detail, or may not render at all (particularly smaller objects) – their respective level of detail is being calculated based of their distance from your avatar, not from their distance from your camera.

With the new Interest List code, what you see in-world is now based upon the position of your camera. The benefit of this being that as you cam around, objects should render at the correct level of detail relative to your camera (so no more sculpts which appear to be stuck at a lower LOD despite your camera hovering a few metres away from them, for example). The difference between the two approaches can be seen in the image below.

Interest List in action: in the top image, the current problem. The interest list code is based on the avatar position. I'm standing 100m from a .5-cube with a 0.001 cube on it. When zoomed in on the cubes, the smaller one remains invisible (and I vanish from view). In the bottom image is the same set-up using the new interest list code. The 0.001 cube is now visible when I zoom in via camera, and I'm also visible, over 100m away.
Interest List in action: In both images, I’m standing 100m from a .5-cube with a 0.001 black cube on top of it. When I cam out to the cubes using the existing Interest List code (top image), the black cube fails to render, due to the level of detail sent to the viewer is based on my AVATAR’S position, despite my camera only being a metre or so away from the small cube. However, under the NEW Interest List code (bottom image), the small black cube is rendered, because the level of detail being sent to my viewer is now based on my CAMERA’S position (click to enlarge)

Continue reading “SL project news: week 48/3: Interest List update”

SL project news: week 48/2: RC issues, region performance and Aditi issues

Server Deployments Week 48

After a smooth deployment to the main channel on Tuesday 27th November, things got a little unsettled on Wednesday 28th November with the deployments to the RC channels. As noted in part 1 of this report, these were supposed to comprise a maint-server release to BlueSteel and LeTigre, with the same package and a few extras going to Magnum.

The problems started during the actual deployment on Wednesday, wherein after successfully updating Magnum and BlueSteel, the deployment team started noticing issues unrelated to the deployment which caused Coyot Linden to call off the LeTigre roll-out until things were sorted. However, as Maestro Linden takes up the story:

Then there were reports in the forums about offline IM emails from objects being broken; if an object sent you an IM and you were offline, the offline email would contain all the usual details *except* for the message. This bug affected both BlueSteel and Magnum since they both shared the responsible change. Then, after digging into offline emails a bit more, we noticed that the ‘To’ field of offline emails would show the object owner’s name instead of the recipient’s name … which was a little confusing … Anyway, these bugs were kind of bad, but we weren’t sure that they were worth the trauma and downtime of an emergency rollback …But then this morning, we became aware of a 3rd bug, from support. It turned out that deeding parcels to groups was failing.

It was this third bug which was deemed sufficiently serious enough to warrant a roll-back of the RC deployments, which took place on Thursday 29th November, with the result that all four channels are now running on the same release – 12.11.09.266804. Kelly Linden has fixes for all three issues, but they are currently in testing, and the plan is to try again next week with the RC deployments.

Region Performance / Memory Issues

The physics memory issues which I reported in week 47, and then provided an update on in Part 1 of this report have received further attention from Linden Lab. The problem has been with some regions experiencing severe physics memory bloat within a short time of being restarted, with the result being that they rapidly reach a threshold of memory use (~230MB for homesteads, ~920MB for full regions) which prevents rezzing of any objects, in-world or attached.

In investigating the issue, Simon Linden located a source of memory leak related to the Havok system which may address the issue, and is hopeful he has found a fix. Commenting on the matter at the Server Beta meeting on 29th November, “I’m in the midst of hacking a special test mode for a region … I’m going to make it continuously re-bake the navmesh and terrain data. I’ll let that run overnight and see what happens … I’m not going to claim victory quite yet … this is like that point where you hit the zombie hard, but you have to see if it comes back again.”

Aditi Grid Log-in Issues

It had been hoped that the Aditi situation, wherein problems with inventory-related data is preventing people from being able to log-in to the beta grid – would be discussed at the Server Beta meeting, but these were somewhat side-lined by discussions on other projects, most notably Interest Lists (work on which prevented Andrew Linden from digging into the matter following the Simulator User Group meeting on Tuesday 27th November).

While Maestro was able to confirm that a member of Linden Labs is, “Working on a script to help the Aditi inventory situation”, little more information was provided at the meeting due to other ongoing conversations. Hopefully, this matter will be picked up next week.

PATHBUG-183

In working on Interest Lists, Andrew Linden had hoped he’d sorted a fix for PATHBUG-183, which relates to offscreen physical objects flying across your in-world view. The code for the fix has been available on Ahern, on the Aditi grid, but there are reports that while the problem may have been somewhat reduced in scale, it is still very apparent. Andrew hopes to look into this during week 49.

Region “Flicker” and  Content “Warping”

There has been some issues related to viewing neighbouring regions and crossing region boundaries. These issues take a number of forms, and are related to both server and viewer issues:

  • The entire neighbouring region “flickers” if you are near its edge
  • After crossing between regions, the content of the region you have just left seems to appear in the region you’ve just entered, usually somewhat warped / deformed
  • “Cachable” objects (e.g. unscripted and non-physical) objects vanish from your view of a region on leaving it
  • A region appears to “reset” (re-renders) itself shortly after leaving it
warp-4
Sometimes on crossing between regions, objects from the region you’ve just left seem to appear warped and deformed in the region you’ve just entered…
...only to disappear after a few seconds / as you approach them
…only to disappear after a few seconds / as you approach them

The first two of these issues are considered to be viewer-related bugs which are thought to have been resolved in code currently in the viewer development. The final item in the list is related to a server issue which Andrew Linden believes to have been fixed as a part of his work on Interest Lists. The “cacheable” objects problem was also considered to be a viewer-side bug which has also been addressed in viewer development, but in considering the problem at the Server Beta meeting, Andrew Linden thought there might actually be more than one bug responsible and indicated he would be looking into this some more.

SL project news week 48/1: server and beta, viewer, maps and memory

Server Deployments

After indications from LL that there may not be a Main channel deployment on Tuesday 27th November, restart commenced as the deployment made to the RC channels last week went ahead as per the usual schedule.

Wednesday 28th November should see the three main RC channels updated as follows:

  • BlueSteel and LeTigre: should receive a maint-server project.  There are a few new flags for the LSL function llGetObjectDetails(), but the most important changes are some fixes for physics and mesh-based crash modes – see the server release notes
  • Magnum should receive the say package, with additional stability improvement changes – see the Magnum server release notes.

As usual there is a forum thread for the week’s server deployments.

Viewer News

Release Viewer

The 3.4.2 viewer code finally reached the release (production) version of the LL viewer with the release of 3.4.2.267137 on Monday 26th November, which I briefly reviewed here.

Beta Viewer

The beta viewer, now cleared of the crash issue bottleneck, moved rapidly through the 3.4.2 code base prior to Thanksgiving in the US, as previously reported in the news updates, and then reached 3.4.3 with the surprise release of 3.4.3.267135 during Thanksgiving week, after it had been indicated there would be no viewer releases during the week due to decreased support staff availability during the long weekend period. As reported last week, this release includes the first phase of Monty Linden’s HTTP texture fetch project, which should see people experiencing significantly faster texture rezzing when in-world.

CHUI Viewer

The CHUI – the Communications Hub User Interface – project viewer is due to go through another couple of iterations before moving towards a development / beta viewer code merge. There has already been one update since the project viewer, which is aimed at improving the capabilities and reliability of in-world text and Voice conversations, first appeared.

CHUI: potentially a couple more iterations to come

While he has not followed the project first-hand, Oz Linden believes CHUI to be nearing a “feature complete” status. The advice is that if you haven’t tried it out and wish to give feedback, now is the time to do so.

Mesh Deformer

Nalates Urriah provides an update on some of the ongoing work around the mesh deformer. In the meantime, speaking at the Open Development User Group meeting on Monday the 26th November, Oz linden responded to a question from White Rabbit as to what garments are still required for testing by saying, “That’s a great question. I’m setting up a meeting with the people responsible for avatars to try to get a proper acceptance test defined for both that and STORM-1800.” STORM-1800 relates to the vertex weights of the default avatar character mesh.

While Oz didn’t specify a date for the meeting, those with a direct interest in either supplying mesh clothing for testing or in the JIRA should be hearing from him in the near future on the meeting details.

Continue reading “SL project news week 48/1: server and beta, viewer, maps and memory”

SL production viewer reaches 3.4.2

Update 18:35 GMT: Sometimes one reads the release notes and misses things. See the section on the Volume Controls towards the end of this article

The official SL viewer has now moved to the 3.4.2 code base with the release of version 3.4.2.267137.

This release brings with it a couple of signficant changes and a host of updates and fixes.

Steam Link-up Changes

Anyone performing a completely fresh install (including the removal of all account-related folders from the computer) will clearly see that the code for the forthcoming link-up with Steam is now present in the viewer, as the prompt to create an account will be prominently displayed.

The prompt displayed for anyone who installs the SL viewer for the first time – primarily aimed at those who will soon be able to download the viewer through Steam without necessarily having an SL account.

For those who do not perform a clean install, the prompt will not be displayed (as the viewer will locate existing account-related folders), nor will anyone who automatically updates their viewer should they see a prompt to do so. This means that the pop-up dialogue will not plague everyone who has an SL account, so shouldn’t be a source of annoyance. However, the cleaned-up bottom section of the screen (also with a “Create Your Account” option in the lower right corner) will obviously be visible to all, and gives a further indication that things are progressing.

This change also doesn’t mean the Steam link-up is live; I understand from Linden Lab that there are still some steps to be completed outside of this work. But again, given the viewer updates are starting to appear, it is reasonable to anticipate the time for a formal announcement to be drawing closer.

The prompt will also (I believe) be seen by those who come to SL via the “traditional” route of signing-up for an account first via the SL website (or any of the third-party sign-up options which may still be available) and then downloading the viewer. As such, it’ll be interesting to see if anyone gets a little confused by a prompt asking them to create an account when they believe they’ve already done so, rather than simply ignoring the pop-up by clicking CONTINUE.

Group Services Code

Large group management via HTTP service now part of the official release viewer

Key among the rest of the updates to the viewer is Baker Linden’s Group Services code designed to make use of the new HTTP service already available on the grid.

As there has been some confusion as to what this is all about, and at the risk of repeating myself, here’s a quick recap of the main points:

  • The new code allows for improved loading of membership lists of very large groups, together with improved reliability in editing such groups (i.e. assigning roles, removing people, etc.), by the group moderators
  • Until such time as the viewer-side code has been incorporated into all TPVs, the “old” method of loading group lists into the viewer will still be available. However, viewers using the “old” method (a protocol referred to as UDP) will have group loading capped at 10K members. This means:
    • That for groups with 10K or fewer members, there will be no change regardless as to whether the viewer is using HTTP or UDP
    • But for groups large than 10K, viewers running the UDP code will be unable to load the group until such time as they have been updated to the new code
  • The code will not lead to any improvements in group chat reliability, and is not aimed at improving group chat.

The new code is gradually appearing across all third-party viewers, with many already incorporating it ahead of this release from LL. Further, the Lab will not be “turning off” the UDP service in the short-term, so there is no risk of a viewer which hasn’t yet updated being completely unable to load any groups at all.

Volume Controls – Update

New volume control options

This release also see the official viewer adopt the “Quick volume” controls from Firestorm. These provide access to ALL major volume control options for the viewer, rather than just the master volume control, and can be accessed by hovering the mouse over the speaker icon in the top right of the viewer window.

The controls appear colourless as they are awaiting work to render them in the official viewer UI skin colour; as this work has yet to be completed (JIRA STORM-1868), I missed the fact that the update has reached the release version of the viewer when writing this update.

Other Notable Changes

The list of updates for the release is extensive (and unfortunately without any JIRA references where relevant and tha JIRA themselves are still public). As such, it is advisable to take a look at the release notes to determine what has been fixed / updated.

What’s NOT Included

The new HTTP texture fetching service code from Monty Linden is not in this release. this work is currently a part of the beta viewer project (viewer code base 3.4.3), and will be making its way into the release version of the viewer in the near future.

Performance and Feedback

Performance-wise, 3.4.2.267137 is very good on my personal set-up, and allowing for the arbitrary nature of such FPS tests.These were performed in my “new” test area, a premium sandbox with 3 other avatars present (and building):

  • Deferred off:
    • Ground: 38-39 fps
    • 370 metres: 43 fps
    • 2875 metres: 62 fps
  • Deferred on + lighting set to Sun/Moon + Projectors; ambient occlusion off:
    • Ground: 11 fps
    • 370 metres:16-17 fps
    • 2875 metres: 18 fps

The non-deferred rates have me wondering what might be achieved on an i5 machine with something like a GTX660 and oodles of memory with a 64-bit OS…

This is a somewhat overdue update to the official viewer and marks a return to periodic viewer releases. Linden Lab still have much more in the pipe to filter down to the release viewer, and it’s liable that we’ll be seeing Christmas before everything is sufficiently caught up such that the release cycle returns to its normal pace. In the meantime, there will be on-going frequent beta updates with changes filtering through to the release viewer as and when they are deemed ready. Overall, however, this release should be welcome news for those who use the official viewer.

Related Links

Viewer release summary 2012: week 47

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: 25 November, 2012

  • SL Viewer updates:
      • Beta version rolled to 3.4.3.267135, on November 20 – release notes
      • Development version rolled to 3.4.3.267201 on November 20
  • Exodus rolled to 12.11.24.1 on November 24 – core updates: large group management code; full pathfinging implementation (incl. navmesh visualisation); removal of OpenSim support from grid selector; removal of –loginuri support; various UI updates, bug fixes and minor changes – release notes
  • Zen Viewer rolled to 3.4.3.0 on November 24 – core updates: latest mesh deformer code; Reverted OpenJPEG Decoder; Area Search, Local Bitmaps, Build floater updates (script (Contents tab) and texture (Texture tab) options) from latest Firestorm Beta; re-categorized and shortened Object Context Menu  – release notes
  • Cool VL updates:
    • Stable branch rolled to 1.26.4.40 on November 24 – core updates: Reworked & renamed Audio & Video Preference tab (to Audio & Media); backported a fix to the new target omega code from viewer-development v3.4; fixed improper support for wheel mouse scroll events in parcel media; added a setting to override auto-zooming on media faces; added a “mute” button to the Media HUD; assorted minot fixes and ports
    • Experimental branch rolled to 1.26.5.20 also on November 24 – core updates as per main release, plus: Media on a Prim compiled and enabled. See this thread
    • Release notes
  • Libretto – removed from round-up page due to website being unavailable and client removed from the SL Third-party Viewer Directory.

Related Links