Open EigensheepLambda opened 4 weeks ago
A bit ironically, the spike hitting a little later when it's inconvenient is the result of the deferral. I've considered splitting it across ticks, though that introduces cases where the network is modified while we're attempting to iterate it - the reason I hadn't split it.
I think if you're seeing stutters it's fair that I revisit that and see what can be done
Mod source
Factorio Mod Portal
Operating system
What kind of issue is this?
What is the problem?
I assume but haven't tested that this is dependent on having a lot of power poles, so it only shows up in large bases. My understanding is that this is the logic building the power pole network state for the aerial turbines to use in their pathing. The main annoyance in practice is when cut&pasting a build, the lag spike from the cut likes to hit just as I'm attempting to paste and ends up making me place things incorrectly.
Is it possible to break this computation up across multiple ticks like some other heavy lifting processes do? Or is the initial query for all power poles the expensive part and there's no avoiding it?
A second possible solution that I don't especially like is to skip the calculation if no aerial turbines exist in the air, and have it instead execute when deploying a first blimp (and then as usual). This would make it possible to avoid the performance hit by giving them up in the late game. Or by grounding them before a building task and relaunching them afterwards (a reason to use the base station and the combinator logic it exposes). I love my blimps, but...
Steps to reproduce
No response
Additional context
No response
Log file
No response