i have done kinda sorta stress test. I got 1000 of totally physical spheres, constantly moving on server via forces. There is 1 GameLogic worker handling them all, since multiple worker setup is not working correctly for me yet. Spheres are in local groups of various sizes, maxmium of 500 units. Player will see only one nearest group, so you can check how different crowd sizes perform. Each sphere is sending transform sync updates at 30Hz max. Client interpolates this updates.
So, testing various numbers, i have found out that 150 spheres visible by player are sorta stable. 250 are moving laggy, and this leads to disconnect of the player every time, because it “fails to respond to enough pings”. Something is overloaded here, but i am unsure what exactly. All metrics seems inside range for the template. Maybe it is related to FPS sample project player heartbeat code.
sphere groups in the world
moving spheres, as observed by client
So, i am wondering, how to exactly detect overload, what value to watch and for which critical range? Also, disconnect reason for “failing to respond to pings” seems strange, because player is getting updates from server normally, and then just drops. Maybe signal from player to server is not coming because of network overload?
And also, should multi-worker setup work on FPS starter project? I tried it with 4 workers (2 : 2 grid), but player is not seeing spheres at all in multi-worker setup. Just some spheres near the spawn point are visible and also lagging badly, groups are not visible.
Project is on “beta_don_glucose_565”