Despite my desktop having more memory and a faster CPU, Factorio runs much slower on it than it does on my MacBook Pro because of my motherboard's memory limitations. Rather than drop $300 on an upgraded motherboard and memory and in true Factorio style I prefer to optimize my factory.

Is there anything in particular I can design into my base to make it less memory-intensive?

I have:

  • a 2x4 fully saturated nuclear power plant
  • enough beaconed furnaces to output 9 full blue belts of resources
  • 10 resource outposts
  • a laser+gun+flame wall
  • a rectangular base with complete logistic coverage from a 10x15 roboport grid

I've tried the show-active-entities-on-chunk-counts from the F4 menu and it doesn't seem to correlate with the slowdown, but I can't be sure. I see TONS of data on F5, but it's hard to tell what might be relevant.

Which parts of my base likely take up most of my memory bandwidth? Then I can focus on optimizing or eliminating them to improve my UPS.

  • 3
    Are you concerned with memory volume, or memory speed? How are you verifying that's the issue? – Carl Kevinson Nov 1 '19 at 18:13
  • I have 32GB RAM and my usage is far under that, so my primary concern is memory speed. I haven't verified for certain - but my research online tells me that Factorio is primarily CPU and memory speed constrained, and since my desktop PC has a faster CPU than my MacBook and both have an SSD, I am assuming by the process of elimination that it is memory speed based. Also - my motherboard constrains the memory speed on my desktop to 2133 MHz. – Cory Klein Nov 1 '19 at 21:13

Avoid exploration and expansion

Every map section your reveal consumes memory. Every biter nest on those map sections spawns biters. Those are lots and lots of entities.

Avoid pollution

More pollution = more biters = more entities to handle.

A good way to reduce pollution is to use efficiency modules. They reduce pollution twofold. Indirectly by reducing your need to generate electricity and also directly by reducing the pollution output of the machine they are in.

Avoid long and full conveyor belts

Every object on a belt is a separate entity. So try to keep your production lines short. On the other hand, a stack of objects in a container is just a number.

  • So if you need to transport large quantities of stuff over longer distances, use trains.

  • When you need to transport small quantities of stuff, consider to do it manually by car. Collect your production in chests. Get as much in your car and inventory as fits. Then store it in chests at the destination. You can use alarms to remind you that you need to restock something.

  • You can also try to avoid belts by using inserters to pass items directly from one machine to the next.

Prefer better machines over more machines

More assemblers = more entities. They also require more space, which contributes to the first point (avoiding expansion) and third point (avoiding long belts). So if you need to improve your productivity, use modules. Beacons can get you even more production out of each machine. You should also upgrade your whole factory to type 2 and type 3 assembing machines as soon as you can, because they work faster and can take more modules.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.