Performance problems when using the factorissimo mod

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

You are so right and I mean calm.
i say i have a MagentaZuhause L (2) mit TV Plus
150mb/s
My Network Card can 1 GB/s max.
I think that not my problem.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by ptx0 »

Miras_Athran wrote:
Tue Dec 28, 2021 6:07 pm
You are so right and I mean calm.
i say i have a MagentaZuhause L (2) mit TV Plus
150mb/s
My Network Card can 1 GB/s max.
I think that not my problem.
throughput, latency, and packet loss, while related, are not the same.

you can have good throughput with crap latency. "never underestimate the bandwidth of a station wagon loaded with tapes travelling at highway speeds. the latency is awful though."

have you tried hosting the game instead of the other player? have you tried putting it up on a 3rd party service (like OVH or Hetzner)? have you tried running the game local as singleplayer without MP at all?

orzelek
Smart Inserter
Smart Inserter
Posts: 3911
Joined: Fri Apr 03, 2015 10:20 am
Contact:

Re: Factorio suggestions for improvement performance patch

Post by orzelek »

Miras_Athran wrote:
Tue Dec 28, 2021 6:07 pm
You are so right and I mean calm.
i say i have a MagentaZuhause L (2) mit TV Plus
150mb/s
My Network Card can 1 GB/s max.
I think that not my problem.

To check if that is not your link problem grab a trace route tool - like WinMTR - and run a trace to your host ip address.
You will be able to see whats the latency and packet loss there.

Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

no, my friend host this game in factorio.

i say last i have in Singleplayer no problems with FPS.
Attachments
WinMTR v0.92 64 bit by Appnor MSP - www.winmtr.net 28.12.2021 20_43_55.png
WinMTR v0.92 64 bit by Appnor MSP - www.winmtr.net 28.12.2021 20_43_55.png (15.61 KiB) Viewed 2883 times
Test 2 Network with other Link
Test 2 Network with other Link
WinMTR v0.92 64 bit by Appnor MSP - www.winmtr.net 28.12.2021 20_35_39.png (15.1 KiB) Viewed 2883 times

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2530
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by FuryoftheStars »

Miras_Athran wrote:
Tue Dec 28, 2021 7:38 pm
i say last i have in Singleplayer no problems with FPS.
With the same exact map, though?
And what happens if you host and your friend joins remotely? Do either of you experience the FPS loss? (Again, with the same exact map.)
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles

Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

As a host, he didn't lose that much FPS. at least that's how he says it.
We have not yet tried that we have swapped and he joins as a client.

orzelek
Smart Inserter
Smart Inserter
Posts: 3911
Joined: Fri Apr 03, 2015 10:20 am
Contact:

Re: Factorio suggestions for improvement performance patch

Post by orzelek »

Miras_Athran wrote:
Tue Dec 28, 2021 8:52 pm
As a host, he didn't lose that much FPS. at least that's how he says it.
We have not yet tried that we have swapped and he joins as a client.
Since network seems ok few additional questions:
Do you have similar machine compared to host?
Can you check on yours in cingle player with:

Code: Select all

/c game.speed = 2
how much UPS/FPS you will get?

Looking at the screenshots above you seem to have a potential factorissimo problem. It consumes quite a bit of CPU itself.
A bit more strange is why electric network time is so high - I do recall that devs said a lot of separate power grids could cause this. Not sure if factorissimo would add to that or it's something separate are you using power switches a lot?
Timings with electric networks might be work posting to devs in bug reports or tech support along with save to investigate why they are consuming so much CPU.

Overall it seems that your CPU is running into a limit where it can run the game at 60UPS (total update time is going over 16.6 ms in stats) . Main load comes from things that are done only on main thread (electric networks and mods) so there is not much that can be done right now. Figuring out why electric networks are using so much CPU could give you hints on how to change factory to continue playing.

Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

So first of all you have interesting theorizing.
1. No, that can't be my CPU and graphics card, because both don't even run hot.
2. It could but be one of the mods like Factorissimo.
3. My power grid in the Factorio runs on advanced solar and advanced accumulators via the Mod Terraforming FactorioHD: logstic.
Factorio process takes the following resources from my PC:
AMD Ryzen 7 2700X Eight Core Processor
CPU temperature is approx. 40 - 50 ° C, CPU utilization approx. 5 - 10% in use.

