• Winking Gwyn
  • Categories

  • Feeling generous today? Any money received will support the continued web hosting of this blog. Donate towards my web hosting bill!
  • Gwyneth Llewelyn is offline in Second Life.
  • Pages

  • Meta

  • Blog Rank: 124,475
  • Status Updates

    • Allow group ownership of private islands (multiple owners paying the cost for the private island together) http://ping.fm/gXJ6z
      2 days ago
    • [Blog] SL 2.0 Beta still running too slowly on your Mac? No worries!: If, like me, you're not the kind of person th... http://ping.fm/Y0gYX
      10 days ago
    • [Blog] The new possibilities of the XStreetSL "money API"?: I have to confess, I'm quite excited by the tremendous ... http://ping.fm/arSLj
      10 days ago
    • Yay, XStreetSL got some properly working CSS :) No more horizontal scroll bars... it's fluid now :)
      11 days ago
    • [Blog] Where is There?: Nowhere! http://ping.fm/khsS6
      12 days ago
    • Not There Any More: There.com shuts down its virtual world: http://ping.fm/wTCnW
      12 days ago
    • New simulator server software (1.36.4) seems to fix the problem with Estate Bans that didn't work: http://ping.fm/6Zr1W
      12 days ago
    • Call for speakers for the B2P 2010 Spring Conference "Leadership in Business" in #SL, promoted by @B2PBetaTech: http://ping.fm/DhXZT
      13 days ago
    • What a great idea: better integration of shared media and the UI on HUDs (adding transparency): http://ping.fm/FwJL6
      17 days ago
    • Our own @Doubledown_InSL hits CNN: http://ping.fm/W0aEK Congrats, DD! (Thanks for the link, @TrudyTakacs!)
      18 days ago
  • PostRank Topblogs 2009 - #16 in Virtual Worlds
  • RSS My Other Blog

30 Jun

Pushing the Limits II — Snowglobe and ultrafast texture download [UPDATED TWICE]

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.

YouTube Preview Image

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 ;)

Related posts:

  1. Pushing the limits
  2. Second Life on Old Laptops
  3. Shadowy details! [UPDATED AGAIN]
  4. Kirstens Viewer S18 Strikes Back!
  5. Spammers are disseminating a new illegal SL client under my name [UPDATED AGAIN]

Related posts brought to you by Yet Another Related Posts Plugin.

  • I love Snowglobe too, got like 10 fps back. And textures load! Had big problems with that on my computer (although it worked for iAlja with the same client on the same OS version, weird).

    Keep up the good work Snowglobe team :)
  • I did a test similar to yours, Gwyneth - except I used a more control environment.

    The rules were simple: Allow the viewer only 60-seconds to rez the world, clock starts counting from the moment the 'world' appears on screen. No moving the camera, the avatar or the mouse to ensure all processing cycles are dedicated to the viewer, thus being dedicated to rezzing the environment.

    I told you I looked at the Emerald and also Gemini viewers before looking at Snowglobe. So I recorded my experiemnt with these constraints and the visual difference in this method is *STUNNING*.

    I tested LL 1.23.4, GreenLife Emerald, Gemini and then Snowglobe.

    HOLY SMACKERS Linden Lab should make SNOWGLOBE the "official" viewer and the 1.23.4 "Official" viewer the "secondary alternate'.

    Here is my video:
    http://www.youtube.com/watch?v=q4ZqmvHFJBQ
  • TC
    You will be able to tell when HTTP textures are in place beyond the map. The first thing you will want to do is enable Advanced->Rendering->HTTP Get Textures. This doesn't force HTTP GET attempts (well, it did force a try in early Snowglobe builds, instead it sends a capabilities query and switches to HTTP if the sim says it can handle it.

    You can use the Shift-Ctrl-3 texture display to see when HTTP actually does something. In the status column where you see "SIM", "NET" etc. now, you will begin seeing "HTP" at the start of transfers.

    Babbage would be a good person to ask about the state of the server side of things, his group is the one that's been working on it.
  • Testing on Imac 2.4 ATI,RadeonHD2600 and works perfectly. The textures comes up so fast as the viewer can render the prims. On the RC or the official candidate, I have to wait viewer render the prims than (somewhere in time get the textures) . Much better than any other viewer that I have tested. Thnks for sharing your review.
  • I've been enjoying Snowglobe even without the HTTP texture loads. I'm hoping Snowglobe ends up taking on the RC role, because the real speed increase might not be the texture load time or user experience, but instead the bug-report-to-fix-to-release cycle.
  • It looks like it, Cinco, but I'm sure that there will be some RCs too for the "stable" versions, like on every other open source solution...
  • I've been so hesitant to celebrate the apparent success of texture loading in Snowglobe. However, I've been seeing the same thing you have (I'm on a poor MacBook too): textures load noticeably faster in Snowglobe, don't get "stuck" in the loading queue, and load more completely—even in massively-crowded, laggy sims. For the first time in many, many months, I feel like I have a complete sense of SL in all of its textural glory. But, I'm also worried that once Snowglobe catches on and many more layers of code get heaped onto it, my viewer will return to a dismal level of grayness. I'm keeping my fingers crossed that we won't go back there...

    Thanks for another great article!
  • Ohhhhhhhhhh thanks Gwyn - I was trying to figure out what was so special about this approach.

    The HTTP Get idea is kinda Metaplace'y.

    Very cool, thanks for explaining.
  • Sometimes this is so fast as to become creepy!! I've just tested it in my MacBook (not pro) with an unsupported Intel graphics card with a mere 64 MB of memory, and on wireless. Textures were coming in so quickly that I was baffled. Gosh, this certainly makes an insane difference on old, underpowered computers...

    Nevertheless, I believe that the super-high texture download speed can also come from the fact that few (if any!) users are using Snowglobe simultaneously. I wonder how they will fare when close to a hundred thousand SL residents are using this technology at the same time — probably it will be as slow as the standard mechanism of getting streamed textures :) We'll see. The good news is that it's far easier to accelerate HTTP requests (something techies are quite familiar with for the past decade at least) than proprietary streaming technology, so it might never get as bad as what we have today.

    The interesting news is the possibility of getting textures from anywhere on the World-Wide Web. That will be awesome, and, as said, it will become a new business opportunity — texture storage with fast retrieval and a world-wide coverage is not so easy to set up, or, if it's easy (say, using Amazon S3), it's costly.

    The ironic news is that the Linden behind all this has been... mostly Philip ;) ... who developed the original streaming protocol for textures. That just shows that Philip is not "frozen in time" but quite willing to drop his own past work and help to develop a new alternative to his own protocol.

    Very cool :)
blog comments powered by Disqus

© 2010 Gwyn’s Home | Entries (RSS) and Comments (RSS)

Powered by Wordpress, design by Web4 Sudoku, based on Pinkline by GPS Gazette