Hacker News new | ask | show | jobs
by vorpalhex 1272 days ago
The biggest contributor of lag is not having things cached or being in a laggy region.

On first connect, it used to be practice to go to a busy scene (a mall) and then go do something in real life for an hour or so while the viewer grabbed everything and cached it.

Regions can be very low lag or amazingly laggy, depending on a bunch of things (particulary misbehaving scripts).

1 comments

The causes of lag in Second Life are complicated, and are, at last, getting a lot of attention right now.

I've been working on that with a multi-threaded viewer in Rust.[1] After I started posting videos like that, there was a lot less "can't do" attitude from the Linden Lab devs. Now there's a "performance viewer" project out of Linden Lab, using many of the same techniques. Key concept: the backlog of assets to be loaded needs to be on a priority queue which gets reordered as the viewpoint moves. Otherwise you bottleneck loading stuff that you were previously near, not stuff near where you are now. There's a nice B-tree solution to this. Once you have that, everything in close-up is present and at high resolution.

Hardware helps. 100mb/s networking and putting the viewer cache on an SSD will help a lot.

There's still a big problem server side with the transient load when a new user enters a region. A mall or event with a lot of traffic can slow way down. The server devs are trying for more concurrency, but it's hard in an old single-thread 32-bit C++ program.

It's striking that, despite all the "metaverse" hype, there are very few people, even among game devs, talking about the nuts and bolts of making this stuff work. The metaverse conferences are mostly about branding, NFTs, and moderation/censorship.

[1] https://video.hardlimit.com/w/sFPkECUxRUSxbKXRkCmjJK