[0.16.x] belt->inserter throughput limit

Things that we don't consider worth fixing at this moment.
Post Reply
User avatar
Therax
Filter Inserter
Filter Inserter
Posts: 382
Joined: Sun May 21, 2017 6:28 pm
Contact:

[0.16.x] belt->inserter throughput limit

Post by Therax » Mon Mar 12, 2018 2:31 am

Unsure if this is really a bug, but there appears to be an inherent engine limit that prevents sets of multiple inserters from picking up more than 1 item per tick (60/s) from a belt segment. This limit only becomes visible with faster modded belts (> 60 items/second), and remains even with modded inserters with extremely fast speeds, or using large number of inserters to pick up from a belt via custom pickup vectors.

For an illustration of what this looks like: viewtopic.php?f=93&t=54343&start=100#p342631

As I hope is apparent, it looks like only a few of the inserters are active, with the rest idle and not picking up any items, despite there being items that leak past on the belt. The belt involved in this test was 5x yellow belt speed, or 5 pixels per tick, so each item should have been within the bounds of the tile and accessible to the inserters for at least 6 ticks.

My conjecture is that there's some sort of per-tick handling where inserters search for an items to pick up from a belt, something like: each inserter picks an item, the first inserters successfully picks up the item, and any other inserters interacting with that belt segment wait until the next tick to select another target item.
Miniloader — UPS-friendly 1x1 loaders
Bulk Rail Loaders — Rapid train loading and unloading
Beltlayer & Pipelayer — Route items and fluids freely underground

Twinsen
Factorio Staff
Factorio Staff
Posts: 906
Joined: Tue Sep 23, 2014 7:10 am
Contact:

Re: [0.16.x] belt->inserter throughput limit

Post by Twinsen » Mon Mar 12, 2018 11:28 am

Multiple inserters on top of each other is something we don't support. For many reasons including the logic of how they work(they all try to aim for the same item).
And it's not something we want to support since there is very little reason to do this. Just sue a priority splitter and loader.

User avatar
Therax
Filter Inserter
Filter Inserter
Posts: 382
Joined: Sun May 21, 2017 6:28 pm
Contact:

Re: [0.16.x] belt->inserter throughput limit

Post by Therax » Mon Mar 12, 2018 6:55 pm

Twinsen wrote:Multiple inserters on top of each other is something we don't support. For many reasons including the logic of how they work(they all try to aim for the same item).
And it's not something we want to support since there is very little reason to do this. Just sue a priority splitter and loader.
Note that this isn't limited to the case of inserters on top of each other. Using inserters with different pickup vectors pointed at the same belt segment can result in the same behavior. Here is an example of 21 of Bob's Ultimate Stack Inserters aimed at a segment of Bob's Ultimate Transport belt, no scripting required:

https://gfycat.com/IdealisticSmartDamselfly

For context, this came up in the case of Miniloaders, which uses inserters to work around the inability of loaders to interact with cargo wagons, so splitter + loader isn't always an option.
Miniloader — UPS-friendly 1x1 loaders
Bulk Rail Loaders — Rapid train loading and unloading
Beltlayer & Pipelayer — Route items and fluids freely underground

Guilty
Burner Inserter
Burner Inserter
Posts: 10
Joined: Tue Mar 12, 2019 1:10 am
Contact:

Re: [0.16.x] belt->inserter throughput limit

Post by Guilty » Sun Mar 17, 2019 3:45 am

Therax wrote:
Mon Mar 12, 2018 6:55 pm
Twinsen wrote:Multiple inserters on top of each other is something we don't support. For many reasons including the logic of how they work(they all try to aim for the same item).
And it's not something we want to support since there is very little reason to do this. Just sue a priority splitter and loader.
Note that this isn't limited to the case of inserters on top of each other. Using inserters with different pickup vectors pointed at the same belt segment can result in the same behavior. Here is an example of 21 of Bob's Ultimate Stack Inserters aimed at a segment of Bob's Ultimate Transport belt, no scripting required:

https://gfycat.com/IdealisticSmartDamselfly

For context, this came up in the case of Miniloaders, which uses inserters to work around the inability of loaders to interact with cargo wagons, so splitter + loader isn't always an option.
RIP Miniloader

Post Reply

Return to “Won't fix.”

Who is online

Users browsing this forum: No registered users