Extreme modded mining drills, still hurting UPS

Don't know how to use a machine? Looking for efficient setups? Stuck in a mission?
Ormy
Inserter
Inserter
Posts: 45
Joined: Thu Mar 14, 2019 9:05 am
Contact:

Extreme modded mining drills, still hurting UPS

Post by Ormy »

I'm building a gigabase just to push the game to its limits, see what breaks when numbers get huge. Long story short I'm using many cheats (stack size multiplier, bot carry capacity, production modules for rail, infinite ore patches etc) and the console to place ore patches. When UPS becomes a problem I just cheat around it by increasing bot/train capacity or something. So far I'm making the 6 vanilla science packs at 4M per minute at 40UPS.

But no matter what I do I can't find a way around mining drills hurting UPS disproportionately to the number of drills I have.

I was using Bucket Wheel Excavators which worked great for a while but eventually I needed so many they started to hurt UPS. I thought it might be animation of the excavator hurting UPS so I disabled the animation by editing the mod's lua files but it had no effect on UPS at all. I found an even more powerful mining drill (here), I replaced (almost) all the bucket wheel excavators with these which reduced the number of mining entities by a factor of 2x but only reduced the compute time used by mining drills (as report by the debug info) by a factor of 1.2x. Frustrated, I opened up the lua file for the Omega Drills mod and increased the mining speed drastically. Again this reduced the number of drills needed significantly but only slightly reduced the time usage of mining entities. Modules put in the drills have little effect on the ratio of mining rate to time usage.

See screenshots. Only 119 Omega Drills are taking nearly double the compute time of 28k ultra-fast magnetic inserters (from here) plus 8k vanilla stack inserters. Wtf?

What can I do about this? How can I mine 150-200M ore per minute without using more than 2-3ms per frame? I don't care how cheaty or OP the solution is, assume I have unlimited space and electricity, hit me with the crazy ideas.

My current plan if I don't come up with anything better is to give up on mining drills altogether and use infinite chests to produce ore in huge quantities.
Attachments
factorio 2021-03-19 20-13-29-02.jpg
factorio 2021-03-19 20-13-29-02.jpg (246.87 KiB) Viewed 5343 times
factorio 2021-03-19 20-09-54-91.jpg
factorio 2021-03-19 20-09-54-91.jpg (25.96 KiB) Viewed 5343 times
factorio 2021-03-19 20-08-58-19.jpg
factorio 2021-03-19 20-08-58-19.jpg (215.74 KiB) Viewed 5343 times
Last edited by Ormy on Sat Mar 20, 2021 10:16 am, edited 1 time in total.
User avatar
Silari
Filter Inserter
Filter Inserter
Posts: 531
Joined: Sat Jan 27, 2018 10:04 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Silari »

At a thought, I wonder if all the time is spent because every drill needs to iterate over the ore patch every time it ticks. Before it mines, it needs to go through all the resource spots it touches and figure out which one to work on (so it can determine if it needs fluid prior to starting). Once it's done, it needs to update that spot, and then figure it out again. With mining productivity it might need to do it again when the productivity ticks over (it might just give an extra of whatever it's mining at the time).

If they have a huge mining radius, I'd try lowering it down to just their own footprint and see what difference that makes in update speed. If each ore drill is touching 25x25 tiles of ore, cutting it down to 15x15 (guessing their size from the screenshot) will cut the number of tiles to just above a third.
Ormy
Inserter
Inserter
Posts: 45
Joined: Thu Mar 14, 2019 9:05 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Ormy »

Silari wrote: Fri Mar 19, 2021 8:53 pm At a thought, I wonder if all the time is spent because every drill needs to iterate over the ore patch every time it ticks. Before it mines, it needs to go through all the resource spots it touches and figure out which one to work on (so it can determine if it needs fluid prior to starting). Once it's done, it needs to update that spot, and then figure it out again. With mining productivity it might need to do it again when the productivity ticks over (it might just give an extra of whatever it's mining at the time).

