Kirsten’s Viewer 1725: delving into the Arcane

Thursday, September 28th, 2022 saw the release of Kirsten’s Viewer S23 Build 1725 (what a pity build 1701 was a preview – it would have been Enterprise-ing to have a full release like this with all that is packed into it, go out with that ionic number! 😀 ).

While there was an earlier preview release, Build 1725 (initially 1705) – code-named Arcane – marks the first full release of Kirsten’s viewer in over a year – and brings to culmination a lot of hard work on Kirsten’s part in completely overhauling the viewer from stem-to-stern as well as incorporating the latest updates from Linden Lab.

Linden Lab Updates

Given the span of times between this release and the last, there have been numerous de facto viewer releases from the Lab such that listing them all here would simply read as a telephone directory of viewer version numbers and names. However, among that list there are some significant releases worth referencing as now being reflected in Kirsten’s Build 1725:

  • LLModalDialog() crash hotfix viewer, version 6.6.4.575022, September 2022
  • Profiles Viewer, version 6.6.3.574158, August 2022.
  • Performance Improvement viewer, version 6.6.0.571939, May 2022.
  • Multi-Factor Authentication (MFA) viewer, version 6.5.5.571282, May 2022.
  • Cache+ 360 Capture viewer, version 6.5.1.566335, December 2021.
  • Viewer UI updates, version 6.4.20.560520, June 2020.

All of which means that Kirsten’s viewer is bang-slap up-to-date with the Lab’s official release viewer code-base at the time of writing this overview.

For many, the chief updates in the above list will be the Performance Improvements, which (as with other viewers incorporating the Lab’s improvements) bring a significant FPS boost to most systems – notably with ALM enabled, but frequently with ALM+Shadows enabled); together with the 360-degree snapshot capability.

Performance Improvements / Changes

The Performance improvements contained within Kirsten’s 1725 actually break down into two categories:

  • The primarily under-the-hood improvements from Linden Lab which come via the Performance Improvements viewer as defined above,
  • The Graphics Improvements developed by Beq Janus and first released in Firestorm 6.5.3 in March 2022. These were submitted to Linden Lab and have been incorporated into the Performance Floater / Auto FPS t viewer, which at the time of writing this article was at project viewer status, and from which they have been pulled into Kirsten’s S23 1725.

Those wishing to take a deeper look at the Graphics Improvements floater and its options can do so via my Firestorm 6.5.3 review – but please note that while the functionality present within Firestorm is largely the same as for the official viewer /Kirsten’s viewer, the layout of the floater is slightly different. For completeness, the following is just a brief outline of the floater and its panels as found within the official viewer / Kirstens viewer:

The Firestorm-developed Graphics Improvements floater, as found with Kirsten’s Viewer (and the Lab’s Performance Floater / Auto FPS viewer)
  1. Your current frame rate, which can be adjusted through changes in the Graphics Settings panel. Note that my FPS is shown as running at a maximum of 60 FPS as I have Vsync enabled, which limits frame rates to the screen refresh rate (60 Hz).
  2. Displays the most commonly-used graphics settings (but not all – the Vsync option, for example, is absent and must be accessed via Preferences→Graphics) which can impact frame rates.
  3. Lists all the avatars your viewer is currently rendering, and presents the time is takes to render them in microseconds (µs – a millionth of a second).You can use this panel to select individual avatars and select whether or not they are always fully rendered or never fully rendered.
  4. Provides a breakdown of your avatar’s attachments and their render time / cost, and allows you to remove “laggy” items.
  5. Provides a breakdown of your avatar’s HUD attachments and their render time / cost, and allows you to remove “laggy” items.
  6. Presents the “Auto FPS” capability (several of the options found in the top bar of the Firestorm version of the floater as described in my review above) together with distance settings for rendering avatars in full detail and between which the auto-FPS will attempt to function.

Kirsten’s Viewer Updates

Build 1725 also includes a lot of changes from Kirsten as well. This can be split between the “visible” and the the under-the-hood, which together add up to a lot of work on Lee’s part to completely overhaul the viewer’s code and add multiple subtle but worthwhile changes.