Radeon RX 590 Series
Graphics card is approx. 40 - 48 ° C, approx. Fan speed against 0 performance VRam approx. 6-7GB in use from 8GB, i think here is problem ( Memory Clock 400 - 1000MHz, CPU Clock use 300 - 600MHz and Factorissimo. )

4x 16GB 2133MHz DDR4 memory = 64GB Ram
Ram about 6-7GB in use.
/c game.speed = 2 is work, i see not work more speed ingame.

me to i think this is Factorissimo.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by ptx0 »

Miras_Athran wrote:
Wed Dec 29, 2021 1:05 pm
So first of all you have interesting theorizing.
1. No, that can't be my CPU and graphics card, because both don't even run hot.
doesn't need to be running hot to have memory locality / latency problems! memory access latency is more important than any raw CPU power. your system is clearly bottlenecking your game if the update time is at 16ms.

Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

ptx0 wrote:
Wed Dec 29, 2021 6:44 pm
Miras_Athran wrote:
Wed Dec 29, 2021 1:05 pm
So first of all you have interesting theorizing.
1. No, that can't be my CPU and graphics card, because both don't even run hot.
doesn't need to be running hot to have memory locality / latency problems! memory access latency is more important than any raw CPU power. your system is clearly bottlenecking your game if the update time is at 16ms.
how i can latency problem fix?

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by ptx0 »

Miras_Athran wrote:
Wed Dec 29, 2021 6:57 pm
how i can latency problem fix?
upgrading to a newer CPU architecture like ZEN3 or the DDR5 stuff from Intel could offer lower latency.

or run Geekbench4 and look at memory latency in microseconds and see how it stacks up against better DDR4 chips you can run your 2700x on. 2133mhz is very slow! you could even try overclocking it.

Hornwitser
Fast Inserter
Fast Inserter
Posts: 205
Joined: Fri Oct 05, 2018 4:34 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Hornwitser »

ptx0 wrote:
Tue Dec 28, 2021 5:19 pm
the game does a CRC of the memory state every so often. I don't know how often. but it's not every tick - it can't be. that's how Heavy Mode works - the game essentially runs this CRC check on every tick, so, the game runs about 1-3 UPS in that condition.
This is incorrect. The game does a CRC heuristic check every update based on chat content, Mod GUIs, player properties including position, quick bar and shortcuts, some per force data, energy input running counts, next train/unit/targetable-item number, number of active entities, number of chunks with pollution/tiles/entities, active transport lines, random number generator states, evolution factor, and some data from script based rendering (you can find this in the level-heuristic file in a desync report). A full CRC check is not done because it's too expensive, but it can be initiated from Lua code with game.force_crc(). The server sends a CRC checksum of the heuristic for every tick, you can see it in a packet capture, and the client makes sure its own CRC heuristic of the same data matches the server's CRC. If a mismatch is detected the client notifies the server which then stops the game to save the map, this takes a full roundtrip of latency which is why desync reports are of the game state some time after the actual desync occurred.

Heavy mode is different from a CRC check, it saves the map and then loads a copy of the map that was just saved into memory in order to compares the full map CRC of the current map with one gone through a save load cycle. This happens every tick, which is why it is so slow.

Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

Hornwitser wrote:
Wed Dec 29, 2021 9:56 pm
ptx0 wrote:
Tue Dec 28, 2021 5:19 pm
the game does a CRC of the memory state every so often. I don't know how often. but it's not every tick - it can't be. that's how Heavy Mode works - the game essentially runs this CRC check on every tick, so, the game runs about 1-3 UPS in that condition.
This is incorrect. The game does a CRC heuristic check every update based on chat content, Mod GUIs, player properties including position, quick bar and shortcuts, some per force data, energy input running counts, next train/unit/targetable-item number, number of active entities, number of chunks with pollution/tiles/entities, active transport lines, random number generator states, evolution factor, and some data from script based rendering (you can find this in the level-heuristic file in a desync report). A full CRC check is not done because it's too expensive, but it can be initiated from Lua code with game.force_crc(). The server sends a CRC checksum of the heuristic for every tick, you can see it in a packet capture, and the client makes sure its own CRC heuristic of the same data matches the server's CRC. If a mismatch is detected the client notifies the server which then stops the game to save the map, this takes a full roundtrip of latency which is why desync reports are of the game state some time after the actual desync occurred.

