
Originally Posted by
Citan
Optimizing Serbule is definitely a high priority, and we've got some framerate improvements ready for the next game update (which will be next week, probably). But it's a complex problem with a lot of different parts, and we'll have to iterate and improve over several months to get things settled. This next update will give a noticeable FPS boost to everyone by fixing some problems in the Serbule scene itself, but there are other issues that need to be worked on.
One issue is that our monster-movement subservers seem to become unstable when there's more than 300 people on a single map. That happened during the "poetry" player event on Sunday for the first time. Those sub-servers are designed to crash and restart cleanly, and they did so, but whenever one crashes, players in the area experience noticeable lag (and can also have weird monster behavior, such as monsters "skating" around). That lag lasts until the subserver restarts, usually less than a minute later. The Serbule sub-server crashed five or six times during the few hours around the poetry event, so that's pretty annoying.
I'm still looking into why the subserver crashed this weekend, and fixing it will probably take iterative improvements and testing. But in the short term we'll set up dual physics sub-servers for Serbule so that they can share the work and fail-over if one crashes. That configuration hasn't been tested before but we'll set it up this week and see how it behaves this weekend when populations are highest. And, of course we'll work on fixing the underlying crash problems!
We also need to optimize a lot of things, from LODs to animation-visibility ranges. There's a lot of work to do. But most of it isn't unknown work -- it's just a lot of work we need to do. So we will!
Just to be clear: it should definitely be possible to have hundreds of people on the Serbule map, but having hundreds of players ON-SCREEN is always going to be expensive. I doubt it will ever be possible to have 150+ people in town without having significant framerate drops in town. Our character-customization hooks are pretty deep (for instance, every piece of armor can be dyed separately on three layers in any of hundreds of colors), so rendering players will always be somewhat expensive. However, the "OptimizeMeshes" special optimization feature is especially useful when there's tons of players on-screen, and I encourage people to test it out! (Check the patch notes for details.) We have plans to improve that further. And as we fix other problems with CPU-bottlenecks, the pressure will ease a bit.
But part of the long-term fix is to push players to spread out more. If there's 1000 people online, they should be distributed across multiple cities, not all standing in Serbule square! To that end we've been working on making Rahu more useful as a high-level city, and we'll keep working on that in future updates, too. And we'll have to experiment with systems or content that will help player-run "events" like the poetry event succeed.
So to sum up: we'll be trying something this weekend to address the sudden FPS spikes that happen when the physics sub-server crashes. The update next week will have some FPS improvements. And the updates after that will continue to improve things. We use an iterative approach, so it's not feasible to give an exact timeline of when Serbule will be "optimized", but it will improve noticeably in steps.