Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Does anyone know if performance/efficiency of the game has gotten better over time? I played it quite a bit ~2 years ago or so, but my 7 year old MBP got really hot and very slow by the time I started using blueprints. From what I read at the time the game was very dependent on single-threaded CPU performance. Maybe they found a way to make better use of multiple cores?

I really want to pick it up again but am not excited to start a new factory if I know I won't be able to complete it.



They've made a lot of performance improvements, but it's still bounded by memory bandwidth and splitting updates across multiple cores would actually slow that down due to memory access contention.


Considering what factorio is displaying, I’ve always thought the performance is amazing.

Then again, my computer is not 7 years old, but when I played it my desktop was running on an AMD Phenom.


Yes I definitely didn't mean for this to sound as a complaint, I think for what it is it's quite lightweight. It's just that it seemed to be using a single core and if they managed to make it multi-core perhaps it could be even more performant now.


I think it's still largely single-threaded. They value complete determinism: you should never get a different game state one tick later based on a CPU race condition. This is for easier debugging, repeatable testing, accurate multiplayer simulation - and also just that it fits the theme of the game, players expect to be able to design certain systems to work deterministically. This design decision has a performance cost, of course.

Still there have been major performance improvements, including parallelism-lite. And just the fact that it's mainly the same engine that ran on low-spec computers from 6 years ago means it should run very smoothly on modern machines - not all of the Moore's law improvements since then have been about parallelism.


I wouldn't say 'largely'. There are definitely single-threaded parts and if you have 64 really slow cores then you won't get 64 times as many FPS (or UPS, really) as with 1 core running at 64x speed, but that's with all software.

If you have a somewhat reasonable per-core speed, multiple cores should all be loaded with work. Personally I can't say that I've noticed it helped, but that's anecdotal and I've seen the improvements as they came in incrementally rather than in one big jump from some old single-threaded version to 1.0.

> including parallelism-lite

What does that mean? When I look it up I get results for some other game with a similar name.


> What does that mean? When I look it up I get results for some other game with a similar name.

I didn't mean to refer to any established term. I meant parallelization by breaking the game up into systems, e.g. I believe the electrical system can run completely separately to the main thread without losing the deterministic guarantees, while I would think of full parallelization as allowing each assembler or inserter to be simulated in its own thread.

Maybe there's a more established term for this? Parallelization through doing different types of things at the same time, rather than doing many copies of the same thing at the same time.


Just opened up my largest base (21k/m copper) and it's using 6% of my 8 core cpu. That's around 108% of a single core, but the load is spread quite evenly with the highest cpu utilization at 28% with the rest hovering around 10%. I'd say it's very well parallelized currently.


The devs were constantly optimizing the game. They've added a lot of performance tunings, options for video compression, etc. You should give it a shot, maybe download a factory built by someone else to evaulate performance.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: