So this might be a difficult or impossible question to answer, but: How far along the optimization path is the engine, currently? Can we expect to get double the performance down the line? Or are we already tapering off and approaching the asymptote? Just the other day I experienced the dreaded "Connection to server lost" a good bit into a multiplayer game - always a huge letdown. How much better can we expect the server / sim / anything performance to get over time? At one point things like 40 player games were discussed, but with the performance of the current engine, I can't see that happening any time soon. Are there some key, possibly time consuming optimizations still further down the development pipeline? I can imagine some of this is more of a "we'll optimize when we discover unoptimal code" kind of thing, but are there perhaps some things Uber has in mind to increase performance that they haven't had time to get to / aren't done with yet?
well, connection to server lost is more a stability thing than performance, which we can expect to improve. I seriously doubt there is enough room for double performance on client. As for the server, we might if they multithread the server more, though that is a challenge. As for 40 player games, there was a 20v20 on private server yesterday, worked pretty well.
I find that somewhat unbelievable, given I've had 8 and 9 player games grind to a halt with 4-5 small-medium sized planets... Did the host have a supercomputer?
Haha. When we start getting down to 1/10th original speed and slower everyone tends to give up.. or if the sim actually completely freezes.
In another thread one of the devolopers said there is a lot can be done on the gpu front as far as optimizations go. Though he admitted that's not usually the bottleneck the cpu is. it sounds like they will be spending some time on gpu optimizations.
The 20+ player games were done with the PTE server code, where there are a lot of performance improvements.
Oh, that sounds promising. Should see if I can host a large game on the PTE then, and then build 2000 dox and boom bots!
Somebody should write up some form of realistic benchmark for the PA server so we finally can actually objectively measure its performance between machines and between patches.
Set up a human vs AI game on Playfab servers with restrictive pathfinding (network of metal planet trenches). 1500 bots, sim was at full speed (10fps, 100msec). At around 3000 bots moving around, sim was at 5 fps, 200msec (50% of max). At 4500 bots, sim was at about 3.3 fps, 330 msec, or about 1/3rd full speed. At 5000 units, sim was at 1/4 speed. At 6600 units, sim is approaching 1/5th speed, about 476 msec. The slowest sim processes are "entity execute", followed by "physics", then "sim: other", then "navigation". It could be considered "playable", but it's definitely frustratingly slow. Not sure how this compares to previous versions...
These vary depending on how the game is progressing, however, entity execute and physics are the top two, task plan and other are a close second and third, navigation is last, however it's already had quite a bit of attention turned to it.
Hmm. In a game I spectated the other day, it was around 40msec, par with entity execute and physics. My thread on sim FPS.