On Sunday, December 1tth, Catznip R11 arrived, bringing with it a lot of Lab love and Kitty goodness. With the last update having been back towards the start of 2016, there are quite a few updates and features from Linden Lab, and well as some niceness from the Catznip team themselves.
In particular, this release picks up on the Lab’s Avatar Complexity capability and graphics presets, and also include Bento avatar skeleton support, as well as a raft of Lab changes such as HTTP co-routines, CEF, LibVLC, voice improvements, bug fixes, and more.
This is not intended to be a comprehensive review of Catznip R11; rather, the hope is to provide an overview of the more major updates and changes. Information on all changes can be found in the release notes (when available – link to be added).
Updates Via the Lab
Avatar Complexity, aka Jelly Dolls
There are probably very few in SL who have not heard of Avatar Complexity, be it by that name or its more popular nickname, Jelly Dolls. However, for those who need a quick re-cap and run through, here’s the deal.
As avatars can often be the biggest single rendering load on our computers (and why you can experience a lot of lag in a crowded place) Avatar Complexity is a means by which you can set a “complexity limit” within your viewer. Any avatar (including their attachments) exceeding this limit will be rendered as a solid colour – a “Jelly Doll” – thus putting a lot less load on your computer. It comes with a handful of notable points:
- Avatar complexity only applies to other avatars in your view; your own avatar will always be rendered fully to you
- You can also override the setting for individual avatars around you and select how they render in your view
- You can adjust the limit at any time according to your needs at that time
- You can use graphic presets (see below) to save different avatar complexity settings for different circumstances (e.g. a very low limit for crowded places, a much higher limit for home use, etc.).
When first installed, a viewer with Avatar Complexity will set a default limit for you based on your current viewer graphics settings. Hence why you might see a lot of solid colour avatars around you when logging-on for the first time with Catznip R11. These default limits are:
- Low: 35,000
- Low-Mid: 100,000
- Mid: 200,000
- Mid-High: 250,000
- High: 300,000
- High-Ultra / Ultra: 350,000
Avatar complexity is controlled via the Avatar Maximum Complexity slider, which can be found in three locations:
- In the Preferences > Graphics tab: Avatar Maximum Complexity
- In the Advanced Graphics Preferences floater (see Revised Graphics Preferences, below, for more on this): Avatar Maximum Complexity
- The Quick Appearance panel of the new Catznip Quick Preferences floater (see below for more on this): Complexity Limit
In all three cases, moving the Maximum Complexity slider to the right increases your threshold, allowing more avatars around you to be fully rendered, while moving it to the left decreases your threshold, increasing the number of avatars liable to be rendered as solid colours. Changes made in one slider will be reflected in the others.
Note that you can set the Maximum Complexity slider to No Limit (all the way to the right). However, this isn’t recommended because it leaves your viewer vulnerable to any graphics crashers some inconsiderates still occasionally try to use. It is far better to set your viewer to a high limit (e.g. 350,000) if you don’t want to be bothered by seeing Jelly Dolls.
To help you understand how complex your own avatar is, every time you change your appearance, a small notice with your new complexity value will appear in the upper right of your viewer window for a few seconds. Your own complexity value is also displayed at the top of the My Appearance floater (Me > Appearance or right-click your avatar and select My Appearance from the menu), and on the Quick Appearance panel of Quick Preferences (“Complexity”), while the Quick Wearing panel will provide a breakdown of the complexity of all your worn attachments (see Catznip Quick Preferences, below for more on Quick Preferences).e
You can also display avatar complexity information on yourself and all avatars around you by going to the Advanced menu (
CTRL-ALT-D if not visible) > Performance Tools > Avatar Complexity Information (previously Show Render Weight for Avatars). This displays three items of information over the heads of all avatars Including yours):
- The render complexity for each avatar
- A ranking of the avatar’s distance from your camera (1=closest)
- The attachment surface area for an avatar, expressed in square metres.
Other points of note:
The complexity value of your avatar is transmitted to each simulator as you travel around Second Life. In return, you’ll get a brief notice in the upper right of your screen telling you the approximate percentage of avatars around you who are not fully rendering you because of your avatar complexity.
- If you always wish to fully render certain other avatars, no matter what your Maximum Complexity setting, you can right-click on those individuals and select “Render Fully” from the context menu.
- Conversely, if there are avatars around you whom you’d rather render as grey imposters, right-click on them and select “Do Not Render” from the context menu.
- Note that in both cases above, these per-avatar settings do not persist between log-ins. If you re-log, any avatars you have set via these options will revert to being displayed in accordance with your Avatar Complexity setting
- You can also revert any avatar exceeding your Maximum Complexity setting by right-clicking on them and selecting Render Normally from the context menu. They will become a Jelly Doll once more.
Finally, Avatar Complexity does not replace Avatar Imposters, but rather is intended to work alongside of it, offering another means to reduce avatar rendering load on your computer.
HUD Complexity Warning
If you attach a HUD which makes heavy / excessive use of large textures and which, as a result, can impact your system’s performance, the viewer will display a warning to indicate the problem and which names the HUD. It will naturally fade after a set time has passed.
Graphics Presets allows you to easily save and restore different sets of graphics settings within the viewer, which can then be used according to need. So you might have one with all the performance-hitting options enabled for when you’re taking photos, and another with many of them turned off, as they’re not really needed (e.g. for shopping or clubbing, etc.), for example. You can then swap back and forth between them as needed via a drop-down options list and without any need to relog.
There is no limit to the number of presets you can create, and any you no longer require can be easily deleted.
To create a new preset: go to Preferences > Graphics and open the Advanced Graphics Preferences floater. Set options like Quality and Speed, Draw Distance, lighting / shadow options, LOD values, avatar rendering, etc., to suit a specific use (e.g. at a club or venue or for photography, etc). When you have done so, click OK to apply the settings.
In Preferences > Graphics click on Save Settings as a Preset. A pop-up is displayed asking you for the name of the preset. Enter a suitable name (“indoors”, “shopping”, “photography”, “ultra”, whatever suits the set you are creating) and click Save.
To delete a preset: go to Preferences > Graphics and click Delete Preset… Use the drop-down list in the displayed dialogue box to select the required preset and click Delete. note that a confirmation isn’t requested.
To Load a preset: you can load a preset via the Preferences > Graphics and use the Load Preset… button. Use the drop-down list in the displayed dialogue box to select the required preset and click OK. However, a quicker way is to use the Graphics Presets icon (aka “the TV screen icon” in the top right of the viewer window.
When the mouse is hovered over this icon, a list of all saved pre-sets you have created is displayed, a tick appearing alongside the one currently being used. Clicking on any other pre-set will immediately apply it. In addition, this panel also has a button which will open the viewer’s graphics settings in Preferences.
Revised Graphics Preferences
The introduction of Avatar Complexity and Graphic Presets bring with them a change to how the Graphic Preferences options are presented in the viewer. Whereas with previous versions, all of the options were displayed in a single tab in the Preferences floater, they have been split between the Graphics tab and a separate Advanced Graphics Preferences floater.
The former (directly below) displays those options Linden Lab believe users will wish to access the most frequently – the Quality and Speed, Draw Distance and Avatar Complexity sliders and the toggle options for Atmospheric Shaders and Advanced Lighting Model, together with the Graphics Presets buttons and current setting.
The Advanced Graphics Preferences floater (below) also contains the sliders and toggle check boxes described above, together with the remaining graphics options found on the Graphics tab in previous viewer releases.
As most people are aware, Project Bento is a collaborative project between the Lab and content creators to improve and enhance the Second Life avatar skeleton to make it better meet the needs of mesh avatars (Bento does not work with the Second Life system avatar). It adds numerous new bones to the avatar skeleton, allowing easier creation and animation of 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.
In addition, Bento provides a set of new attachment points to work with the new joints – however, the overall limit of the number of attachments you can wear at any one time remains 38 (including HUDs).
Most of all of this work is entirely under-the-hood. However, there are two additions to the avatar right-click context menu for both your own and other avatars: Reset Skeleton and Reset Skeleton And Animations which should be noted.
They 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.
The 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 as well is intended to fix deformations which may be due to animations also kicking-in incorrectly / at the wrong time.
Note than anyone not using a Bento-capable viewer will see Bento avatars “deformed” or “melted” and will also see any attachments using the new Bento attach points rendered in the avatar’s chest.
Further information on Bento can be found via the following links:
- Lab post introducing Bento
- Second Life Knowledge Base on the Enhanced Skeleton
- Avatar body size wiki page
- Bento updates in this blog
Under-the-Hood HTTP Changes (aka Coroutines)
Catznip R11 includes the latest HTTP changes from the Lab. While invisible in normal viewer operations, these new HTTP capabilities provide improved performance and stability, and allows the viewer a greater degree of control and management over the numbers and types of HTTP requests that can be simultaneously outstanding.
The changes impact all aspects of the viewer which use simulator capabilities, and should result in fewer problems with high volume operations like loading inventory whilst also taking a load off of the region simulator (allowing it to get on with the job of simulating). The affected SL operations include, but are not limited to:
- Asset upload (Images, Meshes, Animations)
- AISv3 inventory manipulation
- Experience Keys (incl. allowing, blocking and creating Experiences)
- LSL script compilation
- Viewer Managed Marketplace
- Simhost event polling
In addition the updates from these changes remove a considerable amount of deprecated and unused code from the viewer. Those interested in the minutiae of these changes, please refer to the Lab’s video presentation on them.
Other Notable Updates from the Lab
- Use of the Chrome Embedded Framework for media handling – see: Valhalla: CEF comes to Second Life
- Replacement of QuickTime for Windows with LibVLC for media support on Windows – see: Important Viewer Evolution Update
- Voice improvements including fixes for: SLVoice process continuing to run after logging out; Voice quality issues; Voice remaining connected after teleporting to another region (requiring s re-log to fix); Voice crashing on a USB device change, etc.
- Numerous inventory fixes and improvements
- Many bug fixes and updates from 2016 Maintenance RC releases by the Lab
- Extensive reworking in handling mini profile icons: these updates drastically reduce the amount of texture menu used by mini profile and group icons, thus helping to reduce instances of texture thrashing.
Catznip Quick Preferences
Catznip R11 includes a Quick Preferences floater, access via a tool bar button, which by default is automatically added to the bottom tool bar. The floater comprises three working tabs, accessed by the button located to the top right. These are:
- Quick Appearance – several options to deal with avatar complexity
- Quick Wearing – fast access to worn items + list of complexity cost per item
- Quick Windlight – change WindLight presets easily.
(Note that the Quick Inventory button (third from left) is currently inoperative.)
Other Notable Catznip Updates
The following updates and fixes for issues reported with previous versions of Catznip are included in the R11 release:
- The current version number is now displayed in the viewer title bar (CATZ-264)
- Changing Windows Audio Output Device no longer requires a relog to work (CATZ-163)
- Reverting an outfit after wearing new attachments should now correctly detach the extra attachments
- Feedback floater should now close after submitting feedback (CATZ-207)
- Next owner check boxes are no longer inaccessible on the inventory item properties floater due to a localisation bug (CATZ-241)
- Edit Hover button should now work (CATZ-244)
- Numerous RLVa fixes and updates
- RLVa can now be toggled on/off at the login screen without requiring a viewer restart
This is a significant update to Catznip, one which brings it very much up-to-date with the Lab’s code base and presents users with capabilities such as Avatar Complexity and Project Bento. The nips, tucks and improvements to both the viewer and RLVa are liable to be welcomed as well.
I confess that Catznip is not my primary viewer – but it is very much one of my preferred viewers, and one I have no hesitation in recommending to those seeking a TPV alternative to Firestorm. This update ensure this very much remains the case.
One thing that is missing from this update that is found in the official viewer is the Visual Outfits Browser (VOB).
“It doesn’t work with the inventory view of outfits nor does it allow sub-folders under My Outfits,” Kitty Barnett, Catznip’s lead developer told me. “So I removed it until I can make it all work and play nice.”
As most Catznip users may already use the viewer’s ability to preview textures in inventory by hovering the mouse over them, and assuming they have images of their outfits in their folders, it is possible a lack of VOB functionality may pass largely unnoticed until such time as it may be implemented.