Heavy mode is different from a CRC check, it saves the map and then loads a copy of the map that was just saved into memory in order to compares the full map CRC of the current map with one gone through a save load cycle. This happens every tick, which is why it is so slow.
Can't a patch be made against the problem?

ptx0 wrote:
Wed Dec 29, 2021 7:11 pm
Miras_Athran wrote:
Wed Dec 29, 2021 6:57 pm
how i can latency problem fix?
upgrading to a newer CPU architecture like ZEN3 or the DDR5 stuff from Intel could offer lower latency.

or run Geekbench4 and look at memory latency in microseconds and see how it stacks up against better DDR4 chips you can run your 2700x on. 2133mhz is very slow! you could even try overclocking it.
I made my Ram Clock from 2133MHz to 2666MHz, I would be curious if that works.
Back then I throttled my ram to 2133 because the UEFI Bios update at that time did not yet want to. Over the years I have repeatedly flashed my UEFI and had it patched as soon as a new version was available for my mainboard Prime B350-Plus board.
Didn't know that one of the patch versions made it possible for my ram to support the full MHz.
At that time there were also problems with other users in Computer Base that there were people who technically met the requirements, but the UEFI Bios that was not yet supported.Only after a certain update, it went up to a certain limit with the RAM clock without any problems.
i hope this now better.
i bye in 5 Mai 2020 this Ram Corsair Vengeance LPX 32GB (2x16GB) DDR4 2666MHz C16 XMP 2.0 High for 4 Ram Slots.
https://www.amazon.de/gp/product/B0134E ... UTF8&psc=1

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by ptx0 »

Hornwitser wrote:
Wed Dec 29, 2021 9:56 pm
ptx0 wrote:
Tue Dec 28, 2021 5:19 pm
the game does a CRC of the memory state every so often. I don't know how often. but it's not every tick - it can't be. that's how Heavy Mode works - the game essentially runs this CRC check on every tick, so, the game runs about 1-3 UPS in that condition.
This is incorrect. The game does a CRC heuristic check every update based on chat content, Mod GUIs, player properties including position, quick bar and shortcuts, some per force data, energy input running counts, next train/unit/targetable-item number, number of active entities, number of chunks with pollution/tiles/entities, active transport lines, random number generator states, evolution factor, and some data from script based rendering (you can find this in the level-heuristic file in a desync report). A full CRC check is not done because it's too expensive, but it can be initiated from Lua code with game.force_crc(). The server sends a CRC checksum of the heuristic for every tick, you can see it in a packet capture, and the client makes sure its own CRC heuristic of the same data matches the server's CRC. If a mismatch is detected the client notifies the server which then stops the game to save the map, this takes a full roundtrip of latency which is why desync reports are of the game state some time after the actual desync occurred.

Heavy mode is different from a CRC check, it saves the map and then loads a copy of the map that was just saved into memory in order to compares the full map CRC of the current map with one gone through a save load cycle. This happens every tick, which is why it is so slow.
not incorrect, but not the complete story, either. it wasn't necessary to go into such detail. heavy mode is the same as game.force_crc(), as according to boskid.

Hornwitser
Fast Inserter
Fast Inserter
Posts: 205
Joined: Fri Oct 05, 2018 4:34 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Hornwitser »

Miras_Athran wrote:
Wed Dec 29, 2021 10:24 pm
Hornwitser wrote:
Wed Dec 29, 2021 9:56 pm
Heavy mode is different from a CRC check, it saves the map and then loads a copy of the map that was just saved into memory in order to compares the full map CRC of the current map with one gone through a save load cycle. This happens every tick, which is why it is so slow.
Can't a patch be made against the problem?
What problem? Heavy mode is slow due to how it works, there's no patching that. It's off by default as it's only useful for debugging desyncs.
ptx0 wrote:
Wed Dec 29, 2021 10:55 pm
not incorrect, but not the complete story, either. it wasn't necessary to go into such detail. heavy mode is the same as game.force_crc(), as according to boskid.
Heavy mode is not the same as game.force_crc(). Heavy mode compares the CRC checksum between the map and the same map after a save-load cycle (and also checks the CRC again after performing an update on both). game.force_crc() compares the checksum of the server's map with the client's map. These are inherently different operations.

Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

