A code patch to OpenSim by one of our developers, Tom Grimshaw, has contributed to a 200-300% increase in texture loading efficiency and speed. The patch was developed in an attempt to address the issue of ‘grey textures’, textures that get ’stuck’ and never seem to appear, and textures in the distance appearing before those closest to your avatar. As Tom notes, the result in initial tests includes:
- Increased packet efficiency greatly, less wasted bandwidth
- Shaken the texture clog issue where textures stopped being delivered
- Implemented texture priorities properly, nearer objects load first
- Reduced memory usage per connected client VERY substantially.
The following video shows the comparison pre and post-patch (view a high definition video here, click the HD icon in the corner of the video window):
In our work at Remedy, OpenSim has become a viable alternative for specific client applications. I’ve written in the past about the possibilities of OpenSim for data visualization, integration with Web-side services, alternate physics: basically, any application where you need to toy with the server code in order to achieve a client use case that can’t be achieved with Second Life.
The recent announcement that Linden Lab is launching a firewall version of Second Life (a “Grid in a box”) will help to address security issues that are of concern to some clients (for example, protection of proprietary corporate data), something which could be solved through use of OpenSim (and still can be at a very different price point). But in the short term, at least, OpenSim provides a sort of sand box for testing different applications for virtual world technologies that aren’t easily achieved elsewhere. We’re currently using OpenSim for military training and leadership simulations.
The patch was submitted on 2009-04-09 22:03, and was committed 3 and a half hours later by Teravus, the original author of the code that it replaced.


Wow, impressive! Is this related to the ‘Texture Pipeline Improvements’ Linden have previously scheduled. Are we talking a shift in transport from UDP to HTTP for example?
https://wiki.secondlife.com/wiki/Texture_Pipeline_Improvements
/me applauds Tom Grimshaw for proviing what I and Balpien Hammerer have been telling Linden Lab for months… and for doing what Linden Lab failed to do. GO TOM!
And yes, when Linden Lab announced their “grid in a box” offering the first two things that hit me were:
1. It’s not gonna be cheap
2. OpenSim is already doing that for free
LOL LOL LOL
Linden Lag: Years late, ton-a-money short
Awesome news – congratulations!
Pardon me while I scrape my jaw off the floor. Simply amazing speed!
I, for one, have been on the receiving end of dismal texture load speeds since joining SL. I can’t afford the ultra-fanciest computer equipment, so I get to trudge and slog through grayness the majority of the time.
Oh, if only would LL hear my cry and actually make speedy, efficient texture loading a priority and a reality. Haven’t I suffered enough? (On the plus side, I can navigate almost exclusively with my minimap–it’s like a 7th sense, except that my 1st sense is all gray to begin with…)
[...] Dusan Writer’s Metaverse » OpenSim and Rezzing Textures: 200% Increase in Load Speeds [...]
[...] http://dusanwriter.com/index.php/2009/04/10/opensim-and-rezzing-textures-200-increase-in-load-speeds... [...]
I dropped my jaw too. But then I asked myself why LL has not even bothered to test the Balpien/Wayfinder idea and my jaw was straight back on the floor.
Thanks for the contribution to OpenSim, Dusan and Tom. This should be a nice improvement and looks good under early trunk testing.
great effort. We are upgrading this week and hope this fix is in. Tom — what is your shirt size! http://rezzable.com/tshirts we send you a freebie.
[...] He writes about virtual worlds, not just about SL. I have learned many interesting things about OpenSim and the discussions on interoperability. There have been posts on corporations doing business in [...]
Good for you, Tom. Having looked at the video, I can see the textures are being loaded in avatar/object distance priority (with the exception of ground textures, very good) and no stalls! Did you just fix the viewer, remaining with the old UDP approach, or is this a the HTTP streaming approach?