Page 1 of 4

Performance problems when using the factorissimo mod

Posted: Sun Dec 26, 2021 9:22 pm
by Miras_Athran
Topic singlecore to multicore:
Nowadays PCs have the option of using 4-16 cores.
Factorio is 64Bit capable but only supports 1 CPU core.
If you were to add 2-3 cores with a patch, it would e.g. give better performance in multiplayer.

Topic FPS drop down fix:
I played in multiplayer with someone who set up more than 50 radars and it pulled the FPS badly, although I wasn't even near the sectors where they were scanned.
Something should also be improved there.
For example, if I I have 40-50 blast furnaces that are currently working and if you walk past there are also some FPS drops.
Reminds me of 7 Days To Die when there was still an old version where there were similar incidents, but luckily they were fixed.

Topic AVOID UNNECESSARY RESTART! If new mods need to be downloaded or have been replaced by new patches:
I noticed when the data is being downloaded, it's annoying when a lot of mods are used the game is restarted for each new change instead of simply being loaded into memory to prevent a restart.

Topic cache its advantages and disadvantages:
If the following has been activated in config.ini:
cache-prototype-data = true
cache-sprite-atlas = true
I think the basic requirement is pretty good and that significantly shortens the loading times once the cache has been created.
However, there are also disadvantages, maybe you can make some improvements to the problem for the next patch as well.
For example: when there is only a small change.
New mod / s patch of a mod

Topic If a lot has been built and therefore a lot is running while you log in:
When the game tries to sync with the server.
This usually takes 1-XX minutes, although the ping display is quite good.

Conclusion:
There are usually some code improvements that need to be made to get even more performance out of it.
My PC is sleeping and has FPS drops that cannot be due to my PC.
Topic singlecore to multicore:
Nowadays PCs have the option of using 4-16 cores.
Factorio is 64Bit capable but only supports 1 CPU core.
If you were to add 2-3 cores with a patch, it would e.g. give better performance in multiplayer.

Re: Factorio suggestions for improvement performance patch

Posted: Mon Dec 27, 2021 1:10 am
by Silari
Miras_Athran wrote:
Sun Dec 26, 2021 9:22 pm
Topic singlecore to multicore:
Nowadays PCs have the option of using 4-16 cores.
Factorio is 64Bit capable but only supports 1 CPU core.
If you were to add 2-3 cores with a patch, it would e.g. give better performance in multiplayer.
Factorio is already multi-core. Many things in the game are multithreaded (belts being added with 1.1), and separate threads are used for rendering/sound. Single core performance and RAM latency still tend to be the limiting factors due to how the game works.
Miras_Athran wrote:
Sun Dec 26, 2021 9:22 pm
Topic AVOID UNNECESSARY RESTART! If new mods need to be downloaded or have been replaced by new patches:
I noticed when the data is being downloaded, it's annoying when a lot of mods are used the game is restarted for each new change instead of simply being loaded into memory to prevent a restart.
Mods can't be applied without restarting as there's too many things that can change. Mods are more than just changing a texture, there can be very complicated interdependent changes, and adding/updating a mod can mean a mod that wasn't changed does something different than it did last time. Same goes for invalidating caches. By the time you've gone over every bit of code and every file to determine how much has changed, you could've just restarted/rebuilt caches and been done, with none of the chances for errors.

Re: Factorio suggestions for improvement performance patch

Posted: Mon Dec 27, 2021 6:46 am
by Miras_Athran
Silari wrote:
Mon Dec 27, 2021 1:10 am
Miras_Athran wrote:
Sun Dec 26, 2021 9:22 pm
Topic singlecore to multicore:
Nowadays PCs have the option of using 4-16 cores.
Factorio is 64Bit capable but only supports 1 CPU core.
If you were to add 2-3 cores with a patch, it would e.g. give better performance in multiplayer.
Factorio is already multi-core. Many things in the game are multithreaded (belts being added with 1.1), and separate threads are used for rendering/sound. Single core performance and RAM latency still tend to be the limiting factors due to how the game works.
Miras_Athran wrote:
Sun Dec 26, 2021 9:22 pm
Topic AVOID UNNECESSARY RESTART! If new mods need to be downloaded or have been replaced by new patches:
I noticed when the data is being downloaded, it's annoying when a lot of mods are used the game is restarted for each new change instead of simply being loaded into memory to prevent a restart.
Mods can't be applied without restarting as there's too many things that can change. Mods are more than just changing a texture, there can be very complicated interdependent changes, and adding/updating a mod can mean a mod that wasn't changed does something different than it did last time. Same goes for invalidating caches. By the time you've gone over every bit of code and every file to determine how much has changed, you could've just restarted/rebuilt caches and been done, with none of the chances for errors.
Topic Restart Game:
ok that i can maybe understand.

