Black Dragon is MY Viewer, i decide which feature i want to add and which to remove, i share this Viewer to show the world that user base size is not important, i do rate quality by effort, thought and love put into the project, not some rough estimated numbers. I consider feature requests only if i you can name proper valid reasons i can agree on. It is my (unpaid) time i'm putting into this project, i'm not here to cater to every Joe's desires.

Monday, December 14, 2015

Black Dragon Viewer - Update "Going Places"

Fixing the broken, protecting the fixed, i am the terminator of... bugs. *crunches a bug under his feet*

This time i got some work done on the places floater which i broke (intentionally) in the last release, it was in a catastrophic state before i broke it, the broken version was actually the good one, i just couldn't let you see it... you can thank me later.

The aforementioned fixes for the places floater were basically everything that were delaying this update so i had to get it done... even though it was a total pain, layered layers for layering layered layers in layers... you get the idea...

This update is really important as it also contains 2 crash fixes, one for a random crash i was experiencing (and you most likely too) due to leftover code that triggered a nuclear chain reaction in the Viewer, making it blow up violently as soon as certain avatars, objects, prims... whatever else it was, came into your draw distance, the other one for a crash 100% reproducible 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, the camera controls floater thing was really tough... it took me just 50 builds to figure out a proper way to do it that works, as always the solution was as simple as it can get, so simple i would have never found it, hooray for having a nose for things like this.

Next up were the broken values for Avatar Rendering Complexity introduced in the last update, i'm sorry for that, it's the reason probably EVERYONE is always just appearing as jellybaby (or not at all), when merging with automerge i didn't see that the LL Viewer sets a default value for the new ARC debug, it was 200 because the LL Viewer sets the ARC limit depending on your general graphic preset which my Viewer doesn't have anymore, i raised the limit to the proper value of 120000, that means the probability of your friends being derendered is lowered by approximately 15%. Why only 15% you ask? because your friends are most likely resource hogs and have a much higher ARC than 120000.

This needs some explanation, first off you should read the Avatar Rendering Complexity wiki page LL made for this feature to get an idea what this actually is. Basically every avatar's "weight" is calculated, it depends on how much attachments he wears, how many prims it has, how many textures, which features does it use (glow, fullbright, materials etc) and so on, the more ARC someone has the more render resources he takes up, higher numbers = bad. If the avatar goes over your set limit, which in the case of my viewer is by default 120000, he will be rendered as impostor or "jellybaby", sort of like a 2D sprite if you know what that means, basically he will be derendered and use almost no resources, that feature is in place to A: protect you from evil graphic crashers and B: from hardware hungry framerate killer avatars like your friends or your own avatar (probably). Don't worry, your own avatar is not derendered for you, just for others with this feature enabled...oh did i say enabled? You can't disable it. That's right, no on/off toggle. I could make one but i'm sure LL is going to get soft and make one anyway, basically throwing this entire feature into trash, yay! So why did i set 120000 and not some other arbitrary number? All my avatars move in the range of 30000-150000 and as you may know i'm a furry, i wear quite some ARC heavy stuff, some of it stuff i can't just take off to reduce my ARC because it is my head, or my leg or my tail, they are however, still somewhat easy to get below 120000 if i wanted to (i don't want to because i don't use them anymore, they are old... sculpt... look like shit, you name it), also most normal avatars i see have an ARC below 120000 as well, so 120000 should be a good limit, it seems like something high enough to see low to medium weighted avatars without showing the ones that tend to tank your framerate. My current ARC is at ~36000, that should give you an idea and for those who don't know i look like this:

around 26000 of my ARC is my hair, 6000 my body and 4000 my clothes.

Additionally to the ARC value and limit there are 2 more limits set, the avatar size in bytes (8000000 = 8mb by default) and the maximum object surface an avatar can have (100m² by default), i'm not too sure about the size yet it might be a super miss, it isn't all that important but the avatar surface can play a huge role, very high surface m² can mean the avatar is wearing a shitton of textures or huge prims or might even be wearing a graphics crasher.

You can of course find the options in preferences - display - performance options and change them as you like, you can also right click someone and select to render someone always fully but i highly recommend you not to raise them all too much higher, higher values means heavier avatars means less framerate.

You can also check your own values and those of others around you with the now called "show avatar complexity information" menu entry in Dragon - Useful Features - Performance Tools.

It will display you the information like this:
Avatar Rendering Complexity
Surface m²
Size KB

Here's a snapshot from the last post to show you how it looks like.

I hope that clears up your invisible avatars issue once and for all, i'm sorry i didn't explain that in the last update where it was introduced.

Guess that's it for today, have fun with the now less crashy/buggy version.


Changed: Use ellipses for Inventory view, stop this endless horizontal scrolling mess.
Changed: Layout of Places floater.
Changed: Layout of Place Profile panel.
Changed: Layout of Landmark Info panel.
Changed: Fancied up forward button in History a bit.
Fixed: Clipping Landmark lists.
Fixed: Broken button rows.
Fixed: Random Crash with certain Avatars, removed some leftover code.
Fixed: Avatar Complexity Debugs being off, causing everyone to be a jellybaby.
Fixed: Crash when right-clicking in Object View or Zoom/Pan/Orbit mode.

1 comment: