Page 1 of 1

[Twinsen] [0.16.43] Inserter inconsistency when grabbing from belts

Posted: Sun May 27, 2018 2:09 am
by tzwaan
So, I did some testing today, to see the exact time between inserter "cycles" when grabbing from belts, because I wanted to optimize a belt to train loader design.

Because there were orientation-based inconsistencies in the past, I decided to also test every orientation of the different belt setups I used.

These are the different setups I tested ranked from left to right by their performance in ticks. The ones on the same left/right rank perform the same.

Image

I measured the cycles by detecting the first item they picked up, starting a clock, and stopping the clock again once they picked up the next first item.

The length of these cycles per design in number of ticks are as follows, from left to right.

60, 58, 55, 54

So as you can see the inserter grabbing from the sideloaded underground belt exit performs the best, and is actually capable of picking up 13.33 items per second exactly, which is equal to a yellow belt. So you only need 3 of these inserters to empty a blue belt. As demonstrated here:

Image

Now we get to the bug part of this report, because as you can see in the picture, there's still one design all the way on the right, facing south. This is actually the ONLY combination of belts and orientation that I've been able to find that does not have the same number of ticks per cycle as its other orientations.

When comparing it to the rest of the setups, it's clear that it should take 54 ticks for this inserter to cycle, however it takes 55 ticks to do so.

Now this is nowhere near a high-priority bug, but it is definitely an inconsistency based on rotation, which means that certain blueprints will not work properly when rotated.
For example, the above mentioned loader would not be able to clear the entirety of the blue belt if the design were to be mirrored and rotated 180 degrees. The other rotations would be fine however.

Here's another demonstration where you can see that only the top left design starts lagging behind its counterpart when starting from the same initial conditions.

Here's the blueprint for the circuit I used to time the inserters. It counts every 6th cycle, after which it uses a few cycles to reset. It is however tick perfect as far as I have been able to check.

And the blueprint for the full belt loader for those who are interested

TL;DR
Different belt setups give different inserter pickup cycles, which is fine, but there's one particular setup that also changes cycles when rotated in a specific orientation, which is an unwanted inconsistency.

Re: [0.16.43] Inserter inconsistency when grabbing from belts

Posted: Sun May 27, 2018 2:17 am
by morsk
I confirmed this in a different way, using priority splitters to tell when the belt ahead was blocked. Only the mirrored south orientation ever overflowed onto the other side of the splitter.

edit: idk if this is even useful, but here's my test blueprint, and a picture of which belt overflows.

Re: [kovarex] [0.16.43] Inserter inconsistency when grabbing from belts

Posted: Wed May 30, 2018 2:17 pm
by kovarex
I tried to reproduce it (both the circuit version or the 3 belts with a splitter version), and it both worked the same north and south (54 cycles and took the whole belt).

Re: [kovarex] [0.16.43] Inserter inconsistency when grabbing from belts

Posted: Wed May 30, 2018 3:56 pm
by morsk
My blueprint still produces it for me in 0.16.46:

https://youtu.be/zi6KU6maWlw

Unfortunately I don't know how to do the tick timing with combinators, only to check if a belt has full throughput with splitters.

Re: [kovarex] [0.16.43] Inserter inconsistency when grabbing from belts

Posted: Thu Jun 07, 2018 10:34 pm
by tzwaan
kovarex wrote:I tried to reproduce it (both the circuit version or the 3 belts with a splitter version), and it both worked the same north and south (54 cycles and took the whole belt).
Are you sure you were using the reported orientation of the underground belt? The blueprint I provided does NOT have the problem because it's sideloading the right lane. It only happens when sideloading the left lane onto an underground belt exit with the inserter facing south.

So belt going south, underground belt exit going east, inserter going south.

Re: [kovarex] [0.16.43] Inserter inconsistency when grabbing from belts

Posted: Sun Jun 10, 2018 5:27 pm
by tzwaan
To make reproducing the problem easier, I made a blueprint that shows the problem, and times the exact ticks of the inserters.

https://pastebin.com/tipf79ge

Re: [kovarex] [0.16.43] Inserter inconsistency when grabbing from belts

Posted: Wed May 29, 2019 2:22 pm
by Twinsen
Better late than never, but this was finally fixed in Version: 0.17.44