[Twinsen] [0.17.47] Remaining cases of inserter directional asymmetry
Posted: Sat Jun 08, 2019 11:46 pm
Following up on a discussion about inserter rotational asymmetry, I can note that several cases remain, and all of them happen when inserters pick from belts. Here's an example:
As you can see, the east->west inserter is a lot faster than the north->south one, because the latter only manages to catch every 2nd item.
I've made an inserter throughput test setup that is fairly comprehensive, and following 0.17.46 I extended it to alert on differences between directions. The above is one of the 34 cases I've discovered from that. Some of them occur all the time (the case above appears to be one), but many only for particular belt item phase shifts (i.e. the tick timing between items on the belt and the inserters matter). The comparisons always are made between identical timings, so the only differences are the inserter orientations, and they're perfectly repeatable.
Here's a link to my test setup which might be useful to test for remaining cases. It uses a few mods, but only requires some sandbox items (loaders, infinity chests, and infinite power source) to work. Enable the E=1 constant combinator in the middle of the screen to start a test. Some cases pop up quickly, others take a while (for a full test run change O=56 to 0). I've put pink "DD" tags on all the cases I've seen.
(My guess is that the code for the inserter hand movements isn't isolated from the cardinal directions, so small floating point errors accumulate differently and create different interference patterns in these situations.)
As you can see, the east->west inserter is a lot faster than the north->south one, because the latter only manages to catch every 2nd item.
I've made an inserter throughput test setup that is fairly comprehensive, and following 0.17.46 I extended it to alert on differences between directions. The above is one of the 34 cases I've discovered from that. Some of them occur all the time (the case above appears to be one), but many only for particular belt item phase shifts (i.e. the tick timing between items on the belt and the inserters matter). The comparisons always are made between identical timings, so the only differences are the inserter orientations, and they're perfectly repeatable.
Here's a link to my test setup which might be useful to test for remaining cases. It uses a few mods, but only requires some sandbox items (loaders, infinity chests, and infinite power source) to work. Enable the E=1 constant combinator in the middle of the screen to start a test. Some cases pop up quickly, others take a while (for a full test run change O=56 to 0). I've put pink "DD" tags on all the cases I've seen.
(My guess is that the code for the inserter hand movements isn't isolated from the cardinal directions, so small floating point errors accumulate differently and create different interference patterns in these situations.)