3 ms·
> Unfortunately, I'm discovering that my DDR3 era PC can't cope with such large bases, I need faster gear... This is really unfortunate. "Fortunately" it seems
by nwallin 6y ago
> Unfortunately, I'm discovering that my DDR3 era PC can't cope with such large bases, I need faster gear...
This is really unfortunate. "Fortunately" it seems to be a result of the simulation engine using only a single core- there is the opportunity for the developers to get a 2-8x speedup from switching to a multithreaded simulation engine.
I imagine there's fairly loose coupling between, for instance, fluid calculations, biter pathing, and on-belt entities, which tend to require dedicated strategies for mitigating their outsized performance impacts. (to include using console commands to simply delete the biters) Those sound like fairly low hanging fruit for splitting off into three threads if there's no plan to completely multi-threadify the sim engine.
- wokkel 6y agoThe game also allows multiplayer (I've seen 500+ players on a server). That requires some really strong consistency guarantees that you loose by adding threads.
- nullc 6y agoMulti-threaded programming is in no way incompatible with utterly deterministic bit identical execution with sequential code. Factorio is already written in a deterministic way. The developers main argument is that they cannot get much speedup from concurrency because their software is primarily memory bandwidth bottlenecked and at least on consumer hardware using more cores doesn't substantially gain you access to more memory bandwidth.
- louwrentius 6y agoThe developers have explained their reasons for the current constraints regarding CPU multi-treading and AFAIK it's not as easy as this. If you want to know more, they were very open about the development process so they will have a blogpost about this.