Kokua and Black Dragon go 64-bit in Second Life

As the Lab’s 64-bit Alex Ivy viewer progresses through release candidate stage and the point where the code is regarded as a stable enough for TPVs to start picking up, viewer developers having been doing just that.

First out of the v5-stage gates at the start of September was Nicky Perian with 64-bit versions of Kokua for Windows and Mac. Towards the middle of the month, NiranV Dean issued a 64-bit version of Black Dragon for Windows.

It should be noted that in neither case are the provided 64-bit viewers the final, polished article. Nicky has clearly labelled his versions as test releases, which Niran is referring to his as an alpha series of releases.

I’ve not driven either viewer to any great extent, so the following is more informational than anything else. Please refer to the links at the end of this article for all download links to the viewers.

Kokua 64-bit

The Kokua 64-bit builds come in both RLV and non-RLV versions. Each is functionally identical to the other, with the exception of … RLV inclusion.  For convenience, I downloaded the 64-bit Windows version with RLV. all of the versions are based on the Lab’s Alex Ivy code base.

The Windows viewer builds include the SL Launcher .EXE, designed to ensure the correct version of the viewer (32-bit or 64-bit) is installed on your PC when updating the viewer. However, at this point, neither actually utilises it directly: the installation short-cut for the viewer points directly to the viewer .EXE. As the Launcher is also intended to start / terminate the viewer’s crash logging, and given – if I recall correctly – Kokua utilises the Lab’s viewer update process, I assume use of the Launcher may / will be folded-into the Kokua’s 64-bit Windows flavours in the future.

Beyond this, the viewer is functionally identical to the last full release of Kokua (5.0.6.41208), with additional updates from the more recent LL viewer releases since that date. This means the 64-bit viewer now includes the Asset HTTP updates from the Lab and the current release version (5.0.7.328060). I understand the 32-bit versions of the viewer have also been merged with these updates, but have not been formally released.

Nicky does note that there are some issues with the Mac 64-bit version of the viewer, some of which prompted an update following an initial release of the test viewers. Some of these have been logged via JIRA with the Lab (such as BUG-41395). For those downloading and trying the viewer, he particularly requests that feedback be given on notifications and taking / processing snapshots, which have caused noticeable issues in merging the code (obviously, feedback on other aspects of the viewer and problems encountered is also welcome).

Black Dragon 64-bit

Black Dragon currently has the SL Launcher removed. This generates a warning on starting the viewer, advising users to run things from the Launcher and to update short-cuts accordingly. However, it doesn’t interfere with the viewer’s operations.

The 2.9.0 64-bit version incorporates Niran’s more recent updates up to his 32-bit 2.8.2 release. For those with hardware which can handle it, Black dragon continues to offer a graphics experience several points above other viewers. For some people, this is somewhat mitigated by the viewer’s menu system presentation, which can take a little getting used to but really isn’t that hard to steer around. The large number of graphics options exposed / added can be a little frightening to those not into graphics tweaking – but again, there’s no real need to play around with any you’re not familiar with when adjusting settings.

In addition to the 64-bit iteration, the viewer includes further refinements to SL shadows, including an attempt to deal with a particular annoyance for photographers: disconnected shadows. That is, shadows which just fall short of actually visually connecting with the object casting them, and which at time no amount of jiggling with settings such as shadow quality and/or shadow bias can fix. A further change is that HTTP pipelining has been disabled within the viewer.

Rough-and-Ready Performance Notes

The benefits in using 64-bit versions of the viewer – for those who can – are much better memory utilisation and potentially a reduced crash rate and, potentially, a boost in overall viewer performance. In terms of the latter, and while direct comparisons are always subjective (and dependent upon some factors outside of your control, such as the complexity of any other avatars in your field of view / in the region, etc), I carried out some very rough-and-ready tests using ~Neive~ as my testing-point, and with the viewers all set-up according to my review system specifications.

Baseline test location: ~Neive~ 199, 155, 27, facing west, with three (or in the case of the Black dragon 32-bit version test, four) avatars within draw distance. All measurements were taken after setting the preferences in each viewer, and clearing object and texture caches before doing a fresh load to ensure each viewer had the scene locally cached. I then launched each viewer in turn, let the scene load from cache, measured, shut-down and launched the next & repeated.

Viewer
FPS Static FPS panning left / right
Firestorm 64-bit 5.0.7.529121 25 22-28
SL Alex Ivy 5.1.0.508209 38 33-38
Kokua 32-bit 5.0.6.41208 23 20-23
Kokua Alex Ivy 5.1.0.42217 37 34-37
Black Dragon 32-bit 2.8.22 36 33-38
Black Dragon 64-bit 2.9.0 Alpha2 45 33-46

Notes:

  1. Firestorm 64 is currently not using the Lab’s 64-bit code base, and so might be considered an indirect comparison, rather than a like-for-like code base comparison.
  2. Black Dragon has many additional exposed / tweaked graphics options, and a number of defaults somewhat different to the default viewer. In measuring, I attempted to tweak the viewer back more towards the default viewer.

