Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
You can look through their forum for several topics discussing it back and forth and why it's not worth the trouble.
If the game wasn't explicitly deterministic in all gamplay elements it would be easier to multithread it more (and thus they would've already done so), but as it is they've multithreaded what they deem reasonable to multithread without adding more and new problems.
It's not as simple as "use more cores and the game runs faster". Each core you use needs to be carefully synchronized in a dance where each step only lasts a fraction of a second. They all need to carefully take turns accessing memory in such a way that it doesn't mess each other up. If they aren't synchronized everything falls apart, and the more cores you try to use the harder it is to keep them all in lock-step. You reach a point where trying to keep them all synchronized is a bigger performance hit than just using fewer cores.
Factorio devs basically reached that point already, so "use more cores!" isn't conducive.
https://www.factorio.com/blog/post/fff-421
Go down to boskid's section for the additional multi-threading information.
The fluid system got overhauled which will make a really big impact on megabases, and even more so for Space Age, where foundries consume lava to make iron and copper, at serious bonus productivity too, which means you need fewer entities to produce the same result, resulting in further UPS gains. And that's already without Quality in mind.
All of this gets further extended when you can stack items on top of each other on belts, reducing belts needed for the same SPM, meaning again less entities, more UPS.
You can't just go with "lets throw all assemblers to one thread, refineries to another, etc". Firstly it will require creating a lot of overhead between these threads so they can sync and communicate with each other. Transport system has to be able to insert items and players too. Power has to be calculated correctly, etc.
They are much better off by tying to make so machines try to sync up slowly and group up machines on same chunks into a collection of them processing only one while running agroup of those.
Ngl biters will lag the game much less if they implement the group functionality damage for turrets. Sure its not that realistic, but when you use lots of flamethrowers and your UPS dies because of it. You would rather have it than realism.
check out some benchmarks with the Ryzen 7800X3D, it blows every other CPU out of the water for Factorio.
All the Intel CPU vulns probably hurt Factorio with the code updates made over the years.
Instead of 200 entities you will need 20 to get same output.
https://www.factorio.com/blog/post/fff-421
AHahahaha :D how can someone babble this much bs without knowing anything about it, always amazes me.
Prove me wrong clown. Make factorio multithreaded without loss of performance.