Guess what? This seems to be the month of SL clients competing on bleeding edge features and speed improvements! After my previous post — now outdated! — on comparing Linden Lab’s open source “Snowglobe” viewer with Kirstens Viewer, KirstenLee Cinquetti hasn’t been asleep. She obviously got hold of the open source ultra-fast texture download code and new rendering pipeline from Snowglobe, added the “Worn Items” tab from Imprudence, and created an “unholy union” which gave us… dramatic performance. Again.
Comparing Snowglobe and Kirstens Viewer S18 is inevitable, of course, and your own experiences might be quite different. Remember, this is not for the faint of heart; both are so impossibly fast that I’m wondering if someone hasn’t sneaked in a new iMac on my table and are secretly laughing behind my back! On the other hand, many people will grumble and complain that it doesn’t work for them, or that they have some odd issues that never popped up before. That’s all right; we’re talking about products not designed for the casual, mainstream user — but for someone who couldn’t care less about a few minor issues and just wants poor, raw performance out of their computers 🙂
That’s really what I’m after 🙂 I used SL in 2004 with… 2-3 FPS. I slowly got used to push sliders and click boxes on the Preferences tab and was insanely happy when I managed 6-9 FPS out of the same computer! When I switched over to a “new” iMac back in early 2007, I was happy when I first saw SL running above 15 FPS, sometimes (on empty sims and very low settings) even going all the way up to 20! Then Windlight — now called “Atmospheric Shaders” — was incorporated into SL, worked well for a while during the testing phase, but the final release simply made my poor underpowered iMac go back to the more familiar 9-12 FPS range.
That all changed until KirstenLee Cinquetti came along with her viewer and launched her new, improved rendering pipeline and better handling of the texture download — and Hyang Zhao ported it to the Mac. All of a sudden, I finally understood that 30 FPS is something even an old iMac is perfectly able to do without sweating, or burning holes on your motherboard.
After a long development cycle, a LL team allegedly lead by Philip himself, has now revealed the major reason for the SL viewer’s poor performance: texture handling, both on the downloads and on the rendering pipeline. KirstenLee was the first to redesign the texture pipeline and the way the downloads work, and she managed, on average, to get a 50% improvement on raw performance, while at the same time making SL look better.
Then she started to play around with shadows, using bits of LL’s “Shadowdraft” code, which has been around for a year, and only now semi-officially incorporated on Snowglobe. Last year, Tateru Nino reported that this would only work on PCs with a high-end card from NVIDIA. Certainly things have improved since then, because my iMac is, well, not a PC 🙂 and it has an old ATI card. Nevertheless, KirstenLee’s S17 viewer allowed me to enable shadows on the ATI Radeon X1600 card without crashing, and it was surprisingly stable. There are, however, many issues with it: colour changes, flickering every other frame, a black sky, and sometimes the whole UI disappears without a trace, coming back when you zoom out (or in; it seems a bit random). Oh, and of course, it also meant going back to 1 FPS or less. Definitely not good enough for doing machinimas, but enough for taking snapshots!
Snowglobe, however, has far better shadow processing. I get no colour changes; the UI stays where it should; and with luck I might get up to 3 FPS on a good day. There is still some flickering between frames (avatars turn into wireframe for a frame and revert back; this is quite noticeable if you just get 2-3 FPS 🙂 and makes taking snapshots hard to time, but not impossible).
Well, the new S18 “cross-breed” is intriguing. Of course, performance is slightly above than Snowglobe’s — which I was almost expecting (since KirstenLee is famous for her fast SL clients!). I never imagined, however, being able to walk around on Ultra performance with 15 FPS on my poor iMac!! In fact, the only thing I miss for the pictures is anti-aliasing, which doesn’t work any more (Snowglobe shares the same problem) on the ATI Radeon X1600. But with all other settings enabled… wow! I’m very, very, very impressed. And to be honest, when I jump to a sim that I know that is particularly heavy on textures, I really get dizzy watching them load. It’s like Uncanny Valley in reverse: after five painfully long years being used to things downloading so slowly, watching those prims suddenly drop into existence, all full with their textures, gives me vertigo. You really have to get used to it before the feeling goes away!
In fact, I found out that the biggest issue was… network throttling! I usually set it to 1 Mbps on the faster machines, and just to 512 Kbps on my MacBook with an unsupported Intel GMA card. But both on Kirstens Viewer S18 and Snowglobe, they need far more than that to keep the texture rendering pipeline filled up with work to do! So, if your textures are not downloading as fast as you think they should, play around with the Network bandwidth setting. You’ll possibly find out that if your computer is fast enough, setting them higher will make it go even faster!
Shadows were a bit of a disappointment, though, since they work so well under Snowglobe. The S18 is not much better than the S17 in that regard, and I’ve taken a few pictures to tell you what I mean:
The above is my reference image, taken on Neufreistadt, (in)famous for its heavy textures and overall slow rezzing. The settings are about half-way — no water reflections, just 128 m drawing distance, and no aliasing. I particularly like the sharpness of my hair on S18 🙂
The same image in S18, with shadows on. There are some alpha problems on the buildings on the right (but Neufreistadt always had alpha problems…). Shadows in the distance (on the church’s façade, for instance) seem nice, soft, and realistic; the avatar shadows are jaggy, and sadly, I cannot turn on anti-aliasing to compensate. And, of course, the sky turned black. Granted, this image was tweaked — to get exactly the same angle, I hit on the problem common to S17 and S18, where colours get all wrong, gamma is off the scale, and everything is underexposed, or some colour channels are missing. Anyone with a better computer and a newer card will have no problem at all. My roomie is now happily shooting machinimas on her PC with an NVIDIA® GeForce® 9400 card from Gigabyte, which is pretty much the “entry-level” NVIDIA card these days (for instance, all Macs currently come with a 9400 variant), and she gets 15 FPS on Ultra with shadows. And at US$80, it’s a bargain.
Snowglobe does a far better job on shadows:
Granted, the sky is still black, the buildings with alpha problems remain buggy, but at least the colours are correct. The avatar shadows are softer, rounder, less pixellated, and more realistic (although on the background they become jaggier — alas for no anti-aliasing!). And I get a whopping 3 FPS with shadows on — not bad, since it’s the kind of performance I was used to in 2004, but gosh, what a difference in image quality!…
So if you have bought your computer this year, or are able to get rid of your old graphics card and just buy a recent, entry-level NVIDIA card, you’re naturally laughing at the above results. You’ll get super-smooth shadow performance — even at Ultra or close-to-Ultra levels. People are doing machinimas with shadows all over the place. It’s so stunning to see these that we really start to forget that this is old, plain SL with its incredible demand on graphics cards due to fully dynamic content.
And don’t think for a second this is the best that SL can do. Believe me, you’re in for a big surprise later this year 😉 The whole point, though, is to understand that you don’t need to throw out your computer right now because of all those extra new, shiny things: your old computer will still work, will still display shadows, will tremendously benefit from the brand new texture downloading mechanism and rendering pipeline, and you’ll have an experience in SL like you have never seen before.
We still don’t have mirrors, a feature that was available back in 2007, but, who knows, we might be able to do extra-shiny flat surfaces and see some reflections in it — with shadows on. It might work, just try it out and tell me about it!
If you’re prepared to tweak your settings, of course. I’m sure that at this stage it will become incredibly more difficult for LL to support so many hardware/software combinations and automatically guess correctly at what the “best” settings are supposed to be for your SL client not to crash and still display reasonably good images. You’ll just have to be patient and tweak your settings a bit. It pays off, as you can see 🙂