Page 1 of 1

Max render threads

Posted: Sat Feb 24, 2018 10:24 pm
by Mensur
Is there a reason why Factorio uses only up to 8 threads ?
For instance, my cpu has 16 threads but with factorio i can only use 8. Is that a technical limitation or can it be changed somehow ?

Re: Max render threads

Posted: Sun Feb 25, 2018 1:27 am
by Tekky
Related thread (but not specific to rendering):

viewtopic.php?t=39893 Parrallel processing in games & applications

On page 4 of that thread, Harkonnen, who at the time of that post was a Factorio developer, explained in detail why Factorio does not profit much from multithreading.

EDIT: Meanwhile, Harkonnen's forum account has been upgraded again to "Factorio Staff", so it appears he still may be a Factorio developer.

Re: Max render threads

Posted: Tue Feb 27, 2018 10:32 pm
by xZippy
Factorio doesn't seem that taxing of a game anyway. It's kind of like having 16GB of RAM just to play Minesweeper.

Re: Max render threads

Posted: Wed Feb 28, 2018 12:23 am
by Tekky
xZippy wrote:Factorio doesn't seem that taxing of a game anyway. It's kind of like having 16GB of RAM just to play Minesweeper.
If all you have is a small base and all you want to do is launch a single rocket in order to win the game, then you are probably right.

However, if you build a large megabase, capable of building several rockets per minute, then you will eventually encounter a limit where your computer is no longer able to provide you with 60 FPS/UPS ( frames per second / updates per second ).

The Factorio devs are doing a very good job of continuously optimizing the game, so that you can build larger bases without losing UPS. However, there always will be a limit in the size of the bases you can build.

Re: Max render threads

Posted: Wed Feb 28, 2018 2:03 am
by Jap2.0
Tekky wrote:
xZippy wrote:Factorio doesn't seem that taxing of a game anyway. It's kind of like having 16GB of RAM just to play Minesweeper.
If all you have is a small base and all you want to do is launch a single rocket in order to win the game, then you are probably right.

However, if you build a large megabase, capable of building several rockets per minute, then you will eventually encounter a limit where your computer is no longer able to provide you with 60 FPS/UPS ( frames per second / updates per second ).

The Factorio devs are doing a very good job of continuously optimizing the game, so that you can build larger bases without losing UPS. However, there always will be a limit in the size of the bases you can build.
More threads generally isn't the issue, though - it's usually single-core performance and/or memory latency.

Re: Max render threads

Posted: Wed Feb 28, 2018 11:02 am
by Tekky
Jap2.0 wrote:More threads generally isn't the issue, though - it's usually single-core performance and/or memory latency.
In this case, it is rather memory bandwidth, not so much latency. See the thread that I posted above for further information.

The following thread may also be of interest, since it discusses some benchmarks:
viewtopic.php?f=6&t=49548 multithread

Re: Max render threads

Posted: Thu Mar 01, 2018 11:20 am
by Jap2.0
Tekky wrote:
Jap2.0 wrote:More threads generally isn't the issue, though - it's usually single-core performance and/or memory latency.
In this case, it is rather memory bandwidth, not so much latency. See the thread that I posted above for further information.

The following thread may also be of interest, since it discusses some benchmarks:
viewtopic.php?f=6&t=49548 multithread
I believe it's both to some extent

Re: Max render threads

Posted: Thu Mar 01, 2018 3:00 pm
by Deadly-Bagel
The answer to the OP is "yes, there is a technical reason." The exact reason is complex and apparently worth some 13 pages of posts so let's not get into it here, but the devs have proven over and over that they can be trusted to write efficient code, and have so reliable that the multiplayer literally just runs the map on all connected computers and only distributes player interactions, assuming everyone always gets the exact same result because they always do.
xZippy wrote:Factorio doesn't seem that taxing of a game anyway. It's kind of like having 16GB of RAM just to play Minesweeper.
I just have to lol at this. More like, "it's kind of like only needing 16GB of RAM to play a game of Minesweeper the size of Australia."

Re: Max render threads

Posted: Fri Mar 02, 2018 9:15 pm
by Rseding91
Mensur wrote:Is there a reason why Factorio uses only up to 8 threads ?
For instance, my cpu has 16 threads but with factorio i can only use 8. Is that a technical limitation or can it be changed somehow ?
It uses how ever many threads you have in 0.16. ARe you on 0.16 or are you using 0.15 still?