The visible updates include:

  • Use use of gradients in floaters an panels to add a “softness” to them which helps them feel more a part of the viewer and the rendered scene behind, rather than sitting like a floating rectangle completely obscuring the view beyond.
  • Subtle, but appreciable updates to some – but not all – of the toolbar button icons.
Kirsten’s Viewer toolbar buttons showing the updated icons used with some
  • A refactoring of the AO floater to clean-up issues of buttons overlaying text within the panel.
  • 1725 offers three new viewer skinning options:
    • Linden – speaks for itself, for those who prefer the look of the official viewers.
    •  Pewter – the default, and a really nice take on the colour of the odd 1.23.x viewer series offering a soft pewter blue which is easy on the eye.
    • Jinx – a more lavender / purple finish semi-mindful of Kokua without replicating it.

Film Menu

Kirsten’s Viewer film menu
The Film Menu is a new menu option to Kirsten’s Viewer which is likely to be useful to photographers and machinima makers – and possibly to those who have the Space Navigator (SpaceNav) 3D mouse available for use with SL.

In short, this brings together options from other menus and Preferences, as will as supplying some custom options, designed to make recording machinima / taking photos easier. These range from the basic hide / show UI elements / HUDs through to adjusting shaders and those nifty options for adjusting how your SpaceNav mouse responds / influences avatar behaviour.

This menu may not be as comprehensive as the likes of similar options from in Black Dragon or the PhotoTools UI option within Firestorm, but it is still a good selection of functions and toggles that can be easily called up when filming / photographing a scene  – although as a photographer myself, I’d perhaps like to see a few additions to make the menu a little more usable to those of us (the majority?) who prefer to take stills shots (e.g. the ability to de-render all avatars from a landscape shot, for example). But this is a minor point.

Under-the-Hood

The core amount of work carried out in this build has been the merging with the latest LL code-base, and a major overhaul of the code by Kirsten, as noted in the release description:

Anaglyph Render refactored … System detection totally rewritten to interrogate kernel (not registry or using manifests). Days and Days removing old code and going line by line improving performance. And I seriously mean that analysing each if/else statement and function for even the most minute tweak.
Finally, this is built with full optimisation and link time code generation.

Feedback

Kirstens Viewer has always offered good performance and crisp rendering, and the incorporation of the Lab’s updates (and those modified from Firestorm), together with the work put in by Kirsten in refactoring the code means that S23 1725 is one of the slickest performing viewers  I’ve used – although I have little doubt it would not find favour among some SL users due to the lack of RLV or RLVa support, which is a shame.

On a personal note, I do like the new skinning options that come with 1725 – the “old” green default was to me a little too vibrant, whereas the Pewter is a lot easier on the eyes. However, I have been conflicted over the use of gradients on the drop-down menus. As  noted above, the use of gradients on floaters and their panels works well,  but their use in the menus might make menu options harder to see for those with vision impairments.

But, that said, there is no doubt that 1725 is an excellent update to Kirsten’s Viewer, and one that will hopefully put the viewer in a position where it an more readily keep pace with updates from Linden Lab & adopt new features (and those deemed suitable coming out of other TPVs) going forward.

Related Links

2022 viewer release summaries week #39

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, October 2nd, 2022

This summary is generally 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.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer: version 6.6.4.575022 – hotfix for Crash at ~LLModalDialog() – promoted September 15 – no change.
  • Release channel cohorts::
    • No updates.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

2022 viewer release summaries week #38

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, September 25th, 2022

This summary is generally 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.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer: version 6.6.4.575022 – hotfix for Crash at ~LLModalDialog() – promoted September 15 – no change.
  • Release channel cohorts::
    • Maintenance 3 RC viewer updated to version 6.6.5.575257 on September 23
    • Maintenance P (Preferences, Position and Paste) RC viewer updated to version 6.6.5.575055 on September 19.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

V1-style

Mobile / Other Clients

Additional TPV Resources

Related Links

2022 viewer release summaries week #37

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, September 18th, 2022

This summary is generally 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.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer: version 6.6.4.575022 – hotfix for Crash at ~LLModalDialog() – promoted September 15 – NEW.
  • Release channel cohorts::
    • No updates.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

