[0.17.49] How to improve the UPS on a megabase

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.
Post Reply
Gimlinus
Burner Inserter
Burner Inserter
Posts: 13
Joined: Tue Feb 26, 2019 2:24 pm
Contact:

[0.17.49] How to improve the UPS on a megabase

Post by Gimlinus »

Hello,

I'm currently playing with a friend on building a megabase capable of outputting 1000 science pack / minutes. We are far from completing our objective but we're starting to experience serious drop of UPS. From another post, we saw that we could slow down the game speed using the command /c game.speed=x. So far we're playing with 0.65 speed but we were wondering if you had any idea how we could change things up so that we could complete our base without playing with even lower speed.

I put the save in attachment but here is small summary on how we planned our mega base:

The base is decompose into blocks. Each block typically correspond to one crafted ressource where the input ressources are brought by train and the produced ressources are also loaded into a train to be used in other blocks. In term of size, each blocks is around 110x110 tiles and the megabase is typically a rectangle of 17x13 blocks. So in total the superficy of our megabse should be around 2.674 Mtiles^2.

Within one block we mostly use belt to bring the ressources to the assembly machines and we only use robot to build new blocks and to bring ressources to us. We use quite a lot of beacon to avoid having too many assembly machines for the same output.

We're playing in Vanilla without Mods and we're also playing with biters. In term of energy, we had to go with nuclear since we need around 20MW and the solar would take way to much space to produce that amount of energy.


I'm currently playing with a MacBook Pro with a 3.5Ghz Intel Core i7, 16Go 2133MHz LPDDR3 with an integrated GPU Intel Iris Plus Graphics 650 1536 Mo. My config is quite "low" with respect to the GPU but I have the impression that it's mostly the CPU that is having problem w.r.t. UPS.

Note that in solo player, I can currently play between 45-50 UPS with the save. When we play on Lan with my friend however, the UPS is more around 35-40 UPS with the same save.

I know that in any case, there will be a point where the drop of UPS will be there no matter what but we'd really like to be able to complete our megabase that we spend so much time preparing 😊

Thanks you for any advice you could give us !

Gimlinus
Attachments
Lego-Relaunch.zip
(25.58 MiB) Downloaded 87 times

Opsse
Burner Inserter
Burner Inserter
Posts: 13
Joined: Wed Feb 27, 2019 9:06 am
Contact:

Re: [0.17.49] How to improve the UPS on a megabase

Post by Opsse »

Hi,

I'm the one who play with him, here is my computer :
Processor : INTEL Core i5 4690 - 6Mo - HD Graphics 4600 - LGA1150 - 0,022µ - BOX
Graphic Card : MSI GeFORCE GTX 970 Gaming 4G - 4Go GDDR5 - PCIe 3.0 x16 - 3xmini-DP, DVI (HDCP), mini-HDMI
SSD : SAMSUNG Serie 860 EVO.
I'm around 45 FPS/UPS (even if I set the game speed to 1)

I can add that we have huge blueprints and we feel the game slowing down when a player place a blueprint.
We also have a large logistic network with 2000+ constructions and logistic robots.

Bilka
Factorio Staff
Factorio Staff
Posts: 3132
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: [0.17.49] How to improve the UPS on a megabase

Post by Bilka »

Hey, I ran a profiler against your save just for fun. Something that became immediately obvious is that you have a lot of time spent in the circuit network calculations. Even the in-game debug info shows up to 5ms spent there, which I personally have never seen on non-circuit-network-centered maps. Half of the time spent in the circuit network things is related to circuit controlled gates. The rest is just normal megabase stuff, lots of inserters due to your many train loading stations etc. Literally deleting all the walls that are connected to the circuit network gives me about 7 more UPS, so maybe start with that low hanging fruit :)

Overall you probably should switch to builds with more beacons - 12 or 8 beacons per assembler. This greatly reduces the number of inserters (and machines) needed, which are currently your biggest performance hog after the circuit network.
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.


Opsse
Burner Inserter
Burner Inserter
Posts: 13
Joined: Wed Feb 27, 2019 9:06 am
Contact:

Re: [0.17.49] How to improve the UPS on a megabase

Post by Opsse »

Thank you for the answers.
Bilka wrote:
Sun Jun 16, 2019 10:19 am
Hey, I ran a profiler against your save just for fun.
What is this profiler? Can I test it by myself?
Bilka wrote:
Sun Jun 16, 2019 10:19 am
Half of the time spent in the circuit network things is related to circuit controlled gates.
Is it normal? Why this circuit eat so much the UPS? Maybe this part of the game code could be optimised.

About deleting empty chunks, I don't think this would make a big difference in our case. We didn't explore the map a lot.

Bilka
Factorio Staff
Factorio Staff
Posts: 3132
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: [0.17.49] How to improve the UPS on a megabase

Post by Bilka »

Opsse wrote:
Sun Jun 16, 2019 2:04 pm
What is this profiler? Can I test it by myself?
Visual Studio. Yes. Download it, debug -> performance profiler -> attach to process -> profile it -> use the debug symbols that are included in the install, they are in the same folder as the exe.
Opsse wrote:
Sun Jun 16, 2019 2:04 pm
Is it normal? Why this circuit eat so much the UPS? Maybe this part of the game code could be optimised.
You have over 2200 gates that are connected to the circuit network, dealing with some many entities takes some time. Especially because you have the connected directly to the signals, so the values change all the time.
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.

posila
Factorio Staff
Factorio Staff
Posts: 5202
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [0.17.49] How to improve the UPS on a megabase

Post by posila »

Bilka wrote:
Sun Jun 16, 2019 2:55 pm
Opsse wrote:
Sun Jun 16, 2019 2:04 pm
What is this profiler? Can I test it by myself?
Visual Studio. Yes. Download it, debug -> performance profiler -> attach to process -> profile it -> use the debug symbols that are included in the install, they are in the same folder as the exe.
I would suggest Very Sleepy. It is just 5MB download and gives good enough profiling output for this purpose.

Gimlinus
Burner Inserter
Burner Inserter
Posts: 13
Joined: Tue Feb 26, 2019 2:24 pm
Contact:

Re: [0.17.49] How to improve the UPS on a megabase

Post by Gimlinus »

Thanks for the profilers. I have tried Very Sleepy and though there are some function that I'm not completely sure what they correspond to, they indeed give already a lot of interesting information. I tried to install Visual Studio but... it did not work 😁

Post Reply

Return to “Technical Help”