If they have a huge mining radius, I'd try lowering it down to just their own footprint and see what difference that makes in update speed. If each ore drill is touching 25x25 tiles of ore, cutting it down to 15x15 (guessing their size from the screenshot) will cut the number of tiles to just above a third.
Awesome idea. Very much appreciated.

I gave it a go, I reduced the mining area to 1x1. It did reduce the time usage of mining drills but not as much as I was hoping. Time usage went down from 9ms to about 6.5-7ms.
User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5207
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by eradicator »

Ormy wrote: Fri Mar 19, 2021 9:11 pm I gave it a go, I reduced the mining area to 1x1. It did reduce the time usage of mining drills but not as much as I was hoping. Time usage went down from 9ms to about 6.5-7ms.
That would've been my first guess too. Sad that it's not sufficient.
Ormy wrote: Fri Mar 19, 2021 8:43 pm My current plan if I don't come up with anything better is to give up on mining drills altogether and use infinite chests to produce ore in huge quantities.
If you care about the production statistics, how about assemblers that "produce" ore for free? Would need loader/inserter but you only need one assembler per belt 60i/s. Also makes certain researches pointless *cough*. Though honestly...if you only have 119 drills then even a mod with on_tick that manipulates the statistics shouldn't need more than 1ms. Makes me want to see an actual measurement of the efficiency of infinity chests though.
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.
User avatar
Silari
Filter Inserter
Filter Inserter
Posts: 531
Joined: Sat Jan 27, 2018 10:04 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Silari »

Ormy wrote: Fri Mar 19, 2021 9:11 pmAwesome idea. Very much appreciated.

I gave it a go, I reduced the mining area to 1x1. It did reduce the time usage of mining drills but not as much as I was hoping. Time usage went down from 9ms to about 6.5-7ms.
A fairly significant difference still. Wonder if using infinite yield tiles would change the time, especially after the tiles had hit min yield and thus wouldn't need to be reduced anymore. Seems less likely to be something that'd make a meaningful impact though.
Trific
Fast Inserter
Fast Inserter
Posts: 155
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Trific »

I have 1800 vanilla drills and all together they are 0.2 to 0.3 ms. Perhaps the issue is the modding?
Ormy
Inserter
Inserter
Posts: 45
Joined: Thu Mar 14, 2019 9:05 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Ormy »

Trific wrote: Fri Mar 19, 2021 10:06 pm I have 1800 vanilla drills and all together they are 0.2 to 0.3 ms. Perhaps the issue is the modding?
How much ore are you producing per minute though according to the production graph?
Ormy
Inserter
Inserter
Posts: 45
Joined: Thu Mar 14, 2019 9:05 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Ormy »