V1-style

  • Cool VL (maintained): 1.30.0.17 (Stable) and 1.301.0 (Linux – experimental branch) both updated September 17 – release notes.

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

2022 viewer release summaries week #36

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, September 11th, 2022

This summary is generally 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.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer: version 6.6.3.574158 – formerly the Profiles RC viewer, dated August 18, promoted August 30 – No change.
  • Release channel cohorts::
    • Izarra Maintenance RC, version 6.6.4.574885, September 9.
    • Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.4.574750, September 6.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

Firestorm 6.6.3: performance improvements

On Friday, September 9th, 2022 (PDT), the Firestorm team released version 6.6.3 of their viewer – the first such release since indicating they would be stepping up the cadence of releases with more in the way of “maintenance” cycles in order to better keep place with updates and improvements coming out of Linden Lab with the core viewer code.

Whilst technically a maintenance release, version 6.6.3 is significant for Firestorm users as it includes the Lab’s Performance Improvements code, which for this user yielded noticeable performance improvements in terms of general FPS. In addition, there are a number of additional updates from both the Lab and the Firestorm team.

Table of Contents

As per usual, this article is a not a full blow-by-blow breakdown of absolutely everything in this release, but it does include notes on some of the more significant updates and fixes people are liable to find useful, and some general notes.

For a complete breakdown of changes, please see the official release notes for Firestorm 6.6.3.

Sidebar: some may have received a premature notification of this article, together with an invalid URL. My apologies for any confusion: I boobed – sorry!

Installation

  • There is no need to perform a clean install with this release if you do not wish to.
  • Do, however, make sure you back-up all your settings safely so you can restore them after installing 6.6.3.

Linden Lab Updates

Firestorm 6.6.3.67470 is fully merged up to the 6.6.2 Linden code-base, plus some cherry-picked fixes from upstream, per the notes below.

Maintenance2 Viewer Updates

Viewer version 6.6.2.573358, August 2022

  • Copy and Paste capabilities in the build tools.
  • World  Map Legend: can now be hidden / revealed by clicking on the arrows on  the right side Map border.
The World Map Legend can now be hidden / revealed by clicking on the arrows on the right-side border of the World Map
  • Create and ungroup folders:
    • Create:
      1. Select multiple items within an inventory folder using SHIFT and or CTRL-left click.
      2. Right click on any part of the selection and select Create Folder From Selected the menu.
      3. A pop-up is displayed, prompting you for a folder name. Enter a suitable name and click OK.
      4. The folder is created and the selected items moved into it.
    •  Ungroup:
      1. Right click an inventory sub-folder.
      2. Select → Ungroup folder items.
      3. The items in the selected sub-folder are moved to its parent folder, and the subfolder is deleted.
  • Show avatar attachment in Inventory: right-click a worn attachment or HUD and select on of the following:
    • Context menu: Show In Inventory
    • Pie menu: More → Show In Inventory.

Maintenance (M)akgeolli Viewer Updates

Viewer version 6.6.1.572458, June 2022.

  • Edit Shape menu previously included every attachment, slowing down preview thumbnails significantly. With this update, only rigged attachments are displayed, in addition to prior avatar preview thumbnails .
  • Assorted fixes and UI tweaks.
  • Improved mouse responsiveness in situations where previously it would over-react to inputs.

Performance Improvements

Viewer version 6.6.0.571939, May 2022.

  • This update should see reduced image decoding time, decreased frame stalls and decreased initial font rendering time, and the viewer should feel generally more responsive.
  • These changes include updates to Vsync (vertical synchronisation):
    • Vsync can now be toggled on / off via Preferences → Graphics → Hardware Settings.
    • When enabled, Vsync will synchronise (/cap) frame rates to your monitor screen refresh rate (e.g. if you have a 60 Hz screen, FPS will be capped at 60 fps) and should deliver smoother game-play.
  • The Performance Improvements viewer also includes the MeshOptimizer Project .
    • By default, this replaces obsolete GLOD’s mesh simplification in the mesh uploader with the newer and more powerful MeshOptimizer package to provide better level of detail (LOD) modelling during the upload process.
    • Note that as an option, Firestorm also retains the GLOD capability – see below for more.

Tracy integration Viewer Updates

