Moving thousands of items on conveyor belt. In theory I know how to improve, but in practice Im absolutely clueless

Hi.

I build a little conveyor belt system but my current implementation is pretty bad and expensive. At 1000 moving items per tick It starts to drop my framerate significantly, on 1300 items I lost already 10 fps. On 2000 Items Im down to 30fps.
Sure thing since its moving every item (represented by ISM) individually.

I read the very interesting factorio devblog (Friday Facts #176 - Belts optimization for 0.15 | Factorio)
In theory it makes sense for me, all items move with same speed, always have the same distance between each other except the first one gets blocked. So all I need to calculate is the distance between the first item and end of belt, and last item and start of belt… but how do I move items with this again…?

Questions I just cant wrap my head around… how can I move multiple items together? How can I move items without touching them… I imagine a line/train where all items are stuck to, then I pull this line and everything connected to it comes with it, since they talk about “you only increment/decrement those terminal gap sizes, and do not touch items at all!”
:thinking:

Im glad for every explanation / push in the right direction…!

Are you using physics to move them? I assume that would be the best way…

No, they are currently moving along a spline, so I’m increasing the distance on the spline.

You think moving thousands of items with physics is a good idea? I somehow doubt that.
ISM are not even supporting physics if Im not mistaken

I made a simple conveyor actor that uses the Rotation Movement Component. Seems to work pretty well. Never tested it with anything other than a Pawn.

If I had thousands of items moving on the conveyor I’d definitely set up Culling distances.