Any tips to improve performance?

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.
User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Any tips to improve performance?

Post by EstelleTheStar »

Hiya! First post!!! :3

I have extreme performance issues on my largest world and i'm looking for any tips to help. I get 2-10 fps on my laptop (sometimes, but rarely 20) and 20-40 on my desktop.

The issue is not rendering the graphics, because i should get fps higher than 40 with a 1050ti, right? I've changed all graphics settings to decrease CPU usage, but i wonder if there's something else you can do? like, any mods or files to edit?

I can't remember when i started to get the issues, but it's been bad for a couple of months
The world is very old. I've played it for 280 hours and It's the first one i made when i bought the game, i think septermber 2017

Also, i have Factorio installed on a external drive for my laptop, could that impact the performance? (except for loadtimes, obviously)


Any tips?

Specs:

Laptop:
MacBook Air 2017
CPU: Intel Core i5 @ 1.8GHz (2.9GHz turbo)
RAM: 8GB DDR3 @ 1600MHz
GPU: Intel HD 6000 with 1536MB ram
OS: MacOS High Sierra 10.13.4

Desktop:
CPU: Intel core i5 2300 @ 2,8Ghz (3.1+ Turbo)
RAM: 8GB DDR3 @ 1333MHz
GPU: Nvidia GTX 1050ti with 4GB ram
OS: Windows 10 pro
Am I the only female Factorio player?

Koub
Global Moderator
Global Moderator
Posts: 7175
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Any tips to improve performance?

Post by Koub »

We'll probably need a savegame, or at least a screen capture with timings debug info.
Koub - Please consider English is not my native language.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Any tips to improve performance?

Post by eradicator »

It's also not clear if you're having FPS or UPS issues. Press F4 in-game and select "show-fps" at the top of the always tab. This will display the numbers in the right upper corner of the screen.

User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Re: Any tips to improve performance?

Post by EstelleTheStar »

Koub wrote:We'll probably need a savegame, or at least a screen capture with timings debug info.
I can give you a save soon, need to wait for Steam Cloud
eradicator wrote:It's also not clear if you're having FPS or UPS issues. Press F4 in-game and select "show-fps" at the top of the always tab. This will display the numbers in the right upper corner of the screen.
Both UPS and FPS are almost always the same
Am I the only female Factorio player?

User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Re: Any tips to improve performance?

Post by EstelleTheStar »

Am I the only female Factorio player?

Jap2.0
Smart Inserter
Smart Inserter
Posts: 2339
Joined: Tue Jun 20, 2017 12:02 am
Contact:

Re: Any tips to improve performance?

Post by Jap2.0 »

EstelleTheStar wrote:
eradicator wrote:It's also not clear if you're having FPS or UPS issues. Press F4 in-game and select "show-fps" at the top of the always tab. This will display the numbers in the right upper corner of the screen.
Both UPS and FPS are almost always the same
FPS can't go above UPS, which means that UPS is probably the problem here. Can you post a screen shot with show-fps and show-time-usage from the debug menu (F4) enabled?
There are 10 types of people: those who get this joke and those who don't.

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

Re: Any tips to improve performance?

Post by orzelek »

I opened the file and it seems it's just a very big base and it goes pretty slow due to that.
Entity update times are pretty high for me - going up to 60ms even on i7-4790K.

One thing I noticed on quick look (other then missing signal that gets train you are sitting in on load to get stuck) then in area around the station where this train is going there are 100's of bots that are waiting to be charged. It seems that there are to many bots vs amount of charging ports. I don't think that would cause the slowdown itself tho.

User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Re: Any tips to improve performance?

Post by EstelleTheStar »

boopydoopy

Image
Am I the only female Factorio player?

User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Re: Any tips to improve performance?

Post by EstelleTheStar »

orzelek wrote:I opened the file and it seems it's just a very big base and it goes pretty slow due to that.
Entity update times are pretty high for me - going up to 60ms even on i7-4790K.

One thing I noticed on quick look (other then missing signal that gets train you are sitting in on load to get stuck) then in area around the station where this train is going there are 100's of bots that are waiting to be charged. It seems that there are to many bots vs amount of charging ports. I don't think that would cause the slowdown itself tho.
oh okay, thanks
Am I the only female Factorio player?

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

Re: Any tips to improve performance?

Post by orzelek »

