[0.17.23] Performance drop when hovering over roboports in large logistic networks
[0.17.23] Performance drop when hovering over roboports in large logistic networks
Not strictly a bug, but a performance issue - not sure whether I should have posted it in technical issue. Also, it's just a frame rate drop, nothing blows up, the game is still playable, so it's a rather low priority.
My game normally runs on 60 FPS without any issues.
I built a couple of roboports and logistic storage chests. When hovering over chests, it drops to 53 FPS which is not really noticeable to the eye:
But hovering over roboports slows the game down drastically, down to 10 FPS:
It is enough to take the cursor away from the roboport and everything comes back to normal.
I am guessing this is due to the fact that chests get highlighted when hovering over roboports, however it highlights them all, even when they are not within the view.
My game normally runs on 60 FPS without any issues.
I built a couple of roboports and logistic storage chests. When hovering over chests, it drops to 53 FPS which is not really noticeable to the eye:
But hovering over roboports slows the game down drastically, down to 10 FPS:
It is enough to take the cursor away from the roboport and everything comes back to normal.
I am guessing this is due to the fact that chests get highlighted when hovering over roboports, however it highlights them all, even when they are not within the view.
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
Please post a log file of a session with the issue.
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
Thanks for the report.
Can you share the save please? Or at least be specific on how many roboports and logistic chests do you have?
Can you share the save please? Or at least be specific on how many roboports and logistic chests do you have?
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
Attaching log file, but I don't think there is anything useful in there.
The save file is about 200MB, can I post it on the forum or would you like me to put it in my google drive and share it?
There is over half million chests here and over 10 thousands roboports, however the issue becomes visible with 10% of that.
The save file is about 200MB, can I post it on the forum or would you like me to put it in my google drive and share it?
There is over half million chests here and over 10 thousands roboports, however the issue becomes visible with 10% of that.
- Attachments
-
- factorio-current.log
- (32.09 KiB) Downloaded 130 times
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
I lied about the save, 125MB only - https://drive.google.com/file/d/1HcaMz3 ... PfJ329spOZ
PS all mods I have are non-intrusive so you can easily load the save without any of them.
PS all mods I have are non-intrusive so you can easily load the save without any of them.
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
I see. I guess that's not gonna be 15 minute fix of some stupid mistake.
Thanks for sharing the save.
Thanks for sharing the save.
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
Could be as simple as only picking the chests within current view area (considering position + zoom). But then, I haven't seen your codebase, so it might only sound simple
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
It was It's now fixed for the next version of 0.17.
If you want to get ahold of me I'm almost always on Discord.
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
Wow, that's amazing now. The FPS doesn't drop by even a bit!
As a developer, I am curious what the issue was? Are you able to share some technical details?
As a developer, I am curious what the issue was? Are you able to share some technical details?
Re: [0.17.23] Performance drop when hovering over roboports in large logistic networks
The hover-over-chest issue was a debug tooltip value which was being created, and then thrown out when the option wasn't enabled. Normally that's fine since at most it runs once per tick for the local player. However, it was doing an O(N) operation to count the number of different logistic chests in that network.
The hover-over-roboport issue was an O(N) operation on roboport coverage areas to see which ones intersect with the screen and it was just optimized so it didn't need to touch as much memory.
If you want to get ahold of me I'm almost always on Discord.