Hornwitser wrote:
Thu Dec 30, 2021 2:37 am
What problem? Heavy mode is slow due to how it works, there's no patching that. It's off by default as it's only useful for debugging desyncs.
I see it differently, if you want you can achieve an improvement. As I said, I can do a little bit of programming and I already have a little idea. Whoever wrote the source and continues to manage it can do a lot of things with it.
If there are always excuses for this and that cannot be patched ... then it's only because it involves too much work where no one really feels like it. You mustn't forget that we customers pay for the game and we can ask the programmers to put in a little more effort. You earn a lot in a month. I also thought like some of you and was convinced at some games that you can make a difference if you show that you have the will.
I program with Visual Basic and on some small projects I wanted to give up at first, but in the end I managed to do it here and there. I am aware that Factorio was not programmed with Visual Basic. I said that before, but I just wanted to say where there is a will is also a path that leads to the goal. Then you can be proud as a programmer.
The people who program the Factorio are a team so you should really be able to make a difference together.

Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

happy new year to you all

I tested the Factorio again with the same mods.
We now have the following findings.
I was able to clock my ram up from 2133 to 2733MHz, it can normally only run up to 2666MHz, so I don't want to take any risks and increase it even further. The fact is my ram runs faster than before with 600MHz.
This has hardly seen any improvement. My FPS was at 5 for a long time when my teammate was running the server.
So has nothing to do with my latency, because when I hosted it and it was joined, it was actually because my PC is a little weaker than his. it didn't jerk either for me or for him.
It ran smoothly on both PCs.

Conclusion:
It can only be due to the network code in source and it can be improved.
It simply cannot be that if a stronger PC is hosting and the recommended performance is allegedly fulfilled on both PCs, even with mods that the code allows the tick to be increased so much that my PC can no longer keep up with the host until the speed reaches 0.9 it was much better. It was flagged at 0.8. With 2.0 it was more extreme for me than with 1.0. It can only be because of the code. There are games that run more smoothly because the code is better written.
That can't be that a game that came out in 2016 runs smoothly from v0.14 - v0.18 first and since the v1.X version there are problems.
Then it is claimed that I am the only one who has the problem. It doesn't matter if people have already complained about earlier versions before v1.1.40 or no plan.
I'll give you my hardware data.

Hardware description:
Mainboard:
Prime B350 + Plus

CPU:
AMD Ryzen 7 2700X 8 CPU cores 16 threads.

Graphic card:
Sapphire Radeon 590 RX Nitro+ Special Edition
Energie
Min. Systemstromversogung 500 W
Zusätzliche Stromanschlüsse 1x 6-pin, 1x 8-pin
Stromverbrauch (in Betrieb) 235 W
Prozessor
Grafikprozessorenfamilie AMD
Maximale Displays pro Videokarte 5
Prozessor-Boost-Taktfrequenz 1560 MHz
Streamprozessoren 2304
FireStream Nein
GPU Radeon RX 590
CUDA Nein
Parallele Verarbeitungstechnologie CrossFire
Maximale Auflösung 5120 x 2880 Pixel
Verpackungsinformation
Verpackungsart Box
Design
Produktfarbe Blau
Anzahl Slots 2.2
Anzahl Lüfter 2 Lüfter
Kühlung Aktiv
Speicher
Breite der Speicherschnittstelle 256 Bit
Speichertaktfrequenz 8400 MHz
Separater Grafik-Adapterspeicher 8 GB
Grafikkartenspeichertyp GDDR5
Leistung
HDCP Nein
DirectX-Version 12.0
Dual-Link-DVI Ja
OpenGL-Version 4.5
AMD FreeSync Ja
Shader Model-Version 5.0
OpenCL-Version 2.0
TV Tuner integriert Nein
Virtual Realtity (VR) bereit Ja
PhysX Nein
Anschlüsse und Schnittstellen
Anzahl DisplayPort Anschlüsse 2
Anzahl HDMI Anschlüsse 2
Anzahl DVI-D Anschlüsse 1
DisplayPorts-Version 1.4
HDMI-Version 2.0b
Schnittstelle PCI Express x16 3.0
Systemanforderung
Unterstützt Windows-Betriebssysteme

