[2.0.55] [build 83138] Removing/Replacing roboports causes long hangs with lots of bots airborne

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
fwyrl
Long Handed Inserter
Long Handed Inserter
Posts: 55
Joined: Fri Jul 01, 2016 10:54 pm
Contact:

[2.0.55] [build 83138] Removing/Replacing roboports causes long hangs with lots of bots airborne

Post by fwyrl »

What did you do? : A robot upgraded a roboport with 350k+ robots airborne and a deconstruction queue of >2m items
What happened? : The game locked up for over a minute without any feedback
What did you expect to happen instead? It might be obvious to you, but do it anyway! : As I was AFK (the deconstruction had been going smoothly for 30 minutes or so, and the roboport upgrade had been queued dozens of hours ago), I didn't expect the game to randomly stop responding.
Does it happen always, once, or sometimes? : Always; any time a roboport is replaced (and probably when removed, and possibly when placed)

Reporting this as a performance issue because, despite the fact that this is a *lot* more bots than intended, it was causing some unusual and unexpected performance issues in my save lately that were *really* hard to pin down, and is a general departure from how gracefully the game usually handles unreasonable requests (slowing instead of stopping for anything other than the moment a player queues a large action).

When upgrading a roboport to a new roboport with higher range (ie. a higher quality roboport), the game still recalculates the entire flying robot job queue, potentially locking the game up for a long time with no indication of what is happening (was frequently over 90 seconds in my case with 350k bots), despite there being no chance of any jobs now being unreachable/abandoned. I can think of a few reasons the queue might need to be recalculated, but as I'm not sure what the bots take into account for their future predictions and how far ahead they look, I'm unsure if the increased charge speed would require a recalculation.

Wondering if it's possible to do a lazy/close enough update or an early out or something for this, assuming that the queue update can't be made any faster. Oddly, I suspect that the bottleneck is memory access, as my CPU utilization throughout stayed well below 10% , and I know factorio can pin it when doing other tasks.

I think I understand why we're limited to 30 bot assignments/tick :p

If a log or save of this would be helpful, I'd be glad to provide it.

I have a video demonstrating the real time freeze (this save is just before one is upgraded), as well as reloading the save can canceling the upgrade, showing the freeze not happening (the momentary freeze while canceling the upgrades is normal and expected).

I also have a VerySleepy log of two hangs (one includes a big of loading beforehand, the other was started midway through the freeze)

As I don't want to associate my real name with my internet identity (thanks Google/Dropbox), and the forums don't allow uploading videos other than .gifs, I've uploaded them to Mega.nz, though I could move them to something like Catbox is that works better.
Rseding91
Factorio Staff
Factorio Staff
Posts: 15729
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [2.0.55] [build 83138] Removing/Replacing roboports causes long hangs with lots of bots airborne

Post by Rseding91 »

That is to be expected. Every time a roboport is removed the game has to check each of the robots to see if any of them were going to charge at that roboport, or if any were going to station at it.

With that many robots in the air you get that much time spent checking those things.
If you want to get ahold of me I'm almost always on Discord.
fwyrl
Long Handed Inserter
Long Handed Inserter
Posts: 55
Joined: Fri Jul 01, 2016 10:54 pm
Contact:

Re: [2.0.55] [build 83138] Removing/Replacing roboports causes long hangs with lots of bots airborne

Post by fwyrl »

Oh, and because the upgraded roboport is a different entity than the previous one, even if it has higher capabilities, it still needs to go through each to update their references?

Darn.
NineNine
Filter Inserter
Filter Inserter
Posts: 416
Joined: Mon Oct 24, 2022 11:20 pm
Contact:

Re: [2.0.55] [build 83138] Removing/Replacing roboports causes long hangs with lots of bots airborne

Post by NineNine »

Nothing is ever "upgraded" the game. Items get removed, and new items can get put in their place. So what you are describing as "upgrading" is actually removing and then replacing.
Post Reply

Return to “Technical Help”