eradicator wrote: Fri Mar 19, 2021 9:30 pm If you care about the production statistics, how about assemblers that "produce" ore for free? ...
Makes me want to see an actual measurement of the efficiency of infinity chests though.
I don't care about the production statistics for the ore (I can still see a correct consumption statistic for the ore even if I did care), but that's an interesting idea. I already have modded assemblers and furnaces in their hundreds producing items at a rate of many millions per minute with far less UPS impact (courtesy of Schall's machine scaling and recipe scaling and ulta-fast magnetic inserters mods) compared with mining drills producing similar amounts . Furnaces and assemblers both under 1ms in my original screenshot while producing over 100M copper plate, 150M iron plate, 200M copper cable, 75M electronic circuit every minute. Therefore it stands to reason that the assemblers could be given a modded recipe that produces ore with zero input requirement and that would solve my problem completely. I would also have some electricity cost to producing the ore vs infinite chests. Is there a mod that does this already?

I'll make a copy of my save under a different name tomorrow and give it a go with the infinity chests just to see what happens. I've used a myriad of cheats on this save but infinity chests are one thing I sought to avoid from the beginning, I'm happy to do it now but only after I'm reasonably satisfied that I've exhausted all other options.
Trific
Fast Inserter
Fast Inserter
Posts: 155
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Trific »

Ormy wrote: Sat Mar 20, 2021 1:24 am
Trific wrote: Fri Mar 19, 2021 10:06 pm I have 1800 vanilla drills and all together they are 0.2 to 0.3 ms. Perhaps the issue is the modding?
How much ore are you producing per minute though according to the production graph?
About 200K altogether, which given your scale is probably nowhere near what you're putting out. But the issue appears to be the ore or interactions with the ore field, not the number of drills.
User avatar
Silari
Filter Inserter
Filter Inserter
Posts: 531
Joined: Sat Jan 27, 2018 10:04 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Silari »

Trific wrote: Sat Mar 20, 2021 3:14 am
Ormy wrote: Sat Mar 20, 2021 1:24 am
Trific wrote: Fri Mar 19, 2021 10:06 pm I have 1800 vanilla drills and all together they are 0.2 to 0.3 ms. Perhaps the issue is the modding?
How much ore are you producing per minute though according to the production graph?
About 200K altogether, which given your scale is probably nowhere near what you're putting out. But the issue appears to be the ore or interactions with the ore field, not the number of drills.
The output is the much more important number than number of drills most likely. Every time it needs to output ore it needs to go through the ore fields AND find out if it has a place to put the ore. I'd imagine that takes a lot more time than the checking energy consumption and updating the production % bits.

Which reminds me - Ormy are you outputting to belts or to something with an inventory, like a chest? Might be worth playing with that to see if it makes a difference - MiningDrill time probably includes the time it spends seeing if it's output is blocked and outputting it's result. Not sure how changing stack size will affect that, but I do recall seeing stuff that having more slots in an inventory can drastically increase the time it takes to interact with that inventory.
Trific
Fast Inserter
Fast Inserter
Posts: 155
Joined: Thu Dec 31, 2020 7:57 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Trific »

If the drills are outputting to something different than all the assemblers, that might make a difference, but one things the drills have to deal with that the assemblers don't is the resource field underneath them.
User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by ptx0 »

people here are only guessing because you haven't provided any save file.
Ormy
Inserter
Inserter
Posts: 45
Joined: Thu Mar 14, 2019 9:05 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Ormy »

Trific wrote: Sat Mar 20, 2021 3:14 am But the issue appears to be the ore or interactions with the ore field, not the number of drills.
Yes that's exactly my point.

Silari wrote: Sat Mar 20, 2021 4:58 am Which reminds me - Ormy are you outputting to belts or to something with an inventory, like a chest? Might be worth playing with that to see if it makes a difference - MiningDrill time probably includes the time it spends seeing if it's output is blocked and outputting it's result. Not sure how changing stack size will affect that, but I do recall seeing stuff that having more slots in an inventory can drastically increase the time it takes to interact with that inventory.
Each omega drill outputs directly into a single vanilla passive provider chest. I could try with belts but I'm trying to avoid them generally in this build. Another idea I considered is to have the drill output to a carefully placed cargo wagon then inserters transfer from the wagon to passive provider chests. The assemblers and furnaces output via ultra-fast magnetic inserters to vanilla passive provider or logistic storage chests. I'll give it a go and report back.

ptx0 wrote: Sat Mar 20, 2021 5:59 am people here are only guessing because you haven't provided any save file.
My apologies I didn't think a savefile would be much help over and above the info in the screenshots. I have attached it here. Be aware that a few things might not work properly because when I found a mod that did what I wanted but not quite enough I have increased some of the values in the mod's lua files. E.g. for the omega drills mod I have increase base mining speed to 200, increased number of module slots to 6, reduced mining area to 1x1, I have edited Noxy's stack size multiplier mod to increase logistic bot capacity to 5k items, I think those are the main changes. Also there are a few mods necessary for the factory to function that have not been updated by their owners in a while, they still work fine but I had to edit the info.json to add "factorio version 1.1" to make them load.

For these reasons the savefile might not be much use but I have attached it anyway. If you wanted to replicate these circumstances it might be easier to just go into sandbox mode with the omega drills mod and slap down a few dozen of them.

Btw this base is still very much a work in progress so please don't judge me for the mess haha.

Thank you so much to everyone that has replied so far, all your help is very much appreciated.
Attachments
Base6b.zip
(24.18 MiB) Downloaded 73 times
User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by ptx0 »

Ormy wrote: Sat Mar 20, 2021 10:03 am For these reasons the savefile might not be much use but I have attached it anyway. If you wanted to replicate these circumstances it might be easier to just go into sandbox mode with the omega drills mod and slap down a few dozen of them.
doesn't work for me, i have more than 400 drills using less than 1ms update time with infinite yield and Bob's mods.
Ormy
Inserter
Inserter
Posts: 45
Joined: Thu Mar 14, 2019 9:05 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Ormy »

ptx0 wrote: Sat Mar 20, 2021 4:21 pm
Ormy wrote: Sat Mar 20, 2021 10:03 am For these reasons the savefile might not be much use but I have attached it anyway. If you wanted to replicate these circumstances it might be easier to just go into sandbox mode with the omega drills mod and slap down a few dozen of them.
doesn't work for me, i have more than 400 drills using less than 1ms update time with infinite yield and Bob's mods.
How much ore per minute are you producing though? As has been mentioned it isn't the number of drills that is causing an issue, the total amount of ore mined per minute.
User avatar
Silari
Filter Inserter
Filter Inserter
Posts: 531
Joined: Sat Jan 27, 2018 10:04 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Silari »

I played around with the save a bit and after making the modifications (but leaving out the mods not on the mod portal) I got the same relatively very high MiningDrill usage. Tried tweaking a few things (fewer slots in passive providers, stack size multiplier) but only things that reduced the time they took was to make them mine less. I think it just might be limits of the engine for the time they take.
Ormy
Inserter
Inserter
Posts: 45
Joined: Thu Mar 14, 2019 9:05 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Ormy »

Silari wrote: Sat Mar 20, 2021 10:32 pm I think it just might be limits of the engine for the time they take.
Yes this is what I suspected myself but I feel much better now I have some second opinions.

I am trying it out with infinite chests instead of mining drills and it seems to be working in terms of fixing the UPS hit. The only thing that bothers me slightly is the lack of any electricity usage in producing the ore.

Thanks again for your time helping out!
User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by ptx0 »

Ormy wrote: Sat Mar 20, 2021 11:10 pm
infinity chests are worse than mining drills. i think you should try for high productivity levels instead.
User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5207
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by eradicator »

Ormy wrote: Sat Mar 20, 2021 1:37 am Therefore it stands to reason that the assemblers could be given a modded recipe that produces ore with zero input requirement and that would solve my problem completely. I would also have some electricity cost to producing the ore vs infinite chests. Is there a mod that does this already?
According to the mod description "ore without an ore patch" I assume that some of the "Quarry $something" named mods work like that. https://mods.factorio.com/query/quarry?version=any

If it's an actual engine limit it might be worth a shot to post a link to this thead on the performance optimization thead. Probably out of scope but who knows...
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.
User avatar
Optera
Smart Inserter
Smart Inserter
Posts: 2920
Joined: Sat Jun 11, 2016 6:41 am
Contact:

Re: Extreme modded mining drills, still hurting UPS

Post by Optera »

eradicator wrote: Sun Mar 21, 2021 1:18 am According to the mod description "ore without an ore patch" I assume that some of the "Quarry $something" named mods work like that. https://mods.factorio.com/query/quarry?version=any

If it's an actual engine limit it might be worth a shot to post a link to this thead on the performance optimization thead. Probably out of scope but who knows...
Deep Quarry is hopelessly outdated by now.
I rewrote the entire thing for percentage based recipes with 0.15: https://mods.factorio.com/mod/DeepMine
Post Reply

Return to “Gameplay Help”