RAM:
2x Corsair Vengeance LPX 32GB (2x16GB) DDR4 2666MHz C16 XMP 2.0 High Performance = 64GB Ram clock 2733MHz.

Sound card:
Creative - Sound BlasterX G6

Network card:
Realtek PCIe GbE Family Controller

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by ptx0 »

it's probably just your network. I play across the country of Canada with a friend on the east coast, I'm on the west coast. My ping to him is 85ms. We play extremely large bases making thousands of science per minute. and when we build too much, the fact that the server runs faster than our computer is problematic.

after re-reading it's just that your computer is bottlenecked. if your friend's system is faster than yours, this will make your FPS drop.

try setting game.speed=.5 and see if your problems go away. if they do, it's a CPU problem. not networking. the game doesn't use much network IO, watch a network traffic monitor while you play (the map download takes the most)

Miras_Athran
Inserter
Inserter
Posts: 25
Joined: Sun Dec 26, 2021 4:04 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by Miras_Athran »

ptx0 wrote:
Sat Jan 01, 2022 7:05 pm
it's probably just your network. I play across the country of Canada with a friend on the east coast, I'm on the west coast. My ping to him is 85ms. We play extremely large bases making thousands of science per minute. and when we build too much, the fact that the server runs faster than our computer is problematic.

after re-reading it's just that your computer is bottlenecked. if your friend's system is faster than yours, this will make your FPS drop.

try setting game.speed=.5 and see if your problems go away. if they do, it's a CPU problem. not networking. the game doesn't use much network IO, watch a network traffic monitor while you play (the map download takes the most)
If it is actually the CPU, then it is not 100% supported in Factorio. That can't be that my CPU should be, it has 8 CPU cores and 16 threads it can be clocked between 2700MHz - 4350MHz. This happens automatically. My UEFI Bios doesn't handle that badly.

If i host This Game.
Command: /c game.speed = 1
FPS 48-60

Command: /c game.speed = 0.5
FPS 29-31

When I'm a client.
Command: /c game.speed = 1
FPS 1-60 lag spike extrem!

Command: /c game.speed = 0.9
FPS 20-60 a little better
Last edited by Miras_Athran on Sat Jan 01, 2022 7:34 pm, edited 1 time in total.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Factorio suggestions for improvement performance patch

Post by ptx0 »

Miras_Athran wrote:
Sat Jan 01, 2022 7:28 pm
ptx0 wrote:
Sat Jan 01, 2022 7:05 pm
it's probably just your network. I play across the country of Canada with a friend on the east coast, I'm on the west coast. My ping to him is 85ms. We play extremely large bases making thousands of science per minute. and when we build too much, the fact that the server runs faster than our computer is problematic.

after re-reading it's just that your computer is bottlenecked. if your friend's system is faster than yours, this will make your FPS drop.

try setting game.speed=.5 and see if your problems go away. if they do, it's a CPU problem. not networking. the game doesn't use much network IO, watch a network traffic monitor while you play (the map download takes the most)
If it is actually the CPU, then it is not 100% supported in Factorio. That can't be that my CPU should be, it has 8 CPU cores and 16 threads it can be clocked between 2700MHz - 4350MHz. This happens automatically. My UEFI Bios doesn't handle that badly.

If i host This Game.
Command: /c game.speed = 1
FPS 48-60

Command: /c game.speed = 0.5
FPS 29-31
yes. it will run it at 30FPS, but you'll never see any FPS drops.

if you're seeing FPS drops at game.speed=1 but not game.speed=.5, i have really bad news for you. the map is just too large for your system to handle every entity's compute time in a single tick. that's what everyone been trying to tell you.

it's not a problem in the code, it's physics :roll:

Locked

Return to “Technical Help”