Linden Lab War on Lag Feels Socialverse appLike US War on Drugs to Me
Last Friday Linden Lab announced “Project Shining”, billed as a major effort to combat avatar and object streaming performance problems, or what’s more colloquially called lag, and what makes Second Life look like the gray undifferentiated mass you see above, many minutes after logging in. Sample:
This year, Linden Lab is making the single largest capital investment in new server hardware upgrades in the history of the company… As a result of the Shining investigation, the project has been split into three larger performance projects: Project Sunshine, Object Caching, and HTTP Library. All together, the hardware upgrades and the Shining projects should improve avatar and object streaming speeds significantly.
Which sounds awesome, and may very well lead to amazing improvements, but if this feels familiar, that’s no surprise. Here is what Linden Lab announced in 2010:
In August , we made some changes that improve the speed with which textures are loaded in a scene. Our release of HTTP Textures changed the way textures are delivered to, and loaded in, Viewer 2, resulting in less waiting around for the scene in front of you to come into focus. This change will also serve as the foundation for a series of bigger improvements, including the deployment of a new asset system, which will improve texture loading and object rez times even more.
And here is what Linden Lab announced in 2011:
We’re planning significant grid infrastructure enhancements throughout the year including technologies to speed server-side rendering (SSR) and server virtualization (web and simulator services). We are also exploring new storage and asset delivery systems. Some of the benefits will not always be noticeable, but they are foundational platform changes that set the stage for rapid performance and scalability improvements. We will continue to keep you updated as we roll out these systems.
Notably, both the 2010 and 2011 posts were written by former Senior VP Frank “FJ Linden” Ambrose, who left the company last December, while last Friday’s post was written anonymously. (This may reflects some management shuffling within the engineering division.) And while many SLers have reported performance improvements from the 2010 and 2011 initiatives, others have not. (My own viewer performance has been degrading since then.) That the company is making such a prominent announcement now suggests that lag is still a recurring, widespread problem for a lot of SLers.
All this skepticism to one side, maybe this time the improvements will truly be improving, and I remain hopeful. At the same time, a part of me feels like Linden Lab’s war on lag is sort of like my government’s ill-begotten “war on drugs” — a battle successive administrations try to fight, which never seems winnable, and never seems to address the underlying problems. (But maybe that’s just oldie grousing on Monday morning.)
Coincidentally, I addressed the idea of technical debt in a bogpost last week:
“In a world unconstrained by time, money and competitive pressure a software product’s underlying code would be consistently refined and refactored. In reality, companies usually focus their resources on short-term tactical requirements instead of the less urgent task of optimizing code and updating architecture. Over time, a Metaverse for social product’s codebase can become so kludgy, convoluted and incompatible with current technology that significant improvement is too costly and complex to be practical. Second Life sits on a codebase with a decade’s accumulation of technical debt.”
So it was good to hear them announcing a serious commitment to paying down the technical debt, as well as how concrete they were about what they have planned. As usual, only time will tell.
Just as meaningless as when household products say they are “New and Improved”. It looks like once again LL is trying to roll out a software solution to a hardware problem. No matter what kind of code they dish out, it will not really do much for performance and might actually decrease performance. Pry open your wallet, LL, and get some more server memory — like every other company on the planet!
Well if I’m understanding the object caching aspect of the project announced, this should be something we will notice immediately. In fact it sounds like something advocated for in a NWN post not too long ago, (maybe about skyrim?) where Hamlet suggested the ability to download specific sims so they would rez immediately. This object caching should provide essentially the same functionality. It will check if the UUID’s have changed and only update those that have, everything else in our cache will rez immediately.