[Twinsen] [0.16.43] Inserter inconsistency when grabbing from belts
Posted: Sun May 27, 2018 2:09 am
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.
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:
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.
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.
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:
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.