[1.1.80] Inserter is idle, but fluctuating between "working"

Bugs that are actually features.
User avatar
Jon8RFC
Filter Inserter
Filter Inserter
Posts: 554
Joined: Tue May 10, 2016 3:39 pm
Contact:

[1.1.80] Inserter is idle, but fluctuating between "working"

Post by Jon8RFC »

I'm not sure if this is just a UI anomaly or a potential performance issue to be improved, so I'm asking here instead of posting in bugs yet.

Is this behavior to be expected, and I've just never noticed it?
At normal speed, it flickers very fast.

Ran the game at 0.05 speed so that it can be seen:
https://imgur.com/a/G7voYVs

Save:
https://drive.google.com/file/d/1yyVyEU ... share_link
Attachments
factorio-previous_inserter_flicker.log
(17.31 KiB) Downloaded 56 times
Image
Rseding91
Factorio Staff
Factorio Staff
Posts: 14591
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [1.1.80] Inserter is idle, but fluctuating between "working"

Post by Rseding91 »

That's expected. The belt contents change when items flow towards the end which wakes up inserters looking to pick up items off the belt. The inserter wakes up, scans the belt, sees nothing new is there it can use and goes back to sleep.

You can enable the debug option under the F4 menu to show transport lines. You'll see the belt is merged with the previous one (and possibly more). When merged all sleep/wake logic is merged for those belts.
If you want to get ahold of me I'm almost always on Discord.
User avatar
Jon8RFC
Filter Inserter
Filter Inserter
Posts: 554
Joined: Tue May 10, 2016 3:39 pm
Contact:

Re: [1.1.80] Inserter is idle, but fluctuating between "working"

Post by Jon8RFC »

Ahh, I gotcha.

Explaining all of that, especially the sleep/wake and merging of other belts, is interesting and really helpful to better understand the mechanics. Thanks!
Image
Loewchen
Global Moderator
Global Moderator
Posts: 9538
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: [1.1.80] Inserter is idle, but fluctuating between "working"

Post by Loewchen »

I'll move this to Not a bug to have it as reference.
User avatar
Jon8RFC
Filter Inserter
Filter Inserter
Posts: 554
Joined: Tue May 10, 2016 3:39 pm
Contact:

Re: [1.1.80] Inserter is idle, but fluctuating between "working"

Post by Jon8RFC »

Well, it seems like it's mostly unrelated to belts, and is a mathematical/computation problem of the assembling machine, instead.

It seems complicated, to me, because I can't perfectly narrow it down without being able to see data in plain-English that I want to see (like the formulas and variables at a particular tick for a particular machine). However, I feel confident that it is a bug, and an unusual one which I can't interpret or explain well so it seems like it's "not a bug" on the surface, much like the battery charging bug I found, which I also extrapolated to (seemingly) some type of math issue.

The issue (seemingly) only occurs on an inserter if it is pulling retrieving from a belt for an ingredient, but that's where belt contribution seems to end.

The issue seems to stem from math of the assembling machine, which it then uses to instruct SOME inserters on what to do. It seems that the assembling machine stores a numerical value of its previous production run up through when its output was full and if the output produced was either an even number (it produced, say, 8 items), or the resulting "full output" was even (resulting in, say, 18 total, ready to be removed).

In a reproducible scenario, manually inserting ONE additional iron plate after it finished its production run and is waiting for output room, does not disrupt the "working" flicker UNTIL the next run. The flicker is nonexistent after the next production run, and an odd number in the output slot is visible. If left to run a third time, the flicker returns.
  • Changing the speed of the assembling machine seems to affect it; very slow "normal" speeds don't seem to matter.
  • Not all inserters of the same ingredient are necessarily affected--not in the scenario I saved, but in another I was able to have multiple input inserters for wire from belts, but only 1 of those 3 would flicker, same for the iron inserters when there were multiple. (before I narrowed it down to assembling machine even/odd output slot and/or production)
  • When some inserters were affected, one time only the inserters at the end of a 2-belt-length line were affected; another time, 1 of 3 on each side would flicker, both being the "middle" of the 3 inserters, but all were fed from independent infinity chest/belts at a length of 1 belt.
  • Recalculation seems forced upon the belt-based input inserters on the tick when an output inserter pulls from the assembling machine, and when the assembling machine continues to produce the ~4 surplus ingredients after the input inserters have stopped.
  • There must be a surplus of wire before the flicker will begin, even if the output is producing steady even numbers.
  • The "math" of the inserters and speed of the machine seems to affect it; a certain surplus threshold or ratio must be met on a particular tick, possibly, because a small iron surplus with even output won't produce the flicker...this can be seen by changing wire input to be belt-based, unless multiple belts are added and a wire surplus exists.
  • I didn't try hard, but I don't think the issue is possible with vanilla smelters and their "hard" upper-limit, which may be the same as chemical plants and centrifuges, so the issue may be strictly isolated to any "production" machines which have a "soft" upper-limit of production which can be exceeded, such as assembling machines.
Because it's only on high-volume assembling machines, it has me wonder if that "working" flicker would negatively affect UPS on megabases where machines run quickly with high inserter input values when the output coincidentally ends up "even". I'll try and make a megabase of it to test, but I bet there's a much faster and easier way for y'all to determine if the "working" status chance the assembling machine instructs upon the inserter negatively affects ups.

It seems like there are maybe 6-10+ ticks/instances during which at least one input inserter per assembling machine is "working" when it isn't actually working.

Scenario attached.
Attachments
flicker_confusing2.zip
(391.81 KiB) Downloaded 44 times
Image
User avatar
Jon8RFC
Filter Inserter
Filter Inserter
Posts: 554
Joined: Tue May 10, 2016 3:39 pm
Contact:

Re: [1.1.80] Inserter is idle, but fluctuating between "working"

Post by Jon8RFC »

Here's a good blueprint, possibly with more info to look into.

The iron inserters flicker after every other run (don't flicker when there's excess iron).
The wire inserters flicker after every run (there's never excess wire).



EDIT:
Change the output to 2, and neither inputs ever flicker, despite a similar-seeming ending of surplus iron, but no surplus wire:


EDIT2:
The output at 3 is very interesting, it actually causes a "stutter" of the inserters, 1-3 runs it's normal, then 1-3 runs it stutters and flickers:


EDIT3:
Video of stutter:
https://www.youtube.com/watch?v=s_wi8Bx5P-A
Image
User avatar
Jon8RFC
Filter Inserter
Filter Inserter
Posts: 554
Joined: Tue May 10, 2016 3:39 pm
Contact:

Re: [1.1.80] Inserter is idle, but fluctuating between "working"

Post by Jon8RFC »

Flickers "working" pulling from a wire chest, too, on the top left assembling machine for 3 or 4 ticks on the return swing, before coming to a stop. I don't think it's consistent (it was after every 8th 180degree rotation at one point before I tinkered with it, but maybe that was another assembling machine), so you'll just have to watch.

All of the assembling machines' inserters exhibit different types of flickering and/or stuttering of "working" (not waiting for source) on various inserters at various rates.

I think the bottom right assembling machine filter inserters will flicker "waiting for source" and stutter, drawing power. Being that they're filter inserters, I thought would eliminate it from functioning on items it can't grab, based on the activity I observed about inserters, so it created yet a different flicker and stutter of functionality when "waiting for source"...which would be fine and understandable if it was just waiting, but the filter inserter moves during that tick.
Attachments
flicker_on_chest_too.zip
(354.59 KiB) Downloaded 42 times
Image
Post Reply

Return to “Not a bug”