About the FPS. A couple of months ago, when I just started working on the map, the performance issue questioned the possibility of creating this project. The map then had very few objects, but the FPS was already 40. The main reason for this, as it seemed to me then, was that the engine could not use more than two processor cores. Then I even recorded a video where I showed that there is no difference on what to play - the FPS will be low everywhere. As I did not try, but I still did not solve this problem. As a result, I was forced to look for other ways to raise the FPS.
Most of the load at that moment was caused by draw calls, on average there were about 5000. 3500 gave the landscape, 1500 trees, of which there were about 1500 on the map and the rest of the meshes. First, I solved the problem with trees that for some reason spawned as a separate mesh, rather than as an instance. As a result, I was able to put 16,000 trees, which consumes only 300 draw calls. Then I tried to solve the problem with the landscape, which I didn’t completely solve. But now he gives out 300 drawing calls and I have the opportunity to reduce it to 40 if the problem with holes in the landscape is solved. As a result, there are now 700 rendering calls on the map on average, and the FPS holds about 100. I also have a couple of trump cards that can add about 10 FPS in the final version of the map.
Now the main problem is not drawing calls, but Tick Time in world Tick Time, which requires 2 times more resources to process than graphics. I doubt that this can be fixed at all, only if forced to use all the processor cores.
I assume that when there are 20 people on the map, the FPS should not drop below 70.