December 5th sees a further update to Lumiya, with the release of version 2.3.3.
Over the course of the last year Lumiya has developed from a basic text client into a app which rivals the viewer in terms of its capabilities – 3D rendering, avatar rendering, inventory access and management, outfits, touch, pay, OpenSim support. What’s more, all this has been ahieved in less than a year; it’s an incredible testament to Alina Lyvette’s abilities and determination to develop a functional, credible mobile client for virtual worlds like Second Life.
With version 2.3.3, Alina again raises the bar with a host of new features, as well a a number of fixes and updates:
Texture updates, including textured terrain in 3D view and option high-quality textures
Flying controls in 3D view
HUD support
“Clear cache” option in settings
Chat messages and user keys can be copied to clipboard
Option to restart sim for land owners
Configurable LED blinking for notifications
NEON-optimized code for texture decompression
Textures
The first big update with Lumiya 2.3.3 is textures and texture handling. First and foremost, Lumiya will now render ground textures in the 3D view, something which immediately increases the attractiveness of outdoor scenes when rendered.
We haz teh grass! Lumiya now displays terrain textures
Lumiya also includes a number of configurable texture options available through the 3D View section of Settings (tap the menu button on your device, then tap Settings). These are:
High Quality Textures: toggles the high quality option on and off – this can put a device’s GPU under considerable stress and lead to extended rezzing times
Texture Memory Limit: set the maximum limit your device can use for textures from a set of four defaults: 32MB, 64MB, 128MB and 256MB. Note that Android can limit GPU memory use to 128MB, so using the 256MB may cause problems on some devices, including locked the application completely
Concurrent Texture Downloads: set how many textures can be downloaded concurrently (2, 4, 8, or 16)
Terrain textures: toggle the terrain texture rendering on / off.
Flying Controls
Lumiya 2.3.3 sees three new buttons appear on the 3D world view, two of which (in the top right corner of the screen) allow you to fly, as with a full viewer. Tap the UP arrow key to start flying / fly up, and the DOWN arrow to descent / land. Fly forwards / backwards using the movement keys in the lower right corner of the screen.
The new Fly buttons (top right) and HUD access button
When you start flying, a STOP FLYING button is displayed. One being tapped, it does precisely what it says: stops you flying – complete with the traditional falling animation as well!
On November 17th, the Firestorm team made a beta release of their latest update to Firestorm in order to offer users access to the new Group Services updates for managing large groups. At the time, it was indicated that the “full” release would occur in early December.
Keeping to their word, the team released 4.3.1.31155 on December 3rd, which includes everything featured in the beta release, and a few more goodies besides.
Given I’ve already given a comprehensive review of the beta release, this article will be focused primarily on the updates made between it and 4.3.1.31155 – although there will be some overlap.
As always, please refer to the Firestorm release notes for full details on credits, etc., for code contributions to the viewer, and for details of known issues and problems (known issues carried over from the LL code can be found here).
Download and Installation
As noted in the last review, the download .EXE is big – 40MB, which is unsurprising given that Firestorm packs so much into it. Installation – at a least for Windows users – is where the first set of changes occur, and it is worth recapping on these for people who have not installed the beta release:
A pop-up requesting whether or not the user wishes to have a Windows Start menu entry created for Firestorm during installation
Addition of the version string and estimated installed size to the installer
Addition of new OS detection code to warn if Windows Service Packs are not up-to-date and to prevent Firestorm being installed on Windows XP with
Publisher data, Phoenix URLs and Firestorm icon for the Firestorm entry in the Windows uninstall list
Automatic deletion of all previously installed skins to reduce issues arising from an unclean install
Addition of a DETAILS button in the installer pop-up window to allow the installation to be reviewed.
Havok Sub-licence
As noted last time, Firestorm has now signed a Havok sub-licence agreement with Linden Lab. This means that Firestorm is now available in two flavours – one for SL and one for OpenSim grids, with the SL version having both the –loginURI capabilities and the Grid Manager functionality removed.
This change means that Firestorm is now able to access the new LL-supplied Havok libraries, allowing the viewer to immediately include the pathfinding navmesh visualisation tools (as covered in my review of the beta release), and which could allow Firestorm to switch over to using the official LL mesh uploader code in the future, should they so wish, rather than using the current HACD code for mesh uploads.
For those using OpenSim, Firestorm 4.3.1.31155 can be downloaded here, and I’ve included an update on the OpenSim-specific updates to the viewer at the end of this article.
One point to note is that it is possible to use the OpenSim version of Firestorm on SL – the only difference is the OpenSim flavour of the viewer will not be able to access the SL Havok libaries or use any functionality associated with them.
Updates from Phoenix
Further updates from Phoenix have been added to Firestorm 4.3.1 in addition to those found in the 4.3.0 beta:
Texture Comment Metadata
When opening any texture, this will display the uploader name with a link to their profile together with the date / time the texture was uploaded. If permissions are sufficient, it will also display the asset ID on the texture preview floater.
Progressive Draw Distance (PDD)
A popular Phoenix feature, when enabled, this causes Firestorm to use a progressive Draw Distance stepping after a teleport, to help improve rezzing times. The Firestorm version includes an option to cancel stepping in progress if Draw Distance is manually changed (Preferences > Firestorm > General).
More Phoenix-like default settings for Phoenix Mode
The following Phoenix-like behaviours have been added to Firestorm when running in the Phoenix mode (selected via the Firestorm log-in splash screen):
“Resident” is not trimmed off legacy names
L$ balance changes will be shown in nearby chat instead of toasts
Received Items folder is shown as a normal Inventory folder
Firestorm will now send accept/decline responses for inventory offers after the according button has been pressed and not if the item has been received at the receiver’s inventory already
Group and IM notifications are now sent to the nearby chat console (v1-style) instead of toasts (v3-style)
Legacy Search
Firestorm 4.3.1.31155 re-introduces the V1-style “legacy” search capability for those who prefer it to the V2/V3 web-style search functionality.
The Legacy Search floater and its associated toolbar button shown in icon mode
Provided by Cinder Roxley, the legacy search option is currently available via a menu option (Content > Legacy Search) or via a dedicated toolbar button, and works for all search categories except Events, which will be added in a future update.
Documentation on the search function is available via the Firestorm website.
Phototools, Windlight and Snapshots Updates
The main Phototools floater & toolbar button, shown in icon mode
Phototools is a suite of floaters which bring together a range of controls, debug settings and options available within the viewer into a single, cohesive set of options aimed at the SL photographer and machinima artist. I’ve covered them in detail previously, and provided a further update in my last Firestorm review. With this release of Firestorm the Phototools floaters (Phototools and revised Camera floater) can be accessed via a menu option: World > Photo and Video.
Alongside of these comes a windlight update of some 100+ presets for water and sky developed by Phototools developer William “Paperwork Resident” Weaver.
These additional presets can be accessed either via the Fixed Sky / Water presets menu option (World > Environment Editor > Environment Settings) or via the Phototool floater (shown right). All of the Phototools presets have “Phototools” at the start of their name.
Also, the Flickr tab on the Firestorm snapshot floater includes Katharine Berry’s update which add the parcel name to the location option.
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
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 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)
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
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
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.
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.
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.