Shokubai wrote:ssilk wrote:This GIF above is a very good example, why the belts are working as they work now.
Just imagine each item is a double-six-pack. We just call this item "double-six-pack".
Then - logically - this belt works only as it works, cause there is a distance between the double-six-packs.
The outer lane is faster. The distance between the items on the outer lane is longer, than on the inner.
Now imagine, that the distance between the items would get smaller and smaller. If the distance would be zero, that belt wouldn't work anymore like so! Then the speed on the outer lane needs to be the exact same then on the inner.
This is false.
Hm. Dunno, why this is false, cause this is a correct analysis of the above GIF.
But to go deeper into this subject: As you also analyzed, there are only these two extremes:
Corners with similar belt speed for inner and outer lane (as it is now)
- The outer lane has the same speed as the inner lane.
- The distance between items on the outer lane is the same as on the inner.
- The outer lane is longer, which means, the items take a longer way, then the inner.
- With full compression AND in average there are more items on the outer lane, then on the inner lane.
- There is no "state change", no matter, if the belt is "stopped state" (fully compressed) or in "full throughput state" (running).
- The belts behave equal, no matter if there is a curve or a straight belt.
Corners with radial belt
- The outer lane has a faster speed.
- The radial speed of the belt is equal for the inner and outer lane.
- The outer lane is not fully compressed, even if the incoming straight belt is compressed.
- In "full throughput state", the outer lane has (in average) the same number of items on as the inner lane.
- In "stopped state" (fully compressed), the outer lane has some more items on, compared to the inner lane.
The behavior will change then like so (compared to now):
- If the belt stocks, the items in the curves need to compress first. And if the belt will work again it takes some time, until the items in the curves will decompress. (*)
- Even on a fully compressed belt I can insert items in a curve on the outer lane.
- If you have a curvy belt, it may take some seconds, before taking out one item at the end of the belt can be seen as reaction at the beginning. (**)
TL;DR: The behavior of corners with similar belt speed for inner and outer lane has much less "surprises", than for corners with radial belt. Cause the belts are already quite complex, it is the best decision to reduce belt complexity as far as possible, which means same speed for outer and inner lane.
Not so important side arguments (see the stars in brackets above):
(*) Which means in consequence, that belts cannot be handled as two long lanes anymore. This is currently the case: A belt - no matter how much curves are on it - is handled as two long lanes. An internal data-structure. This is done mainly for CPU-speed reasons: The belt lane knows only, at which time an item was inserted and can now calculate, where this item is now. It's not longer needed, that each item is moved a bit in every frame. Items don't needed to be moved anymore (till v0.11), which means: That saves a lot of CPU-time.
With this change this is not longer possible: A belt-lane ends then at ann outer corner, then the corner itself and then the next lane, until the next outer corner.
(**) This is a bigger problem than you might think. If you play with v0.11 you can see, that it can take many seconds, until the standing wave of a missing item at the end of a belt is flooded back to the source.
Now, to make long stories short: This means in consequence, that the throughput of a factory is slower with v0.11 compared with v0.12 if you use lots of belts to transport items.
Which means: If this is changed like so, and you use lots of curves, the throughput of any factory will go a bit down.