Hi Factorio Community,
I started to deal with calculations for sizing my new factory but an issue appeared which is not clear to me.
Theoretical
When a fabric level 3 produces "Copper Wires" (2 per 0,5 sec) for 1 minute i should get 300 wires (without modules).
Craftingspeed = 0.5 s = Cs
Craftingamount = 2 = Ca [dimensionless]
Craftingsspeedmanipulator = 1.25 Csm [dimensionless]
Amount = x [1/s]
The equation that was used for the calculation of the amount is
x = ((Ca/Cs)*Csm)*60
and gives a result of 300 wires per second.
- Comparison to measurements -
I started a measurement of the produced amount of wires compared to time (under ideal conditions / no bottleneck)
Here are the results
- 1 minute = 291,6 wires per minute
- 12 minutes = 288,5 wires per minute
- 15 minutes = 293,06 wires per minute
- 66 minutes = 290,9 wires per minute
The Question
The average measured result is 291,015 wires per second and therefore 3% under the expected value of 300 wires per second.
Is there any explanation for this or does somebody have an idea where I made a mistake?
Best regards,
Sanga
Fabric Level 3 is under maximum efficiency
Re: Fabric Level 3 is under maximum efficiency
The number 1 reason is that inserters aren't keeping up. Make sure there aren't any hiccups in supply and that it can input and output without stalling.
Re: Fabric Level 3 is under maximum efficiency
Thank you bobucles for this idea, but with three Stack Inserters for the input and six for the output it should be fully supported.
Also the support with ingredients should be no problem with three chests filled always with 800+ Copperplates.
Is it possible that 2 Stack insertes are stalling when they receive the same command at exact the same time?
Also the support with ingredients should be no problem with three chests filled always with 800+ Copperplates.
Is it possible that 2 Stack insertes are stalling when they receive the same command at exact the same time?
Re: Fabric Level 3 is under maximum efficiency
Additional Information
Due to a failure in my measurements (autosave option was on every 10 min and time was measured external to the game) I repeated them with different setups and without autosave :
Deviation to expected value was 2,99%.
Setup1: Fabric Level 3 (no modules); 3 fast inserters (input); 9 fast inserters (output); Product = Copperwires
Results: 1 min is equal to 298 wires or 298/min
10 min is equal to 297,2/min
15 min is equal to 297/min
Deviation to expected value (300/min) is 1,33%
Setup2: Fabric Level 3 (no modules); 1 fast inserter (input); 1 fast inserters (output); Product = Empty Barrel
Results: 1 min is equal to 75/min (expected value)
5 min is equal to 74.2/min
10 min is equal to 74.2/min
15 min is equal to 74.2/min
Deviation to expected value is 1,06%
I still found a deviation of about 1% to the ideal value. Also interesting is the display of a bottleneck (about 1 in a minute) by the "Bottleneck"-Mod from "trold".
Further investigations with recordings from FRAPS showed no rational reasons for their occurrence. The amount of Wires or Barrels doesn't even get close to the maximum stack-value in the fabric, also the amount of ingredients does not get close to zero. Even the fabric is not showing any stalling.
Maybe I have to live with an inaccuracy of about 1% ^_^ or someone can help me out
Due to a failure in my measurements (autosave option was on every 10 min and time was measured external to the game) I repeated them with different setups and without autosave :
Deviation to expected value was 2,99%.
Setup1: Fabric Level 3 (no modules); 3 fast inserters (input); 9 fast inserters (output); Product = Copperwires
Results: 1 min is equal to 298 wires or 298/min
10 min is equal to 297,2/min
15 min is equal to 297/min
Deviation to expected value (300/min) is 1,33%
Setup2: Fabric Level 3 (no modules); 1 fast inserter (input); 1 fast inserters (output); Product = Empty Barrel
Results: 1 min is equal to 75/min (expected value)
5 min is equal to 74.2/min
10 min is equal to 74.2/min
15 min is equal to 74.2/min
Deviation to expected value is 1,06%
I still found a deviation of about 1% to the ideal value. Also interesting is the display of a bottleneck (about 1 in a minute) by the "Bottleneck"-Mod from "trold".
Further investigations with recordings from FRAPS showed no rational reasons for their occurrence. The amount of Wires or Barrels doesn't even get close to the maximum stack-value in the fabric, also the amount of ingredients does not get close to zero. Even the fabric is not showing any stalling.
Maybe I have to live with an inaccuracy of about 1% ^_^ or someone can help me out
- eradicator
- Smart Inserter
- Posts: 5211
- Joined: Tue Jul 12, 2016 9:03 am
- Contact:
Re: Fabric Level 3 is under maximum efficiency
First: The things are called assemblers not "fabrics" :P.
Fourth: Try again with loaders, they are the easiest way to get reliable input/output.
Second: Inserter spamming does not work like that. The problem is the timing of the inserters, if they all swung at the same time (exeggerated) you could still end up with input/output-shortages. Only circuit-timed inserters can prevent this.Sanga wrote:but with three Stack Inserters for the input
Third: You're talking about a 1% deviation on a half-second recipe. That is a deviation of 5 milliseconds per recipe on average, you wouldn't be able to see that.Sanga wrote:Even the fabric is not showing any stalling
Fourth: Try again with loaders, they are the easiest way to get reliable input/output.
Re: Fabric Level 3 is under maximum efficiency
He is talking about one assembler 3 without modules. it needs 2.5 items per sec, chest to chest one stack inserter should be able to keep up, even without any other stack inserter research bonuses. (The swing from chest to assembler takes about 13 ticks, and carries a minimum of 2 plates. The assembler takes 24 ticks to craft one recipe. For the output, chest to chest one stack inserter with some research bonus should also be fine.eradicator wrote:Second: Inserter spamming does not work like that. The problem is the timing of the inserters, if they all swung at the same time (exeggerated) you could still end up with input/output-shortages. Only circuit-timed inserters can prevent this.
I just tried this with creative mod and according to the in-game production screen consumption is exactly 150 plates, and production is exactly 300 wires. (This is with max stack inserter research).
Re: Fabric Level 3 is under maximum efficiency
Assemblers request more input only when their output buffers aren't backed up, if there's three or more cycles' worth of output already the assembler stops requesting input.
High-speed recipes can make unloading the output fast enough a challenge.
Take your example setup, assembler 3, no modules, copper cable. That's crafting speed 1.25 on a half-second recipe, so it's going to need one copper plate and produce 2 copper cable every .5/1.25 = 0.4 seconds,
You didn't specify inserter stack size, so let's go for the hardest case, no inserter upgrades at all, stack size 1. You need to supply 150 copper cable per minute, one per 0.4 seconds, one per 24 ticks. fast/stack/filter inserter cycle time from a chest is 26 ticks, so that's not fast enough, you'll need either two inserters or upgraded stack size.
For output, the important thing is to never let the input buffers run dry when the output's backed up. Easiest is to never let the output buffers back up at all, you need two swings per 24 ticks, four swings per 48 ticks, three inserters can manage that.
So with two basic fast inserters input, three basic fast inserters output, you can get full-rate production out of a copper-cable assembler 3. If you're not getting it, something's hobbling your inserters, they're not delivering or unloading as fast as they could. Belts are the usual culprit, inserters have to wait for the items or gaps to arrive before they can complete their task, and that slows things down.
High-speed recipes can make unloading the output fast enough a challenge.
Take your example setup, assembler 3, no modules, copper cable. That's crafting speed 1.25 on a half-second recipe, so it's going to need one copper plate and produce 2 copper cable every .5/1.25 = 0.4 seconds,
You didn't specify inserter stack size, so let's go for the hardest case, no inserter upgrades at all, stack size 1. You need to supply 150 copper cable per minute, one per 0.4 seconds, one per 24 ticks. fast/stack/filter inserter cycle time from a chest is 26 ticks, so that's not fast enough, you'll need either two inserters or upgraded stack size.
For output, the important thing is to never let the input buffers run dry when the output's backed up. Easiest is to never let the output buffers back up at all, you need two swings per 24 ticks, four swings per 48 ticks, three inserters can manage that.
So with two basic fast inserters input, three basic fast inserters output, you can get full-rate production out of a copper-cable assembler 3. If you're not getting it, something's hobbling your inserters, they're not delivering or unloading as fast as they could. Belts are the usual culprit, inserters have to wait for the items or gaps to arrive before they can complete their task, and that slows things down.
Re: Fabric Level 3 is under maximum efficiency
It might be worth confirming the obvious (because sometimes the obvious gets overlooked). Any chance you are short on power, or any chance you are running at less than 60 ups?
Re: Fabric Level 3 is under maximum efficiency
Using a stopwatch isn't the best of ideas. The speed that factorio runs at is the speed you get. If you don't get 60UPS at all times then the game engine won't try to catch up, except when it gets kicked in multiplayer.
The most accurate game count is frames. You can count frames with a little combinator magic and use the input/output chests as the counter.
The most accurate game count is frames. You can count frames with a little combinator magic and use the input/output chests as the counter.