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.
On my last post, I’ve covered the amazing possibilities of dynamic shadows and the new lighting system, even on under-powered graphics cards and low-end, old computers, thanks to KirstenLee Cinquetti.
This time, I’ll be showing you a video comparing the standard SL viewer (1.23.4) with Snowglobe (1.0.2), LL’s open-source-driven-and-contributed “separate” branch of their main viewer. The main feature it has right now (as well as some user-contributed patches) is downloading textures via HTTP (e.g. a “Web” request). All textures on all other viewers, right now, use LL’s own texture streaming protocol (based on UDP) developed, oh, probably in 2000 or 2001 (it’s hard to say!). Textures are right now just “another asset”, and you get all sorts of packets from sims for all kinds of information: avatar movement, asset download, linksets, instant messages. This means these packets may come out of order, or even get lost, and require retransmission. They can also time out “forever” if you’re unlucky (so a texture remains unloaded and displays as a gray surface).
The new mechanism is more complex, and it’s not very easy to figure out if it’s fully implemented or not (LL says it isn’t; but the results on the video below tend to show otherwise!). It allows a texture to be retrieved using a common HTTP call (just like a normal Web browser) directly from LL’s asset servers — or, in the future, from anywhere on the World-Wide Web (which has the huge advantage that you could, in theory, serve them from your own server — or from Flickr or Picasa! — and bypass LL’s own asset storage entirely). Thus, in the future, providing superfast storage for textures will be a line of business 🙂
Right now we’re just at the first stage: bypassing LL’s cumbersome protocol and just retrieve the textures via HTTP. The difference is… astonishing. You can watch a comparison by yourself on the video below and judge for yourself. Yes, I’ve tried it on very texture-intensive sims: Hair Fair 2009, Neufreistadt, and Armidi.
You’re probably better off if you check “HD” on the YouTube video and increase the size of the display to watch the many annotations I’ve left there 🙂
The important thing to remember is that you have to go to the Advanced menu, look for the Rendering submenu, and check HTTP Get Textures. Or else, the only thing that will load faster is the Map (gosh, I took ages to figure that out!).
Enjoy it 🙂
[UPDATE] Soft Linden believes that actually none of the textures (except for the Map) is being read via
HTTP Requests… yet! Which makes all of this even more amazing, since it’s just a cycle of texture optimisations in the code (not unlike what KirstenLee Cinquetti did with her own viewer). If that’s the case… it means that once that code is in, Snowglobe should be even more faster! :-O
To figure out if some textures are being downloaded by Snowglobe via HTTP, press Ctrl-Shift-3. If you see any textures using “HTP” as the status, those will be loaded via HTTP. Soft might be right — I’ve tried it for a bit, and didn’t catch any textures with that status. Almost all are NET, SIM, or INI, although, granted, this happens so quickly under Snowglobe that it’s very hard to catch… in any case, if any textures are actually being downloaded via HTTP, they must be very few.
[UPDATE 2]Rika Wakanabe has plurked about her thorough tests (using a packet analyser) and has proven that at the time of writing (meaning: SnowGlobe 1.0.2) there are no textures being downloaded via HTTP yet, except for the map tiles. The code on the viewer is all finished, though, but on the server-side, nothing seems to be done yet, and there is no word from Linden Lab on when this might actually be developed. Interestingly, this might give the OpenSimulator developers something to think about and beat Linden Lab at their own game 😉
[UPDATE 3] OpenSim has for a long time had HTTP texture download. Philip Linden, on his last Town Hall meeting, has promised that it would happen “during this week” (thus antecipating the 1.42 server deployment next week), and has been faithful to his promise: according to the Second Life Wiki, HTTP texture download was deployed on the SL grid on August 3, 2010.
It’s very, very important that everybody turns this on as quickly as possible. If, as Philip explained, all texture downloads come from Amazon’s cluster, this means that HTTP texture download will dramatically reduce bandwidth requirements on all the grid — and thus release the sims of 40%-60% of their bandwidth needs. Simultaneously it also means that the sims will need to track less open connections and who has received textures and such, so it might also lessen its CPU requirements as well. Specially in areas with high density of avatars, it’s very important to make sure that everybody has this setting turned on! The improvement should be dramatic in terms of sim lag reduction on those areas.