Viewer version 6.4.23.563771, November 2021.

  • This update adds the Tracy Profiler to the viewer to help developers interested in or working on performance improvements. For developers/self-compilers:
    • Running autobuild configured with –tracy will enable the telemetry.
    • At any time while running the telemetry recording can be disabled/minimised by deactivating it using the Developer menu entry profiling/telemetry → Profiling .
  • It contains no other user-visible changes.

Firestorm Updates and Improvements

UI Updates and Improvements

Notecards – Font Style, Size and Colour

Firestorm 6.6.3 brings the following capabilities to Notecards:

  • Set the font style and size:
    • Style: one of San Serif, Monospace, Scripting or Cascadia Code.
    • Size: one of Monospace, Scripting, Cascadia Code, Small, Medium or Large.
    • These can be set via Preferences → User Interface → Font → Notecard Editor Font drop-downs.
The new Notecard font options in Firestorm’s Preferences
  • Set the colour of: a notecard background, text, cursor and highlighted text.
    • Set via Preferences → Colors → Miscellaneous → Notecard Colors .

Note: these setting will only apply to notecards you view in Firestorm. Other users will see the notecards you send in whatever font / colours (if the latter can be set should the FS code be adopted by other TPVs) set within their viewer.

Other UI Updates
  • Inventory:
    • It is now possible to open Inventory folders in their own floaters. Right click an inventory folder → Show in new window.
    • The selection count is  now given when deleting multiple items from inventory (FIRE-31816).
With Firestorm 6.6.3 you can open an inventory folder in its own floater
  • The Create Landmark floater (menu bar → World → Landmark this Place) will now open centred on the viewer window by default.
  • 360-degree snapshot floater should now open at last-used quality setting  in a session.
  • Region Details → Region should now:
    • Show the correct length of the region name text (no truncations).
    • Report the correct grid position for the region.

Avatar and Appearance

  • Avatar:
    • The avatar should now turn the full 180-degrees when editing appearance (FIRE-31959 / BUG-232502).
    • All mesh bodies/objects should now show in the shape editor previews (FIRE-31966 / BUG-232503).
    • Animesh attachments should no longer show in shape editor previews.
  • Appearance:
    • Attempted fix for mesh attachments sometimes vanishing after teleports which should either fix / reduce the number of cases where this may occur (FIRE-31906).
    • Update to the warning given when attaching rigged meshes to HUD.
      • The new message reads: “An attachment named ”[NAME]“ contains rigged mesh but is attached to the HUD point ”[HUD POINT]“,/a>
      • Attaching rigged meshes to HUD was never supposed to be supported, per BUG-232489.
      • Also see: FIRE-31955.

Building and Scripting Updates

GLOD Option In Mesh Uploader

As noted above, Linden Lab introduced Mesh Optimizer as a new way to generate improved level of detail (LOD) models for mesh uploads. However, this can lead to higher upload costs and can cause issues in maintaining UV layout. To help prevent issues Firestorm 6.6.3 retains GLOD alongside of Mesh Optimizer.

To this end the Firestorm mesh uploader presents the following options when specifying a model’s LOD:

  • Load from file: Manually upload .DAE files for models at any level of detail. This enables you to control how your model looks at each level of detail, preserving key visual features that the automated algorithms may otherwise distort. If the viewer could “auto-detect” lower LOD models when it first loaded the model, these will be shown in the corresponding LOD “slots” here.
  • Generate Auto: Generate a new model at the currently previewed level of detail based on the model you uploaded. This method currently defaults to using the sloppy method and tries to set a target number of triangles based upon the high LOD. This is the method applied when first selecting your model if no auto-detected LODs are found.
  • Generate Precise: Uses the newer method (Mesh Optimizer) to construct a LOD model. This is more accurate than the “sloppy” method but will result in a more detailed model. Target triangle settings and thresholds are very loosely adhered to.
  • Generate Sloppy: Uses the newer method (Mesh Optimizer) to construct a LOD model. The “sloppiness” relates to the accuracy of the result compared with the original. Target triangle settings and thresholds are very loosely adhered to .
  • Generate Reliable: Uses the older method (GLOD) to construct a LOD model. This method is what we have been used to in the past; it gives reliable results based upon the target settings.