Summary: Kill like 300k logi bots and place enough roboports to let all others to actually land and ups goes back up to 40-50 range.

I just noticed... there are almost half a mil logistics bots?

So that won't be 100's of bots waiting to charge - it can be in thousands :D
Thats bound to cost in terms of processing power :D


You can post this save in optimization thread - entity processing time seems to vary heavily on it.
In some areas there are stacksof bots hanging above requester chests - I think that is not a proper behaviour for bots. Take a look at pipe/bot/engine/furnace production area. There is something strange happening to bots there.
Edit:
It might be caused by bot overpopulation. There is no free space in roboports there :D

Edit 2:
Start adding roboports in area near Hem/Lagring stations. UPS went up to above 40 for me after adding 50 or so roboports there and dropped again after roboports fill out. It seems that cause of the slowdown might be all the bots trying to find roboport to land in this area.

User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Re: Any tips to improve performance?

Post by EstelleTheStar »

orzelek wrote:Edit 2:
Start adding roboports in area near Hem/Lagring stations. UPS went up to above 40 for me after adding 50 or so roboports there and dropped again after roboports fill out. It seems that cause of the slowdown might be all the bots trying to find roboport to land in this area.
Thanks! will try that, need to make some space first lol
Am I the only female Factorio player?

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

Re: Any tips to improve performance?

Post by orzelek »

EstelleTheStar wrote:
orzelek wrote:Edit 2:
Start adding roboports in area near Hem/Lagring stations. UPS went up to above 40 for me after adding 50 or so roboports there and dropped again after roboports fill out. It seems that cause of the slowdown might be all the bots trying to find roboport to land in this area.
Thanks! will try that, need to make some space first lol
I did order lots of them and literally stick them anywhere there was some space :D

User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Re: Any tips to improve performance?

Post by EstelleTheStar »

orzelek wrote:I did order lots of them and literally stick them anywhere there was some space :D
lol

but i like to have things organized, so i will move the Advanced Circuit production and oil stuff somewhere else and replace them with ports
Am I the only female Factorio player?

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

Re: Any tips to improve performance?

Post by orzelek »

EstelleTheStar wrote:
orzelek wrote:I did order lots of them and literally stick them anywhere there was some space :D
lol

but i like to have things organized, so i will move the Advanced Circuit production and oil stuff somewhere else and replace them with ports
It is a bit of a systemic problem. Due to huge amount of log bots you will see migration of bots from producers to storage areas and they will pile up there. And since production area has more free bots there is no reuse of bots so they will fill up all the roboports near storage area.