Also note that the static fps numbers are a median based on fluctuations in numbers; the panning figures represent the average high/low fps values when panning. All measurements taken via the Stats floater (CTRL-SHFT-1) to ensure consistency of displayed floaters in the viewer.

As indicated towards the top of this article, I’ve not really played that much with either viewer, so cannot comment in-depth on overall performance  / stability, etc.

Links and Downloads

Advertisements

Black Dragon 2.4.4.6

Blackdragon logoBlack Dragon, the v3-style viewer by NiranV Dean updated to version 2.4.4.6 (aka version 4.0.1.36965) on Tuesday, December 29th.

The update primarily comprises a re-working of the viewer’s preferences floater, with Niran noting, “while the display preferences tab has gotten quite some upgrades and consistency changes, all the other panels were left out… until now.”

The most noticeable change is that several more of the tabs now have a slider to the right, the result of options which had previously been presented in two columns now appearing in a single column. As well as this, some options have been moved around to present a more logical top-down flow, as has previously been seen in the Display option tab, and with radio buttons replaced by combo boxes.

Niran has been re-working the Black Dragon Preferences floater, offering an approach to the tabs which matches the top-down flow seen within the Display options tab (click to enlarge)
Niran has been re-working the Black Dragon Preferences floater, offering an approach to the tabs which matches the top-down flow seen within the Display options tab (click to enlarge)

The result is a more logical flow, but currently comes at a cost  – the aforementioned increase in sliders on the right of some of the tabs. However, and here’s where an assumption on my part comes in – I do wonder if this might only be an interim thing, and whether Niran will be adding  expanding sub-tabs, again in the same style as the Display tab – as possibly evidenced by the inclusion of one such sub-tab in the Sound and Media tab.

The Sound and Media tab includes a sub-tab expansion option - a sign that expansion capabilities are to be added to the Preferences tab
The Sound and Media tab includes a sub-tab expansion option – a sign that expansion capabilities are to be added to the Preferences tab

Niran also notes that this release was to have contained the Project Bento avatar skeleton updates, but these have been left out. This is probably a wise decision; Bento is still in formative beta testing, and could be subject to changes throughout the next few months, as such the viewer code (and server-side support) could undergo change. As it is, Bento support is best witnessed on Aditi.

This is clearly a tidying-up, rather than a major update. however, it continues Niran’s work in offering a consistent presentation of the UI within his viewer. Also, given that the Lab prefers TPVs do not make significant releases over the holiday period, keeping the updates to UI clean-up is probably no bad thing.

And it certainly makes a nice little Christmas present for Black Dragon users.

Additional Links

Black Dragon 2.4.4.5

Blackdragon logoBlack Dragon, the v3-style viewer by NiranV Dean updated to version 2.4.4.5 (aka version 4.0.0.36527) on Monday, December 14th.

The update primarily includes fixes for issues with Niran’s implementation of Avatar Complexity, and for crash issues, and includes a refactored Places floater.

Niran introduced Avatar Complexity in version 2.4.4.4 of Black Dragon. As I noted when reviewing that release, the split between controls Niran had introduced meant that it could require some juggling with the sliders to get things settled when making random adjustments. However, the was a slightly worse issue for Black Dragon users in that many found that by default, all avatars around them were either “jelly babied” – appearing as a single solid colour to reduce the rendering load on their computer – or not at all.

The reason for this seems to be that Niran missed the fact the LL code sets a default value for Avatar Complexity, based on the anticipated graphics performance of the system on which the viewer is installed, as calculated by the viewer on initial start-up – something he removed from Black Dragon a while ago.  Thus, avatar rendering was defaulting to an exceptionally low value, causing avatars around the user to appear as “Jelly Babies”.

Niran has now introduced his own default value to the viewer, which should correct things. Some users may find it worthwhile playing with the sliders to achieve an ideal for their system / circumstance. He also offers a brief explanation of Avatar Complexity, which essentially replaced the old Avatar Draw Weight (ADW), which in turn replaced the original Avatar Rendering Cost (ARC), within the 2.4.4.5 release notes, and those interested can find out more by reading the official SL wiki entry on Avatar Complexity, or my own overview of the capability.

The Places floater overhaul sees the layout refactored to match other panels in the viewer, and a number of fixes added to certain niggles found with it, such as buttons not working (e.g. the Back button at the top of the panel) or it remaining stuck in its last used state.

The Places floater has been overhauled for Black Dragon 2.4.4.5 (left). Issues such as buttons not working correctly or the floater getting stuck in its last used state (shown on the right) have been corrected and the floater's layout tidied-up
The Places floater has been overhauled for Black Dragon 2.4.4.5 (left). Issues such as buttons not working correctly or the floater getting stuck in its last used state (shown on the right) have been corrected and the floater’s layout tidied-up

Black Dragon 2.4.4.5 also includes two additional crash fixes which make updating to it highly recommended. This first is for a bug arising from leftover code, which would be triggered as soon as certain avatars, objects, etc., came within the viewer’s Draw Distance. The second is for a crash occurring whenever you right-click while in either zoom/pan/orbit mode in the tools floater (build window) or when in object view mode in the camera controls floater. As always, please refer to he release notes for the full list of updates.

Additional Links

Black Dragon 2.4.4.4: Jelly babies and graphics presets

Blackdragon logoOn Sunday, November 29th, NiranV Dean released Black Dragon 2.4.4.4 (or 4.0.0.36527, depending on your personal preference). This release incorporates three significant features from the Lab, as well as Niran’s own nips, tucks, tweaks and changes.

First among the changes inherited from the Lab is the latest update to the Chromium Embedded Framework (CEF)  implementation which is intended to provide modern media support (HTML 5.0, WebGL).

Of possible greater interest to the vast majority of users is the addition of the Avatar Complexity rendering and the graphics presets, as found in the Lab’s Quick Graphics RC viewer. I’ve previously provided two overviews of these, in August and June of 2015, so what follows is a brief summary and examination of Niran’s implementation, starting with the graphics presets capability.

Graphics presets, a capability contributed by Jonathan Yap (see STORM-2082), allows users to create, save and use sets of viewer graphics options designed to meet a specific requirement, with the intent to help with viewer performance, and which can be used by any account logging-in to SL using the viewer on which the presets have been created.

This means, for example, you can create a sets specifically for indoor use, limiting your draw distance, reducing levels of detail for things like terrain and sky and water reflections and so, boost your system’s performance when visiting stores, etc., while having another preset with all the bells and whistles enabled for photography. Then with a couple of mouse clicks, you can swap between these and any others you create to meet your needs as you travel Second Life, all without the need to fiddle with settings or relog.

An issue with the official viewer’s implementation of graphics presets is that it requires the use of two rather clunky floaters which eat screen real estate. Niran avoids this by neatly integrating the core preset options (Save, Load and Delete presets) into the foot of the Display tab in Preferences. In doing so, he also makes creating a simple top-down flow through the Display tab options.

The new Graphic Presets Save and Load options can be found at the bottom of the Display tab in the Preferences floater. Simply add a name for the options you've set in the text box (arrowed) and click Save. To load a preset group when the floater is open on the Display tab, enter the name for the preset in the text box and click Load
The new Graphic Presets Save and Load options can be found at the bottom of the Display tab in the Preferences floater. Simply add a name for the options you’ve set in the text box (arrowed) and click Save. To load a preset group when the floater is open on the Display tab, enter the name for the preset in the text box and click Load

This means that creating a new preset is simply a matter of running through the Display options, making sure those you want active are checked and those that you don’t need are unchecked, and that all relevant sliders are correctly adjusted. Then, when you’ve done so, enter a name for the preset group in the text box at the foot of the tab (arrowed above) and click the Save button – then repeat as required.

You can also load an establish preset group from here by typing the name into the text box and clicking Load. Any unwanted presets can be removed by entering the name and clicking the Delete button.

The Presets icon allow you to easily access your graphics presets
The Presets icon allow you to easily access your graphics presets

When it comes to swapping back and forth between preset groups, however, the quickest way to do so is via the Presets icon located in the top right of the viewer window. Hovering the mouse over this displays a list of all presets you’ve created; just click the name of the one you wish to  activate.

This list also include a button which will open the Preferences floater at the display tab, allowing you to quickly set-up a new preset or modify and existing preset (just make your changes and save to an existing preset name to overwrite it).

As avatars can often be the single biggest impact on the viewer in terms of rendering, particularly in crowded places, Avatar Complexity has been introduced by the Lab as a mean by which those on lower specification systems can set a limit within their viewer for rendering particularly complex avatars (i.e. those with a lot of very high-resolution textures on them and their accessories, or using a lot of high-impact mesh and sculpt attachments etc). Any avatar exceeding this limit will then be rendered as a single, solid colour, vastly reducing the processing load on the user’s system. Because they are rendered as a solid colour, such avatars have been nicknamed  ”Jelly Babies” after the sweet (candy) of the same name.

Within the official viewer, the control for Avatar Complexity is a single slider (Maximum Complexity) which controls avatar rendering. Within Black Dragon, Niran control is seemingly split between three sliders, Derender Objects > Kb, Derender Surfaces > m2,  and Derender Avatars > AR. and some juggling between them may be required to achieve optimal results, if you play with all of them.

Avatar Complexity in Black Dragon
Avatar Complexity in Black Dragon

Avatar Complexity in the official viewer is still not perfected; this is reflected by the fact that avatars can often remain Jelly Babied even when Maximum Complexity is set to No Limit –  you have to disable avatar imposters to get avatars stuck like this to render correctly (or relog). Black Dragon didn’t seem to exhibit this problem when I was fiddling with it,

Continue reading “Black Dragon 2.4.4.4: Jelly babies and graphics presets”