Page 1 of 1

Performace issues on High-End PC

Posted: Sun Aug 22, 2021 6:49 pm
by Graiver
EDIT1: Since there was already some amount of feedback concerning base optimisations, this is not the point of this post. True, the base is messy for a large part and a lot of things are left to optimise but this post is to elucidate the perfomance issues I'm experiencing and to answer the question of wether this can be improved. If you want to talk shop about my map, message me personally and I'll gladly listen to what you'll have to say :)

Hi guys,

Long time addict here. I'm experiencing major performance issues in the game lately which have gotten this bad that I now finally decided to post about it.

I've been playing a map for close to 200hrs now and my factory has gotten what I consider 'decent-sized'. I have some 10k assembly machines running which is the biggest I've had yet. However, some 6 months ago the game started progressivly running a lot slower (about one third of the speed). This was on my brand new laptop so I find it highly unlikely that the game has maxed out my system already. When I go in task manager (see first image) my CPU is only at 20% and my graphics card is hardly used at all which leads me to suspect the game isn't utilising its full potential.
Performance II.png
Performance II.png (21.81 KiB) Viewed 4411 times
Here's the game's info:
Performance issues.png
Performance issues.png (4.25 MiB) Viewed 4411 times
Furthermore my laptop specs are:

Acer Aspire A715-74G
CPU: Processor Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz, 2592 Mhz, 6 Core(s), 12 Logical Processor(s)
RAM: 16GB
Built-in GPU: Intel(R) UHD Graphics 630
Graphics card: NVIDIA GeForce GTX 1650 (12GB, 4GB dedicated)

The save can be found here:
https://wetransfer.com/downloads/b80624 ... 407/884ea7

I do hope there's a fix for this as otherwise I've hit the physical limit to which I can play this game. Thanks in advance for considering the case!

Cheers,
Graiver

Re: Performace issues on High-End PC

Posted: Sun Aug 22, 2021 8:16 pm
by atomizer
Since you didn't say anything about it and it's a laptop, make sure your power mode is on "best performance". Click the battery icon in the tray to check.

Re: Performace issues on High-End PC

