Built computer with highest CPU cache available and game still stutters
Built computer with highest CPU cache available and game still stutters
I was running a generic Intel i7 something on a laptop with 64 GB RAM. Single player. No mods. Game started stuttering.
Built a brand new computer with AMD 7800X3D, 64 GB RAM, high end video card, blah blah. Game still stutters.
Log file attached.
Save game attached.
Screenshots attached.
This map isn't all that big. Something doesn't seem right. I would really love to be able to play Factorio again!
Built a brand new computer with AMD 7800X3D, 64 GB RAM, high end video card, blah blah. Game still stutters.
Log file attached.
Save game attached.
Screenshots attached.
This map isn't all that big. Something doesn't seem right. I would really love to be able to play Factorio again!
- Attachments
-
- Screenshot at 2023-05-05 23-00-02.png (4.02 MiB) Viewed 4882 times
-
- Screenshot at 2023-05-05 22-59-55.png (4.09 MiB) Viewed 4882 times
-
- Screenshot at 2023-05-05 22-59-43.png (4.09 MiB) Viewed 4882 times
-
- Handsfree.zip
- (99 MiB) Downloaded 76 times
-
- factorio-current.log
- (4.83 KiB) Downloaded 89 times
Last edited by NineNine on Sat May 06, 2023 3:32 am, edited 1 time in total.
Re: Built computer with highest CPU cache avaiable and game still stutters
Do you have a lot of trains with “no path”?
If you want to get ahold of me I'm almost always on Discord.
Re: Built computer with highest CPU cache avaiable and game still stutters
Nope, none. They're all happy.
Re: Built computer with highest CPU cache available and game still stutters
Southwest by the lake, north of the "almost empty" marker, there is a line of trains with no path.
says 70 trains without path
shows the attached image (not embedded because large)
Code: Select all
/c local t_count = 0
for _, t in pairs(game.player.force.get_trains()) do
if t.state == defines.train_state.no_path then
t_count = t_count + 1
end
end
game.player.print("trains without path: " .. t_count)
Code: Select all
/c
for _, t in pairs(game.player.force.get_trains()) do
if t.state == defines.train_state.no_path then
local rail = t.get_rails()[1]
game.player.force.add_chart_tag(rail.surface, {
position = rail.position,
text = "no path"
})
end
end
- Attachments
-
- no_paths.png (2.16 MiB) Viewed 4819 times
Re: Built computer with highest CPU cache available and game still stutters
There are many trains (I lost count) with no path to either "Green Chips - Out" or "Iron Plates - Out". You can find them (amongst those that have no problem) by opening the Train overview (O) and filtering (Ctrl+F) the Trains list for those stop names. I didn't manage to spot why though.
I think the rail network being very interconnected (ie there are many possible routes between any two points) and having many small rail blocks (ie distance between signals), especially lots of seemingly redundant chain signals, are bad for train path finding performance, exacerbating the effect.
I think the rail network being very interconnected (ie there are many possible routes between any two points) and having many small rail blocks (ie distance between signals), especially lots of seemingly redundant chain signals, are bad for train path finding performance, exacerbating the effect.
Re: Built computer with highest CPU cache available and game still stutters
I didn't remember where I was when I stopped playing, honestly. I had to stop playing when this started happening about 3-4 months ago, and I only fired it up again when I got my new computer the other day. I could fix the trains, but A. It's going to be extremely tedious (and not fun) with the game running so poorly and B. If that's all it takes to break the game, then realistically, I still can't continue to play it, because I'll max out my processor again in a few hours after I fix my trains.
Re: Built computer with highest CPU cache available and game still stutters
When you have save playing, please open Debug settings (F4) and enable "show-train-no-path-details". There is quite a lot of rails missing that are being built and they are preventing trains from finding path to some train stops and that debug setting will show you which trains were unable to find path and where they were trying to path to. Unfortunately when you have heavy finger for stamping large blueprints you may get to troubles like that when a train stop and rail next to it are already built and train wants to go there but there are other rails missing. I will keep thinking if there are ways to abort pathfinder early in such cases.
Re: Built computer with highest CPU cache available and game still stutters
I know this opens another wholly different can of worms, but at least in my experience this happens only when I build a rail network segment with stations, and then bots lay stations before the rails.boskid wrote: ↑Sat May 06, 2023 5:23 pm When you have save playing, please open Debug settings (F4) and enable "show-train-no-path-details". There is quite a lot of rails missing that are being built and they are preventing trains from finding path to some train stops and that debug setting will show you which trains were unable to find path and where they were trying to path to. Unfortunately when you have heavy finger for stamping large blueprints you may get to troubles like that when a train stop and rail next to it are already built and train wants to go there but there are other rails missing. I will keep thinking if there are ways to abort pathfinder early in such cases.
Perhaps, stations should be built after all rails are built?
Pony/Furfag avatar? Opinion discarded.
Re: Built computer with highest CPU cache available and game still stutters
When I spent a little more time with this game to remind myself what I was doing at the time...
Yes, aka13 was right... I had just slapped down a few blueprints and my bots are building tracks and stations for me. Some of the no path trains were due to stuff being built, but most of them are regular for my game play and are temporary. The way I play is that I have more trains than stops, so they'll sit around waiting at a station for their other destination to open up. So, this is a normal state of play for me.
When I let a few trains resolve themselves, so I only had maybe 1-3 "no path" trains at the same time, my FPS did get up to 60, but it was flickers between 58 and 60, so my game must still be just on the edge of what it can handle.
Yes, aka13 was right... I had just slapped down a few blueprints and my bots are building tracks and stations for me. Some of the no path trains were due to stuff being built, but most of them are regular for my game play and are temporary. The way I play is that I have more trains than stops, so they'll sit around waiting at a station for their other destination to open up. So, this is a normal state of play for me.
When I let a few trains resolve themselves, so I only had maybe 1-3 "no path" trains at the same time, my FPS did get up to 60, but it was flickers between 58 and 60, so my game must still be just on the edge of what it can handle.
- Attachments
-
- Screenshot at 2023-05-06 23-24-02.png (2.23 MiB) Viewed 4739 times
Re: Built computer with highest CPU cache available and game still stutters
Another update: I've since made my factory much bigger, and I can confirm that this issue happens whenever there are more than a few "No Path" trains. Performance is fine when there aren't any "No Path" trains.
It's not really a huge deal, as far as I'm concerned.
Apparently, I didn't need to build a giant computer after all...
It's not really a huge deal, as far as I'm concerned.
Apparently, I didn't need to build a giant computer after all...
Re: Built computer with highest CPU cache available and game still stutters
... and now the factory is bigger, and this performance issue is causing a bigger problem.
When I ask my bots to build something, this issue occurs while they're building. Since I have a massive bot network, things take a very long time to build after I plop down the plans. A factory unit generally takes about 15-20 minutes to complete, and during that time, if a station is down before the tracks are completed (often), then there's really bad stuttering. Building factory units that have more train stops (Fe plates) cause the problem more than stuff with fewer stops (Electric furnaces). If I have to drop down some plate or chip factories, then I pretty much have to walk away from the computer until they're finished.
When I ask my bots to build something, this issue occurs while they're building. Since I have a massive bot network, things take a very long time to build after I plop down the plans. A factory unit generally takes about 15-20 minutes to complete, and during that time, if a station is down before the tracks are completed (often), then there's really bad stuttering. Building factory units that have more train stops (Fe plates) cause the problem more than stuff with fewer stops (Electric furnaces). If I have to drop down some plate or chip factories, then I pretty much have to walk away from the computer until they're finished.
Re: Built computer with highest CPU cache available and game still stutters
Why don't you build units in multiple stages?NineNine wrote: ↑Sat Jul 01, 2023 4:45 pm ... and now the factory is bigger, and this performance issue is causing a bigger problem.
When I ask my bots to build something, this issue occurs while they're building. Since I have a massive bot network, things take a very long time to build after I plop down the plans. A factory unit generally takes about 15-20 minutes to complete, and during that time, if a station is down before the tracks are completed (often), then there's really bad stuttering. Building factory units that have more train stops (Fe plates) cause the problem more than stuff with fewer stops (Electric furnaces). If I have to drop down some plate or chip factories, then I pretty much have to walk away from the computer until they're finished.
In my megabase I starded doing exactly that.
"Phase 1" is rail skeleton and roboports, "phase 2" is the stations + remove the link to the other network if needed.
"Phase 3" is everytihing like it should be.
Pony/Furfag avatar? Opinion discarded.
Re: Built computer with highest CPU cache available and game still stutters
I have the grid already built (rails, power, roboports, radar, etc.). This problem happens when I'm plunking down individual factory units as I need them. My megabase is a huge grid, and when I hit say, a bottleneck for Fe Plates, then I'll plunk down a few more Fe Plate factories. I'm not sure how I'd guarantee that internal factory tracks are built before the stations are built to avoid this problem.
Are you saying that for each factory unit you have three prints?
Are you saying that for each factory unit you have three prints?
Re: Built computer with highest CPU cache available and game still stutters
I don't do that with factory units, I do that with expansion units, but yeah, 3 prints.
Pony/Furfag avatar? Opinion discarded.
Re: Built computer with highest CPU cache available and game still stutters
I think the grid nature of your base, and especially the roundabout intersections, is exacerbating the problem significantly. You've built a pathological case for the pathfinder.
Re: Built computer with highest CPU cache available and game still stutters
The simplest fix for this problem, I think, is just to plop down prints where the outgoing stations are disabled or have a limit of zero. Then, you just enable them or change the limit > 0 when the print is finished building. Since I check that prints were put down correctly after they're finished, it's no problem for me just to toggle the outgoing station when I do so. As far as I'm concerned, this problems is solved!
Re: Built computer with highest CPU cache available and game still stutters
You can do this manually as you described but it can also be automated. For example, If there is nothing to pick up, there is little point having a train limit greater than zero.
Re: Built computer with highest CPU cache available and game still stutters
Oh sure, it's all automated, thanks. This is just to deal with the problem if a station goes down before the track finishes.