You would need to remove most of logi bots leaving maybe 20-30k there and then make few chests to add robots to roboports based on amount of free logistic bots. This is a simple circuit (connect roboport and inserter, set robport to read frre logi bots, set inserter to insert when below x (small one - 500 or so).

If you use this way most of your bots will be in use and total amount will settle around some number based on actual needs. This will prevent roboport fill-up.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Any tips to improve performance?

Post by eradicator »

@OP: I can't look at the actual base right now, but it sounds a bit like you're using an almost base-wide logistic network to handle everything? If that is the case you should try out having seperate networks for each production area if possible. This significantly reduces the bots travel distance and thus energy and bot count requirements (=charge time =roboport count).

User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Re: Any tips to improve performance?

Post by EstelleTheStar »

eradicator wrote:@OP: I can't look at the actual base right now, but it sounds a bit like you're using an almost base-wide logistic network to handle everything? If that is the case you should try out having seperate networks for each production area if possible. This significantly reduces the bots travel distance and thus energy and bot count requirements (=charge time =roboport count).
yea that's probably a good idea

the bots make everything too easy and because humans are lazy they'll go with the easiest option avaliable, so that's why i made a base-wide network

Also, i noticed that this topic was moved to Technical Help, sorry i didn't put it there from the begining :c
Am I the only female Factorio player?

User avatar
EstelleTheStar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Jun 11, 2018 4:05 am
Contact:

Re: Any tips to improve performance?

Post by EstelleTheStar »

orzelek wrote:You would need to remove most of logi bots leaving maybe 20-30k there and then make few chests to add robots to roboports based on amount of free logistic bots. This is a simple circuit (connect roboport and inserter, set robport to read frre logi bots, set inserter to insert when below x (small one - 500 or so).

If you use this way most of your bots will be in use and total amount will settle around some number based on actual needs. This will prevent roboport fill-up.
That's a brilliant idea! I didn't know you could do that.
i haven't used circuits because i can't understand them lol

Thanks a lot <3
Am I the only female Factorio player?

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Any tips to improve performance?

Post by eradicator »

EstelleTheStar wrote:
orzelek wrote:You would need to remove most of logi bots leaving maybe 20-30k there and then make few chests to add robots to roboports based on amount of free logistic bots. This is a simple circuit (connect roboport and inserter, set robport to read frre logi bots, set inserter to insert when below x (small one - 500 or so).
If you use this way most of your bots will be in use and total amount will settle around some number based on actual needs. This will prevent roboport fill-up.
That's a brilliant idea! I didn't know you could do that.
i haven't used circuits because i can't understand them lol
Thanks a lot <3
I don't think that would work. Here's why: The problem you have is not that you don't have too few free bots, it's that you have too many free bots. If you take them out and immediately feed them back into the network via inserters, then you still have too many of them (though you should definetly learn to use circuits, they're awesome. Just remember that time when you first learned to use trains instead of belts.). Inserters are pretty neat to control the total number of bots in the network though, both for reducing and increasing.

The underlying problem with "too few charging ports" is that robots waiting in line actually consume additional energy while waiting. So not only do they waste time waiting, they also charge longer, and make all other queued robots wait longer and thus waste even more energy (it stops getting exponentially worse when the queued robots run completely out of charge though :P). The logistic system does not take this into account and will happily send out more bots as long as there are any free ones available. Thus it's a very good idea as a quick fix to slowly reduce the number of bots until all charging queues are gone. In a perfectly balanced system you'd have 0 free robots at all times, saving both on charging time and on take-off/landing time, remember that robots always fully charge before landing. But real factories have production spikes, so a small buffer doesn't hurt, just be sure to avoid charging queues.

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

Re: Any tips to improve performance?

Post by orzelek »

eradicator wrote:
EstelleTheStar wrote:
orzelek wrote:You would need to remove most of logi bots leaving maybe 20-30k there and then make few chests to add robots to roboports based on amount of free logistic bots. This is a simple circuit (connect roboport and inserter, set robport to read frre logi bots, set inserter to insert when below x (small one - 500 or so).
If you use this way most of your bots will be in use and total amount will settle around some number based on actual needs. This will prevent roboport fill-up.
That's a brilliant idea! I didn't know you could do that.
i haven't used circuits because i can't understand them lol
Thanks a lot <3
I don't think that would work. Here's why: The problem you have is not that you don't have too few free bots, it's that you have too many free bots. If you take them out and immediately feed them back into the network via inserters, then you still have too many of them (though you should definetly learn to use circuits, they're awesome. Just remember that time when you first learned to use trains instead of belts.). Inserters are pretty neat to control the total number of bots in the network though, both for reducing and increasing.

The underlying problem with "too few charging ports" is that robots waiting in line actually consume additional energy while waiting. So not only do they waste time waiting, they also charge longer, and make all other queued robots wait longer and thus waste even more energy (it stops getting exponentially worse when the queued robots run completely out of charge though :P). The logistic system does not take this into account and will happily send out more bots as long as there are any free ones available. Thus it's a very good idea as a quick fix to slowly reduce the number of bots until all charging queues are gone. In a perfectly balanced system you'd have 0 free robots at all times, saving both on charging time and on take-off/landing time, remember that robots always fully charge before landing. But real factories have production spikes, so a small buffer doesn't hurt, just be sure to avoid charging queues.
You didn't see the save file I guess ;)
Problem here was not the charging per se - it was lack of actual free space in roboports to land the robots. And removing most of bots then inserting them only when amount of free bots is below certain threshold should keep total amount of bots in network to a reasonable value. In the save there were 450k+ bots that were idle so there was no reuse of robots that delivered stuff - it had new ones on hand closer so for new delivery it would send new bots.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Any tips to improve performance?

Post by eradicator »

orzelek wrote: You didn't see the save file I guess ;)
Problem here was not the charging per se - it was lack of actual free space in roboports to land the robots.
Yep. Like i said somewhere above, can't look at it (cos it's a google drive link :P). If there's lack of space then removing bots would work. I'll leave the post anyway in case someone else finds it in the future ^^, or maybe it'll even help OP when he faces that particular problem.

Post Reply

Return to “Technical Help”