Disclaimer

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.

Friday, October 23, 2020

Black Dragon 64x - Update 3.9.1 "Visualizing Dragon"

 So here it is! 3.9.1. The update that fixes the last few reported issues and then immediately breaks everything again by merging LL code. YAS!



Counting to these reported (and fixed) issues are the inability to move notifications from "Do not show" to "Show", the Profile window not being able to be closed with CTRL + W, the Derender list clearing when double-click teleporting inside the same region, animations not being able to be played backwards anymore and a nasty rare crash when image caching fails.

That's basically it already for this update.... BUT WAIT there's more! The advanced complexity information window gets a new tab, called the "Performance Report" which is a first step towards a general breakdown with a direct list of what specifically is unoptimized on your avatar.

Right now its very basic still but i think you'll get the idea what this is going to be. You get a list of the main stats of your avatar, such as complexity, polycount, object count, face count, texture memory usage and so on. All of these have a "limit", this isn't a hard limit but rather a soft limit which when reached will scream at you with a big red glowing dot telling you that this is bad. All of the reports are being combined at the bottom to an overall summary of your avatar. Right now it's pretty simple as you can see but i hope to extend it to include some more specific information and possibly even have comments on each section which might or might not give you hints at how to improve certain aspects of your avatar.

The hardest part about this is choosing the "limits". Complexity, polycount and memory usage as well as projectors, animesh and media were pretty simple and obvious. The complicated part where i am not sure yet are things like object, face and texture and light count. Generally you want all of them as low as possible, though in themselves they are not necessarily bad. You can have 1000's of objects and 1000's of faces and still have a somewhat decently running avatar but that does not change the fact that incurring thousands over thousands of nested draw calls is bad. Speaking of the best possible thing, you obviously want your avatar to be a single object with a maximum of 8 faces. This would already limit the texture count to a maximum of 8 diffuse, 8 specular and 8 normal maps and thus the maximum usable texture memory to 96MB (24x4MB). Obviously this is an unrealistic expectation in Second Life since we want interchangeable clothing at the very least, which means i had to choose non-gaming standards that still keep the counts low and make sense. Arguably 320 faces isn't exactly... "low", in  fact that's so high anyone's heart who had to optimize something for a proper game would probably skip at least 10 beats or outright fail. Again though this is taking SL into consideration, having lots of faces is technically bad but doesn't immediately end the world. Seeing my avatar have 222 faces was quite shocking and i'm unsure whether this is a calculation error or an issue with faces on meshes. I know you can set faces for meshes but i do not know whether SL still internally counts them as having 8 faces even if you give them less, which is why i chose 320 faces (8 faces for each of those 40 objects) for now. As time goes on i will obviously spend more time on this and adjust numbers as i see fit.

With that out of the way, let's talk about the two elephants in the room. One already demolished half the interior, the other one is going for my porcelain room.

I've had increasing amounts of reports that people couldn't download the Viewer or have gotten reports of potentially malicious content (most often due to Windows Defender). This release i've gone the extra step to scan the release packages several times to make sure Defender doesn't do anything awkward for me, then also submitted the releases to Microsoft to have them test them (and hopefully update the Defender database to include these as clean files) and i've downloaded the files twice from GDrive to make sure Chrome isn't blocking it and Defender isn't throwing any hissifits either. Neither of them made a noise. So if you still get a warning or even a blocked download, you might want to add it to the whitelist (don't ask me how, i have never done it since i've never gotten to the point this was required).

The other thing being that this is another release with lots of all-touching LL code merges. I've already found right-click editing crashing the Viewer and fixed it but i suspect there's a lot more broken than just that but i can't just sit here and wait for things to break otherwise these updates will never happen at all. I believe that if there is something broken you'll find it. Also, this update contains some necessary fixes so waiting any longer is only detrimental for the Viewer. I'm not Firestorm after all, i don't want to let you wait 6 months for fixes when they have been fixed the very same day they were reported. 1 month is already annoyingly much but i always feel like i'm missing something... or... something could come up right after i made a new release available. (Which it ALWAYS does)

Oh look! It's a third... oh... he's stomping over my flowers. Well fuck. I feel the need that a few things, especially regarding help and support needs to be changed around. I'll spend some time investigating how to tackle this, most likely moving the support channel in Discord around, adding a new one and also investigating a bot setup so i can force people to suck on that welcome and FAQ channel first before posting anything. I'll probably also rewrite the guides that i've already wrote and possibly add new ones in hopes to prevent more questions before they even get asked so i can filter down the amount of help needed to something that allows bringing some organization in for better viewing and possibly also for better insight for the user.


And with that, thanks to all the new Patrons and the old ones who keep supporting my work! The Viewer would be dead without you.


This time there have been so many good pictures around, i don't even know where to put them all. I suppose i'll split them for this and the next release so i got reserves in case until next time there aren't many good ones.

By Arietu

By Seicher Rae

By Spiritus (Spectris Audax)

By Kissmebaby Allen