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

Kokua viewer: looking to the future

On Tuesday, July 25th, I received an e-mail from Nicky Perian, lead developer for the Kokua viewer. Sent to the Kokua Dev mailing list, the notice was also later posted to the Kokua website.

In short, Nicky will, in October – and for very good reason – be stepping back from a direct, hands-on leadership role in maintaining Kokua, and he is hoping that those in the community who are able to support viewer development will step forward to fill the void and take responsibility for helping to ensure the viewer continues into the future.

The notice – which I’m sure Nicky will have no problems in seeing reproduced here reads in full:

Hello all,

This coming October I will turn 75 years old. I intend to have minimal (consulting only) involvement with Kokua after that. Hopefully, someone will take over the project or it will fade away.

Between now and then I intend to cut some routine building and updating. The first cut will be the RLV build of Kokua OpenSim followed by RLV build of Kokua Second Life then NoRLV build of Kokua OpenSim.

That will leave The NoRLV build of Kokua Second Life version.

I want to thank all who have contributed to Kokua including other third-party viewer project developers and those that work for Linden Lab.

I will try to complete the Alex Ivy integration. Kokua Project Alex Ivy Windows versions can be
built and tested now.

Test down loads can be found at
https://sourceforge.net/projects/kokua.team-purple.p/files/Kokua-Projects/
The source code for Second Life resides at:
https://bitbucket.org/kokua/kokua-sl-64
The source code Open Sim which is at start state with the last commit 5 months ago resides at:
https://bitbucket.org/kokua/kokua-os-64

Nicky has worked tirelessly to develop and maintain Kokua, and other, the viewer has been one of the first v5 style viewers to update with features and code from Linden Lab, as well as maintaining strong support and parity with Marine Kelley’s RLV. While Kokua hasn’t been my primary viewer, I have always found it to be stable, reliable and straightforward to test as updates have been released. As such, I’d like to thank Nicky for all of his work in keeping the viewer and the project going.

Should anyone fancy taking on the work with Kokua, individually or as a team, as well as following the links to the repositories as Nicky has provided, do please contact him and discuss opportunities and intentions with him so that if more than one person does step forward, you can all be put in proper contact with one another.

I’ll of course continue to cover the updates Nicky is planning, and will cover any future updates and releases of the viewer and the project hopefully rolls into the future.

Viewer updates: Kokua 5.0.6 for Second Life and RLV 2.9.21.3

In week #21, both the Kokua viewer for Second Life and the Restrained Love viewer updated to achieve parity with the current SL viewer release (version 5.0.5.326444 at the time of writing).

Kokua for Second Life updated to version 5.0.6.41208 (release notes) on Friday, May 26th, 2017, while the Restrained Love updating to version 2.9.21.3 (release notes) on Thursday, May 25th.

As the core changes to both viewers are more-or-less the same in terms of their parity with the official viewer, this review provides a combined recap of these updates for both viewers, from the oldest to most recent. Kokua users please note that the documented changes do not necessarily apply to the Kokua OpenSim version.

Custom Folders for Uploads

Kokua 5.0.6.41208 for Second Life and Restrained Love 2.9.21.3 users can now select the inventory folders into which uploads – images / textures, sounds, animations and mesh models –  are saved by default (rather than having all textures + images go to Textures for example).

To set a custom folder for an upload type:

  • Go to Inventory and right-click on the desired folder.
  • Select Use As Default For. This opens a sub-menu of upload types (shown on the right).
  • Click on the type of upload you wish to always save to that folder.

Note that this only applies to uploads: images / textures, mesh models, etc., received via transfer or will still go to the their “default” system folders (so a texture received via transfer will still go to Textures, for example).

The folders set for uploads can be reviewed via the new Preferences > Uploads tab.

The new options shown for selecting a default destination folder for uploads (left), and the new Upload panel in Preferences, which lists the locations (right) – via Kokua, click for full size, if required

Block List Tally and Grid Status Button

Kokua 5.0.6.41208 and Restrained Love 2.9.21.3 now have display a tally of those blocked in the viewer (People Floater > Blocked), and include the Grid Status button which can be added to any toolbar position in the viewer window, providing direct access to Second Life grid status updates, which are displayed in the viewer’s built-in browser.

Avatar Complexity Rendering Updates

These releases of Kokua and Restrained Love include a number of improvements to avatar complexity rendering. Full details of these changes can be found in Second Life Maintenance RC: Avatar Rendering updates and more, and are summarised here.

  • The Options for how another avatar is rendered are now Default (i.e. in accordance with your avatar complexity threshold setting); Always (i.e. always render the selected avatar) or Never (i.e. permanently render them as a grey imposter). These options have also been moved to a sub-menu on the right-click Avatar context menu.
  • Following Firestorm’s lead, adjusted settings for avatar rendering will now persist across log-ins for the viewer, until either reset or your settings are cleared by a clean install or similar.
  • There are two new options for Avatar Complexity, located on the Preferences > Graphics tab.
    • The first is a check box, Always Render Friends, which is pretty much self-explanatory: when checked, friends will always fully render, regardless of the viewer’s Avatar Complexity threshold.
    • The second is an Exceptions button, which adds a further level of control for how other avatars – including friends – are rendered by the viewer.
Left: the new render options sub-menu in the Avatar context menu (seen when right-clicking on another avatar). Right: the new Preferences > Graphics tab options for avatar rendering (see below for the exceptions button). Images via Kokua – click for full size, if required

Note that Kokua’s pie menu does not display the “Default” option correctly when used on other avatars. Instead, the option is labelled as “>”. As per Nicky’s comment below, this is now fixed.

Rendering Exceptions

The Exceptions button described above enables named avatars to be either fully or never rendered by the viewer, regardless of any other avatar rendering settings. It comprises two new floaters: the exceptions list (Avatar Render Settings, below left) and the search floater (Choose Resident, below right), accessed by clicking the “+” button on the exceptions list and then selecting whether you want to always or never render the avatar you’re about to choose.

Rendering Exceptions allows you to select individual avatars (e.g. from those close to you or your friends list or via search) you always / never want to render, regardless of your other avatar complexity settings. Via Restrained Love Viewer.

It is possible to update how an avatar in the exceptions list is displayed by right-clicking on the avatar’s name and selecting the required option (Default, Always, Never) from the displayed drop-down list.  Note that “Default” will remove the avatar’s name for your exceptions list and display them in-world in accordance with your overall Avatar Rendering Complexity setting.

Changing how an avatar in the exceptions list is rendered. Via Restrained Love Viewer

Continue reading “Viewer updates: Kokua 5.0.6 for Second Life and RLV 2.9.21.3”

Kokua and Restrained Love go Bento in Second Life

Project Bento - now a part of the Kokua Second Life viewer and the Restrained love Viewer
Project Bento – now a part of the Kokua Second Life viewer and the Restrained Love Viewer

Kokua and Restrained Life have become the latest viewers to update to v5.x status, with release of versions support the Project Bento code.

Kokua 5.0.0

Kokua 5.0.0..40327 for Second Life (release notes) appeared on Saturday, December 17th, bringing with it Bento rendering support, plus additional fixes and improvements:

  • FMOD Ex audio streaming libraries updated to version 4.44.64.
  • Avatar texture display now works.
  • Pie menu updates.
  • Pie menu “Sit here” response no longer ignores llSetSitText(string), and should now display the defined scripted target prompt (e.g. “Ride” or “Fly”, etc., rather than “Sit Here”).

Just in case there is anyone who missed it, Project Bento adds numerous new bones to the avatar skeleton to improve and enhance support mesh avatars (Bento does not work with the Second Life system avatar). This makes it easier to create and animate things like additional wings and limbs, and offers the opportunity for greater facial animations with mesh heads and faces, and even finger manipulation on mesh hands.

As with all Bento viewers, the visible viewer update is to the avatar menus (both right-click context and pie menu in the case of Kokua), where the Reset Skeleton and Reset Skeleton with animation options can be found.

Reset Skeleton options on Kokua 5.0.0 on the right-click context menus for other avatars (l) and your own avatar (r). With the pie menus they can be found under More > More > Reset (other avatars) and Appearance > Reset on your own avatar
Reset Skeleton options on Kokua 5.0.0 on the right-click context menus for other avatars (l) and your own avatar (r). With the pie menus they can be found under More > More > Reset (other avatars) and Appearance > Reset on your own avatar

These options have been added because sometimes, when changing between one mesh avatar and another, the basic SL avatar can become deformed, resulting in it looking squished, stretched, caught between two looks, or something else. This problem is generally the result of race conditions when the avatar’s appearance is being updated, and both of these buttons are intended to correct the problem  – the option to reset animations being intended to fix deformations which may be due to animations also kicking-in incorrectly / at the wrong time as well, which may cause an avatar to deform.

Restrained Love Viewer

Restrained Love Viewer 2.9.21 (release notes), released on Friday December 16th,  brings Bento support to that viewer as well. As with Kokua and other Bento capable viewers, this also sees the Reset Skeleton and Reset Skeleton with Animations options added to the right-click avatar context menus as the most visible sign of Bento support (outside of Bento meshes rendering correctly!).

In addition the update includes a minor change to RLV, with the “?” symbol no longer being used to identify a cheat inside emotes, as some emotes may end with genuine questions.

Additional Links