Topic CPU:
Ok, somehow you don't notice that it has multicore and threading. My Ryzen 7 2700X is bored.

Topic Ram:
I haven't looked at the Ram. So my PC has 64GB Ram and still got problems in multiplayer despite good ping. It's much more about the code. Perhaps it would be good if the ram limit could be set by the user via config. If that can improve performance.
for example
RAM = 10GB.

Topic Multiplayer:
More Stable pls.

Topic Singleplayer:
Here i see no performance problems.

Re: Factorio suggestions for improvement performance patch

Posted: Mon Dec 27, 2021 5:15 pm
by FuryoftheStars
Miras_Athran wrote:
Mon Dec 27, 2021 6:46 am
Topic Ram:
I haven't looked at the Ram. So my PC has 64GB Ram and still got problems in multiplayer despite good ping.
With multiplayer, I believe some of the limiting factors are going to be the server (it needs to be able to run the game as well, though a headless won't need to worry about GPU), as well as the players connected to it (it can only run as fast as the slowest player, though if the slowest player is too slow, it will kick them).

So the fact your PC has 64GB RAM doesn't mean much here other than (likely) you're not going to be the slowest player, though again, latency has a bigger impact than actual total space.

Re: Factorio suggestions for improvement performance patch

Posted: Mon Dec 27, 2021 9:06 pm
by Miras_Athran
My graphics card, ram and CPU are bored. I'm not slow got a ping of around 15.
Nevertheless, I have FPS drops in multiplayer, while everything goes great in single game and the same mods are running there.
It is strange that there are some other games where there is a lot going on, everything is going great, even though the overall requirements are much higher. I think that's really because of the Factorio multiplayer code. it should definitely be revised to achieve better latency.

best regards
Miras_Athran

Re: Factorio suggestions for improvement performance patch

Posted: Mon Dec 27, 2021 10:07 pm
by FuryoftheStars
Factorio is a heavily deterministic game. All clients and the server host must run all actions and calculations and then cross verify that they all came out the same.

Again, I'm not saying that the issue is your end. I get that your PC is bored. :roll: I'm saying that in whatever multiplayer sessions you are on, either the server host or one of the other people connected are the ones slowing you down. The game cannot and will not allow one player to run at a full 60 FPS if someone else is only able to at 10. It's just the nature of this game.

How other games run are often different and trying to compare them are very much like apples and oranges....

Re: Factorio suggestions for improvement performance patch

Posted: Mon Dec 27, 2021 10:23 pm
by Miras_Athran
That may be true. But we are only 2 players. He hosted the server, I am only 1 player as a client and I am the only player to have FPS drops that fluctuate greatly.
While everything runs smoothly for him because it is local for him.
I hope that we agree that the multiplayer mode still needs to be worked on to alleviate the instability.

best regards
Miras_Athran

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 12:22 am
by FuryoftheStars
Ok, thanks for the new information, but I'm still not convinced that it's the "game's" fault. I missed the detail about the 50 radars before. Note that is a lot of information that now needs to be passed back and forth, especially if these radars are scanning chunks that were previously under fog of war (chunk generation is not a fast process, relatively speaking).

I do recommend, before assuming it's got to be the game's fault on your first post ever here (I mean, multiple of the assumptions you've made in the OP about how the game works are wrong), to post in Technical Help and see if others that frequent there can help you narrow it down or for sure determine it's a fault of the game.

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 6:53 am
by Miras_Athran
like to ask you to read through the text to give you something to understand.
It's easy to blame the player, but just as difficult to admit that programmers aren't infallible. I can also do a little programming and speak a little from experience. If you make the code so messy, your program is lying even though you have a super good PC. If you absolutely don't believe me, I'll be forced to call in the person I've played with. A programmer himself is responsible for the creation of a program as he writes the code. Even if I compare to other games again. Was there a fix for one or the other game to get the stability. It is always the most difficult when there is a multiplayer mode. As far as network programming is concerned, I have no experience. But knowing as a player which game runs more smoothly in the network and which does not, even though I am playing with the same friend who also plays with me with the same network connection, I know how to distinguish.
Should I give another example regarding Factorio? If I have this FPS drop and set a building, 2-3x the sound of sitting down a building will be played.
When I move my figure, it jumps more. Sometimes the FPS even goes below 10 and if that's the case at the moment the game is unplayable.
Do not always blame the player, but take a look at your own nose. When you work with gamer as a programmer and sometimes listen to gamer what he describes. Can you make a difference? The programmer does not play the game unless outside of his working hours. Well apart from that. In addition, after your last post, I was able to find out that your texts FLYED through and only read through afterwards.
Should only be an example.
Do you know the game Sacred? If not then install the game with the official patches and drop a lot of gold in one place. Due to the high amount of gold, the FPS was down, although the game is old and the PC has to meet the performance.
I ask you Is it the player's sole fault at the moment, or are the programmers who developed the game also to blame? The programmer is always responsible for the engine etc ...
Well, it is clear to me that the server and / or client can also be partly responsible. But that doesn't pull the FPS, it jerks without any graphics problems. When we made a new game, it ran smoothly at first. Since you could clearly see that it is not always the game.
In that case, the players are more responsible.
But not what I'm trying to explain to you.

Conclusion:
You can't always evade just because you don't like the truth. Sure there are people who actually lie, but I certainly wouldn't want to waste my time discussing the topic here if I wanted to lie to you. NO I wouldn't waste my time on that.
I would really be thankful 1000 times if you would do something about the instability in multiplayer in Factorio.
One thing, please, I didn't mean anything wrong in the text.

best regards
Miras_Athran

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 8:22 am
by DarkShadow44
FuryoftheStars wrote:
Tue Dec 28, 2021 12:22 am
I missed the detail about the 50 radars before. Note that is a lot of information that now needs to be passed back and fort
There is no information that needs to be passed back and forth. Each computer calculates the scan for themselves, fully deterministic.
FuryoftheStars wrote:
Tue Dec 28, 2021 12:22 am
especially if these radars are scanning chunks that were previously under fog of war (chunk generation is not a fast process, relatively speaking).
Just because they were under fog of war doesn't mean they need to be generated. It just updates the graphical side of things when scanning known chunks. I mean, they're always active.

@OP
Do only the FPS drop or also the UPS?
How is gameplay (for your friend) when you host and they join?

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 8:35 am
by Nosferatu
The screenshot shows ~40 mods.
Maybe you could test if the lag spikes get better without them?

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 9:51 am
by Miras_Athran
Nosferatu wrote:
Tue Dec 28, 2021 8:35 am
The screenshot shows ~40 mods.
Maybe you could test if the lag spikes get better without them?
I only know when my teammate reduced the 50 radars it was more stable, but the radars are not to blame in general, which is not true in multiplayer and when people want to have fun with the game and also help to confirm that similar incidents occur with them. I would be happy if you also help to support this. It is completely normal for the base to get bigger and bigger.
Even if I work 50 blast furnaces at the same time with many other industrial buildings it lags.
Maybe it is also due to the mods, but even so far one would have to think that Vanilla draws less power than with many mods. That was already the case with Minecraft and still it became more stable despite mods and there were more than 100 already. Why did it become more stable? because what was done about it.
This can also happen here if the developers for Factorio and the modders give the insight. Working together can make a difference.

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 10:17 am
by asheiduk
FuryoftheStars wrote:
Mon Dec 27, 2021 10:07 pm
[...] 'm saying that in whatever multiplayer sessions you are on, either the server host or one of the other people connected are the ones slowing you down. The game cannot and will not allow one player to run at a full 60 FPS if someone else is only able to at 10. It's just the nature of this game.
My impression from reading the forum was that in multiplayer mode the server tries to achieve full speed (60 UPS by default) and is NOT waiting for slower clients. In this case a slow clients might sacrifice some FPS to keep up with the servers UPS.

Can you provide pointers to the behaviour you described?

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 1:08 pm
by ssilk
It's really hard to discuss performance issues. :roll: And even harder in general board, where the community easily picks up those insults (Factorio is slow, because it uses only one CPU) . I would prefer discussing such subjects in the gameplay-help-board. But now it is here, so I keep it here, perhaps we learn all from this. 8-) :)
My PC is sleeping and has FPS drops that cannot be due to my PC.
Why not? I mean I agree, it is a rare case, but it can be due to many things. RAM latency has already been mentioned. But there are other crazy bugs, for example in the network switches. I remember one bug has had to do with a bug in the routers of some manufactorer (I didn't find it anymore) and they searched weeks for it.

On the other hand there have been crazy bugs in the network code, for example here or complex protocol problems here.

And one question should be allowed: why are there so many players without problems and you are the lonely one with problems? Factorio brings your PC to it's limits, which other games eventually do not. I heard from people, who overclocked their PC and running Factorio slows it because the CPU throttled down. We had her players that cleaned their PC and suddenly Factorio worked fine. ;)

It could be really anything, without further testing. :)

But from reading this thread again, my current feel about this is currently that the latency of your internet-connection is too high or it has too many packet losses.
That may be true. But we are only 2 players. He hosted the server, I am only 1 player as a client and I am the only player to have FPS drops that fluctuate greatly.
That's the point which makes me guess, it's the internet-connection, because it's clear, that it then runs faster on the host, because there is no latency involved. :) Especially the visible latency hiding you describe speaks for it.

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 1:26 pm
by FuryoftheStars
DarkShadow44 wrote:
Tue Dec 28, 2021 8:22 am
FuryoftheStars wrote:
Tue Dec 28, 2021 12:22 am
I missed the detail about the 50 radars before. Note that is a lot of information that now needs to be passed back and fort
There is no information that needs to be passed back and forth. Each computer calculates the scan for themselves, fully deterministic.
Yes, but my understanding is that this then needs to be passed back to the host for verification. Otherwise, how do the clients and server resolve differences in their calculations (desync)? Alright, nevermind me here. I happened to follow through one of ssilk's links and noticed the talk about lockstep and delved down deeper. I guess they're using different logic than I thought to determine desyncs.
DarkShadow44 wrote:
Tue Dec 28, 2021 8:22 am
FuryoftheStars wrote:
Tue Dec 28, 2021 12:22 am
especially if these radars are scanning chunks that were previously under fog of war (chunk generation is not a fast process, relatively speaking).
Just because they were under fog of war doesn't mean they need to be generated. It just updates the graphical side of things when scanning known chunks. I mean, they're always active.
Yes, the game will pregen chunks out a certain radius, where ever pollution should be spreading to, etc. But there's an increased chance that a chunk under fog of war has not been generated yet. Placement of the radars matters here. Forgive me, I was trying to keep my post simple rather than devolving into every possible situation.

That said, afaik, not all chunks are kept active. If there's nothing relevant going on there, and no visibility, some chunks will go to sleep.

asheiduk wrote:
Tue Dec 28, 2021 10:17 am
FuryoftheStars wrote:
Mon Dec 27, 2021 10:07 pm
[...] 'm saying that in whatever multiplayer sessions you are on, either the server host or one of the other people connected are the ones slowing you down. The game cannot and will not allow one player to run at a full 60 FPS if someone else is only able to at 10. It's just the nature of this game.
My impression from reading the forum was that in multiplayer mode the server tries to achieve full speed (60 UPS by default) and is NOT waiting for slower clients. In this case a slow clients might sacrifice some FPS to keep up with the servers UPS.

Can you provide pointers to the behaviour you described?
Yes, sorry, I may be getting FPS vs UPS mixed up here. I just know that if one player is struggling to keep up, it can drag everyone else down (as can be seen from a player joining a multiplayer server, in some cases it can cause slowdowns and lag spikes for everyone else while that player is loading and performing catch up).

Miras_Athran wrote:
Tue Dec 28, 2021 6:53 am
Please understand, I'm not saying it has to be on your end or that the game and devs are infallible. What I am saying, is that your first ever post here is blaming the game, yet one of the suggestions you give for improving it (single vs multi-core) is already implemented, which tells me you haven't fully looked into it and are just blaming the game.

Knowing now, too, that you have a list of mods (you mention mods in reference to game restart, but never say you are using mods in this MP session. These are all details that would be good to know from the outset!), a suggestion: reload this MP session with your friend without any mods running and see if it makes a difference in your FPS. If it does, that means one of the mods is to blame. If not, then there's still more that can be tried and check.

I still believe this should have started as a help request in tech help to try and narrow down the possible cause before going down the route of "it's the game because I have good ping and my PC is bored."

ssilk wrote:
Tue Dec 28, 2021 1:08 pm
And one question should be allowed: why are there so many players without problems and you are the lonely one with problems?
Exactly. :)

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 4:06 pm
by Miras_Athran
i say now here
search.php?keywords=lag+spike&terms=all ... mit=Search
150 Founds.
U say i alone have problem with Multiplayer? :D :D :D :D :D :D sorry i must sooo laugh.

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 4:28 pm
by FuryoftheStars
Miras_Athran wrote:
Tue Dec 28, 2021 4:06 pm
i say now here
search.php?keywords=lag+spike&terms=all ... mit=Search
150 Founds.
U say i alone have problem with Multiplayer? :D :D :D :D :D :D sorry i must sooo laugh.
Many of those are years old, and not even in the 1.1 version category (and you got 150 matched posts, not threads). Also, did you go through those to see how many resolved to something on the users end vs the game vs unresolved? A simple search for "lag"+"spike" means nothing, sorry.

Oh, and what's better... some of these posts are discussing mods.

Edit: Oh, and it should be stated that ssilk's line about "why are there so many players without problems and you are the lonely one with problems" should not be taken as a literal you are the only person, but rather that the number of people experiencing issues is a very small percentage compared to those that aren't.

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 5:15 pm
by ptx0
Miras_Athran wrote:
Tue Dec 28, 2021 6:53 am
like to ask you to read through the text to give you something to understand.
[...] but I certainly wouldn't want to waste my time discussing the topic here if I wanted to lie to you. NO I wouldn't waste my time on that.
I would really be thankful 1000 times if you would do something about the instability in multiplayer in Factorio.
[...]
just so you know, you're not discussing things with Wube's employees. those are just other players that you're arguing with. they can neither confirm nor deny that your ideas are correct. but your Wall of Text is not fun to read and feels like a rambling rant than anything that anyone can actually act on. I don't know what you're wanting Wube to do to solve your problem. but you're pretty dismissive of people who are giving you very good advice.

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 5:19 pm
by ptx0
FuryoftheStars wrote:
Tue Dec 28, 2021 1:26 pm
Yes, but my understanding is that this then needs to be passed back to the host for verification. Otherwise, how do the clients and server resolve differences in their calculations (desync)? Alright, nevermind me here. I happened to follow through one of ssilk's links and noticed the talk about lockstep and delved down deeper. I guess they're using different logic than I thought to determine desyncs.
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.

Heavy mode is useful for determining more info about a desync, because the way the periodic CRC checks work isn't frequent/fast enough to catch these as they occur. most desync reports are from a few ticks after the desync occurred.

Re: Factorio suggestions for improvement performance patch

Posted: Tue Dec 28, 2021 5:23 pm
by FuryoftheStars
ptx0 wrote:
Tue Dec 28, 2021 5:19 pm
FuryoftheStars wrote:
Tue Dec 28, 2021 1:26 pm
Yes, but my understanding is that this then needs to be passed back to the host for verification. Otherwise, how do the clients and server resolve differences in their calculations (desync)? Alright, nevermind me here. I happened to follow through one of ssilk's links and noticed the talk about lockstep and delved down deeper. I guess they're using different logic than I thought to determine desyncs.
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.

Heavy mode is useful for determining more info about a desync, because the way the periodic CRC checks work isn't frequent/fast enough to catch these as they occur. most desync reports are from a few ticks after the desync occurred.
Thanks for the insight! Some of the desync threads I had looked at before where the desync seemed to occur at the moment of action led me to believe there was a more real-time fact checking going on, though considering there are 60 ticks in a second, I guess it could still seem that way. :)

But I guess that means that there is some extra data that gets passed back and forth, just not as much/often as I thought.