For more information, please refer to: Mesh Upload – Level of Detail.

Other Building / Scripting Related Updates
  • The “remaining capacity” LI count has been returned to the Edit / Build floater.
  • Flip texture scale buttons should no longer “magically jump” when switching texture modes.
  • The animation preview window should now have a link to the correct wiki page (FIRE-31836).
  • Full bright rigged meshes should now correctly display as full bright.
  • Full bright transparent objects should no longer render as solid when using highlight transparent – CTRL-ALT-T (FIRE-31986).
  • 100% transparent objects on HUDs should now show when highlighting transparent – CTRL-ALT-T (FIRE-31917).
  • The Firestorm Bridge can now display object rez time with the Script info in extended info mode (enabled via Preferences → Firestorm → Build 2 → Enable extended script info details).

Other Updates of Note + Key Fixes

Third-Party Library + RLV Updates

  • FMOD Studio updated to version to 2.02.07.
  • Updated Collada with a C++17 compatible version.
  • Firestorm 6.6.3 is running Restrained Love API RLV v3.4.3 / RLVa v2.4.2.67470, and includes a fix for focus going unexpectedly to menu bar after calling llMapDestination with “@showworldmap=n” (FIRE-31920).

Linux Updates

  • 3p Library Updates:
    • Boost updated to boost-1.72-linux64-222121224.
    • Collada updated to colladadom-2.3.222130404-linux64-222130404.
    • Curl updated to curl-7.81.0.222121724-linux64-222121724.
    • Libxml updated to libxml2-2.9.4.222130358-linux64-222130358.
    • Meshoptimizer updated to meshoptimizer-0.16.222121104-linux64-222121104.
    • Minizip updated to minizip_ng-3.0.2.222121607-linux64-222121607.
  • New Simple DirectMedia Layer-2 (SDL2) support for Linux to future-proof Firestorm, providing better low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. See the SDL2 Documentation.
  • The Linux viewer now uses xdg-open ahead of x-www-browser, as requested in FIRE-31929.

OpenSim Updates

There are no OpenSim updates with Firestorm 6.6.3.

Key Fixes

  • FIRE-31852 – Modified hotkey gestures should no longer play from any window.
  • FIRE-31823 / FIRE-31648 – torn-off menus should now correctly update enabled/visible state
  • FIRE-31882, FIRE-31896 / BUG-232463 – The main menu bar should no longer become the focus when minimising docked floater or after changing graphics preset
  • FIRE-31913 – CTRL+Tab should now correctly switch to the active floater.
  • Crash fixes:
    • FIRE-31818 – Firestorm should not longer crash when inspecting a Linden tree.
    • FIRE-31942 – Firestorm should no longer crash when taking a 360 snapshot when “Improve graphics speed” is enabled – note that this may mean that slower machines timeout during a 360 snapshot, so a new debug setting FSUseCoRoFor360Capture – Use co-routine to extract 360 photos – has been added. By default, this is set to False to prevent crashing. Setting it to True may result in crashes.
    • FIRE-31473 – “Internal Error”/“Uncaught Exception”.
  • Again, please refer to the 6.6.3 release notes for the full list of fixes with this release.

Feedback

As noted towards the top of this article, Firestorm 6.6.3 is the first release of the viewer since the Firestorm team moved towards a faster release cadence, allowing the viewer to pretty much reached parity with the official viewer, which should ease matters of parity going forward, assuming a 6-8 week release cadence can be maintained – and hopefully, it will be.

Probably the most significant inclusion in this release is that of the Lab’s updated viewer code and thread handling, intended to improve general performance. As I noted at the time this code reached release status in the official viewer, this code gave me an average boost of around 20 fps compared to a version without the improvements; in comparing Firestorm 6.5.6 and 6.6.3, I noted a similar fps boost. This is also the first viewer I’ve ready played around with the updated Vsync functionality, and have found that it does offer a far smoother experience for me when flycamming.

Elsewise, I’ve not had a a lot of time to test this release, but have found it to be stable during my personal use, so those updating may want to keep an eye on the Firestorm in-world support groups and the Jira for info on any possible issues.

Related Links