Attached a game with some bases connected to each other by train. Most bases are unloaded/loaded by Robots - 0.14.20.
GTX 970 (4GB)
24 GB RAM.
FPS/UPS mostly linked to each other at 25-30 FPS/UPS. It does not matter if i am near a base with many robots or not - performance stays mostly the same.
Just run up in the game to see my smelters (10k+ Bots). To increase performance i was thinking about changing to belts - but 50-80 belts next to each other is not my cup of the and possibly it would make the performance even worse...
Main Problem: 1 core at 90%, 1 core at 20%, 6 cores at 10%. Seems that robots are not multithreaded and i think they are a great point to handle them concurrently.
Another approach that might be not a good idea:
Simulate robots as a whole:
Count of robots = c
delay for pickup from provider chest: x / c
delay for dropoff at provider chest: y / c
so the complete movement of robots would be eliminated. I know this might remove the feeling of "when does that dumb robot arrive?". But would increase performance alot.
Hopefully you are already at that point of optimization that robots are handled alot better in your dev version