Posted: Sun Aug 22, 2021 8:31 pm
by azesmbog
My amateurish take on this base:
Too many construction and transport drones, I would reduce it by 10 times
Too many trains.
I would increase the length of each train and halve the number.
Horrible copper production. On long manipulators - it should be done on short and fast
Huge open space with biters.
Apparently artillery was used in manual mode.
This is bad. I think because of them the performance drops very much.
Well and more. Laptop is not the best choice for gaming)
On my computer, this base shows an average of 29-31 UPS, when moving it drops to 25. But even this is not enough, and even 18 UPS is even less so: ((
You can try the "unsportsmanlike" trick - kill all the biters at once with the help of a script - and see how the UPS will change. But this is not entirely fair, just for experiment :)

Re: Performace issues on High-End PC

Posted: Sun Aug 22, 2021 9:45 pm
by eradicator
The screenshot says that train *pathfinding* alone takes 23ms, that alone would drop you to 43UPS even if everything else stopped. Then entity update is another 14ms. You can get more detailed info about which entity types use how much time by enabling the show-entity-time option (name from memory).

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 7:57 am
by MEOWMI
How high is your SPM (science per minute)? It's a fairly good measure for world size.

Also, a lot of Factorio performance can come down not to CPU speed, but to RAM access speed, a surprising fact which almost no other game has issues with because they're not as optimized.

Finally, I'm partly speculating, but if it was a really complicated rail network, adding a relatively small amount of extra nodes to it (stations, blocks, or intersections) could add a large amount of extra processing to the pathfinding such that it becomes a significant extra performance cost at some point. That intuition is just mostly based on pure combinatorics.

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 10:28 am
by Graiver
Hi Guys,

Thanks for the swift replies, love the interactions in this community. I'll try my best to keep the discussion going and to reply to most of the things said.
atomizer wrote:
Sun Aug 22, 2021 8:16 pm
Since you didn't say anything about it and it's a laptop, make sure your power mode is on "best performance". Click the battery icon in the tray to check.
My PC is always on maximal utility and certainly when its plugged in. Other programs (e.g. COD warzone) do utilise the full potential offered to them so the fact that this game doesn't is my main concern with Factorio right now.
azesmbog wrote:
Sun Aug 22, 2021 8:31 pm
My amateurish take on this base:
Too many construction and transport drones, I would reduce it by 10 times
Too many trains.
I would increase the length of each train and halve the number.
Horrible copper production. On long manipulators - it should be done on short and fast
Huge open space with biters.
Apparently artillery was used in manual mode.
This is bad. I think because of them the performance drops very much.
Well and more. Laptop is not the best choice for gaming)
On my computer, this base shows an average of 29-31 UPS, when moving it drops to 25. But even this is not enough, and even 18 UPS is even less so: ((
You can try the "unsportsmanlike" trick - kill all the biters at once with the help of a script - and see how the UPS will change. But this is not entirely fair, just for experiment :)
Thanks for the comment azesmbog, but as I'm not looking to optimise my base in these fashions it is not really relevant to this thread. The man goal was to have an expansive rail network to simulate and overcome emergent traffic jam-like issues while expanding ever further. There is a lot to improve, this I now realise, but the focus is on the unused capacity by the game.
eradicator wrote:
Sun Aug 22, 2021 9:45 pm
The screenshot says that train *pathfinding* alone takes 23ms, that alone would drop you to 43UPS even if everything else stopped. Then entity update is another 14ms.
Yes, see the reply above. At about 1.2k trains pathfinding will take a lot of time but how else could I run an as large as possible train network?
MEOWMI wrote:
Mon Aug 23, 2021 7:57 am
How high is your SPM (science per minute)? It's a fairly good measure for world size.

Also, a lot of Factorio performance can come down not to CPU speed, but to RAM access speed, a surprising fact which almost no other game has issues with because they're not as optimized.

Finally, I'm partly speculating, but if it was a really complicated rail network, adding a relatively small amount of extra nodes to it (stations, blocks, or intersections) could add a large amount of extra processing to the pathfinding such that it becomes a significant extra performance cost at some point. That intuition is just mostly based on pure combinatorics.
SPM stands at about 1k/min, and I'm proud of that ;)

Again, a lot of trains was one of the main objectives so there's no going around that. Possibly I could subdivide the network in smaller communicating networks but this would contradict the goal to simulate and overcome emergent traffic jam-like issues.


Thanks again for prompt feedback. I'll edit the main post to clarify the purpose of this savegame to focus the issue more to the performance question.

Graiver

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 11:31 am
by Stringweasel
Graiver wrote:
Sun Aug 22, 2021 6:49 pm
When I go in task manager (see first image) my CPU is only at 20% and my graphics card is hardly used at all which leads me to suspect the game isn't utilising its full potential.
IIRC the CPU showing 25% does not mean your CPU is only performing at 25%. It could be that you have a quadcore, One of your cores could be running at ~100% for example - since Factorio still mostly uses a single thread running on one core. The value you're reading is an average value over all the cores. I might be mistaken about all this, but it might be worth it to see if you're not already maxing out your CPU core.

edit: you don't have a quadcore :lol:

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 11:49 am
by Koub
Graiver wrote:
Mon Aug 23, 2021 10:28 am
Yes, see the reply above. At about 1.2k trains pathfinding will take a lot of time but how else could I run an as large as possible train network?
1.2k LC trains will take close to 6 times more resources to pathfind than 200k LLLCCCCCC.

For the following, I'm not sure, I'd need a train expert to double check :
Your train rail network is beautiful, but 2x3 lines everywhere might be overkill, and every time you have a crossing or a T junction, every additional line exponentially multiplies the work of the pathfinder. For example take a simple T junction, and count the number of of signals : 171 rail signals, and 68 chained rail signals (buffers included). The same T junction with 2x2 lines will need less than 2/3rds signals. And the same again with just 2x1 rails will take far far less than one third of the signalling. I'm sure the inherent complexity of 2x3 rail network also heavily loads your machine.

I also encourage you to smelt on-site : I see you have built a massive iron smelter somewhere near the center of the map, you'll need less trains to carry iron plates than to carry iron ore.

Also try not to build a concave logistic network : You have an army of bots that try to cross that big lake at the center, and go back half way through.

In conclusion, at the scale you're playing, the objective is not to build less, but to build more with less.

Concerning the poor performance on a high end laptop, bear in mind that Factorio is quite uniquely optimized, and the consequence is that numbers most people don't care showing start becoming important : RAM speed, RAM latency, CPU cache size, ... These numbers are seldom advertized on machines. What's advertized is more the CPU speed, number of cores, GPU, amount of RAM, ... But Factorio is so optimized that it bottlenecks in between those obvious points, where nobody's looking at :).

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 1:06 pm
by SoShootMe
Graiver wrote:
Sun Aug 22, 2021 6:49 pm
EDIT1: Since there was already some amount of feedback concerning base optimisations, this is not the point of this post. True, the base is messy for a large part and a lot of things are left to optimise but this post is to elucidate the perfomance issues I'm experiencing and to answer the question of wether this can be improved.
...
When I go in task manager (see first image) my CPU is only at 20% and my graphics card is hardly used at all which leads me to suspect the game isn't utilising its full potential.
While there is some potential parallelism exploited in Factorio's simulation, being deterministic (a fundamental characteristic of the design) creates limits to this: many calculations have to be done in a very specific order, which means doing them sequentially, which means the game cannot keep many CPU cores busy, which means low CPU usage if you have many cores. A lot of development effort has gone into optimising performance so there is probably little scope for significant improvement, or if there is, only with significant change for which I think there is little appetite. However, never say never...

I'm no graphics expert but I would expect being 2D rather than 3D means Factorio often doesn't make use of a lot of the potential GPU performance.

The performance you are seeing seems to be in line with what is expected given your hardware and the design of your base.

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 3:04 pm
by jagholin
What's the issue here? CPU utilization not hitting 100%? It will never get there, and it's silly to expect otherwise(https://en.wikipedia.org/wiki/Amdahl%27s_law). The fact that you have 25% is already impressive for a 6 core CPU, it basically using all it can get.

Low GPU utilization? Son, this is not call of duty. The game doesn't need all the power of the 1650 GTX to show you a picture at max fps, so why would it even try to use more of it?

>> I've hit the physical limit to which I can play this game

pretty much it---.

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 3:37 pm
by eradicator
Graiver wrote:
Mon Aug 23, 2021 10:28 am
Other programs (e.g. COD warzone) do utilise the full potential offered to them so the fact that this game doesn't is my main concern with Factorio right now.
As others have said, there's nothing to be concerned about. Factorio will never "use 100%" of your cpu. There is no indication that anything is wrong with your system so far.

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 3:38 pm
by azesmbog
Hmmm, author. well, who told you that you have a "High End Performance PC"?
Did they invent or fell for marketing persuasion ??
I would like to see at least one test result on the site
https://factoriobox.1au.us/
The fast ones are those that are at least in the top ten according to the results:
https://factoriobox.1au.us/results/cpus ... =1.0.0&vh=
The rest - so, went out for a walk ..
I recommend paying attention to the results of the ancient quad-core processor Intel Core i5-6400 non K :))
https://factoriobox.1au.us/result/0e4bf ... 37622a6a6e
Will your processor be able to do more than 174 UPS in this test ??

Re: Performace issues on High-End PC

Posted: Mon Aug 23, 2021 4:46 pm
by orzelek
It looks like you might be running into what your laptop can do with Factorio - mainly due to mostly single threaded nature of factorio simulation loop.

For factorio most important parameter of CPU is single thread performance and on top of that memory speed and latency.
Take a look here at your CPU's single thread benchmark:
https://www.cpubenchmark.net/cpu.php?cp ... Hz&id=3425
It's really good in the laptop range.
Then compare it with full ranking here:
https://www.cpubenchmark.net/singleThread.html

It would seem that as far as laptops go - you have hit the limit.