[MOD 0.13] EfficienSee : optimise your factory !

Topics and discussion about specific mods
User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

[MOD 0.13] EfficienSee : optimise your factory !

Post by binbinhfr »

Infos
  • Type: Mod
  • Name: EfficienSee
  • Description: Optimise your factory efficiency ! Check your production rates per items and recipes, hunting for under or over production, and display underemployed, blocked or starved machines on the map: useful to see where are the weak links in your production chain.
  • Tested-With-Factorio-Version: 0.13.10 (needed)
  • Multiplayer compatible: tested on a headless server...
  • Locale: english, french
  • Tags: mega base, factory efficiency, production statistics
  • License: You are free to use and distribute this mod and also to modify it for personal use, but not to release a modified version without permission (unless visibly not maintained anymore).
  • Portal download : https://mods.factorio.com/mods/binbinhfr/EfficienSee
logo.png
logo.png (26.81 KiB) Viewed 20125 times
INTRODUCTION
IMAGES
DESCRIPTION
NOTES
Last edited by binbinhfr on Fri Aug 05, 2016 5:32 pm, edited 31 times in total.
My mods on the Factorio Mod Portal :geek:

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by binbinhfr »

I need some courageous mega-base activists to test this big one ! :-)
Returns, comments and suggestions are welcome.
My mods on the Factorio Mod Portal :geek:

zingo2
Inserter
Inserter
Posts: 42
Joined: Sun Jun 19, 2016 7:52 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by zingo2 »

This looks very interesting.

How does the mod cope with lag? The green/red thingy when you zoom out? is it entity based(because that would introduce problems in future maybe)

Can you refine it more user friendly. Like I like (from pictures) how the info paths are displayed but it looks a very busy screen.(clustered)

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by binbinhfr »

Not much lag , because the numbers on the map are only refreshed at will, when you hit "refresh" button. Other production stats are refreshed every 3 sec. No problem on my factory (my base has 2500 assemblers, 1700 furnaces), even in MP. And you can set these map numbers on or off, if you want to make the map lighter.

For user-friendlyness, I use it for several days now, and find it ok for my needs (I am the main user afterall ;-) ), so please test it to fully audit your megabase before concluding. Statistics are always hard to display. I designed the mod to navigate quickly through your whole production tree to hunt for problems. Anyway, you do not have to keep this window open all game long (key 'N' to toggle). It's just times to times, to check that everything is balanced and efficient.

PS :
> is it entity based(because that would introduce problems in future maybe)
what problem do you refer to ?
My mods on the Factorio Mod Portal :geek:

trold
Inserter
Inserter
Posts: 45
Joined: Fri Jul 31, 2015 1:07 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by trold »

Great work! I played around with writing a simple mod with the same goal (Bottleneck). Here are some of the problems I encountered, which looks like it might also be a problem in this mod:

1) Sampling once every 3 seconds might line up with exactly when a machine is working, so a machine might get a 100% rating, even though it is working much less.

2) A furnaces "is_crafting()" when its output inventory is full, but an assembler won't ever craft that many items. Thus, an output congested furnace will be listed as 100% while an output congested assembler will be listed as 0%.

3) Sampling everything is expensive, so it is worth it to avoid sampling all assemblers and furnaces on a single tick.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by binbinhfr »

Hi Trold,

thx for your return.

yes I saw you nice mod, but alas on my mega base, it generates to much lags, because refreshing on every tick I think. And in MP, forget it ;-)
A solution could be to calculate a max 10 machines on one tick and wait the next tick to calculate 10 more.

Of course, I also encountered all the problems you mentionned.

I chose to relax the poling rate to 3 sec. I agree that the result are not accurate, but I tested it, and on a mega base of thousands machines, on a period of 1/2 mins, statistically, these averages are pretty good indicators anyway. We don't care about the precision of the numbers : a rough indication is far enough to detect production problems. About the congested output, you have the other numbers (dP, dC, dS to help you finding a diagnostic). All these numbers must be taken into account together to find out where is the weaked link.

Of course, on smaller factories, where the statistic effect is less, these numbers must be considered with more precautions...

Note that the production numbers are totally accurate : they are coming from factorio data. Only the machine employement rates are rough.

On purpose, i'll change the polling rate to a little bit less than 3 sec, so that it avoids the perfect lining. I might also add a little random timing.

At the end, this mod works pretty well in MP, even on mega bases. And for me, it helps finding out the weaked links in the production chain : that's what I needed, because on mega base, it starts to become quite difficult to diagnose a problem.
My mods on the Factorio Mod Portal :geek:

trold
Inserter
Inserter
Posts: 45
Joined: Fri Jul 31, 2015 1:07 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by trold »

One thing that I wanted to do in my mod, but didn't do yet: Have you considered breaking the status up into three groups: "working", "input missing", and "output congested"? That might be a useful distinction for the player.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by binbinhfr »

No, on a 3 sec poll basis, I did not poll the inputs/outputs. Much more calculations to read the inventories. But I will make some tries again to see if my (quite small) mega base can handle it. In resume, you want me to replicate your mod :-) I could do this but not on a 1 tick frequency...

I release a new 1.0.3 with a key 'b' to toggle machine stats on/off, and a poll freq of 175 ticks.
My mods on the Factorio Mod Portal :geek:

Indiglow
Inserter
Inserter
Posts: 20
Joined: Mon Jul 11, 2016 1:23 am

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by Indiglow »

Error:

Error while running the event handler: __EfficienSee__/control.lua:914: Unknown gui element type: scroll-pane


Probably something to do with other mods I have. Get the same error with all 3 versions.

Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by Qon »

Seems like a fantastic mod. And of course it is also made by binbinhfr. This will be useful, even though I calculate before I build. I'll try it out and post my impression once I have hands on experience. I did try bottleneck but since it was extremely heavy (much heavier than any other mod, and I've tried most of them) I had to disable it (but kept it installed so I can run it later). But it might be ok to have the sampling happen more often sometimes. How about a dynamic sampling rate chosen at any time in the GUI? Then you can run AFK analysis when you are more intrested in the numbers than update speed but play with less precise numbers while building.
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by binbinhfr »

How about a dynamic sampling rate chosen at any time in the GUI?
Yes. good idea Qon ! I'm actually implementing an option window to lighten the main window. So it will be integrated in that window. But I won't be able to go to the 1-tick frequency used by bottleneck : with the size of my base and more in MP, the game is slowing down drastically.
Like the author of Bottleneck asked me in the post above, I will also check the input and output slots.
Indiglow wrote:Error:
Error while running the event handler: __EfficienSee__/control.lua:914: Unknown gui element type: scroll-pane
Probably something to do with other mods I have. Get the same error with all 3 versions.
No, it seems that you did not upgrade to very last Factorio version. Please do.
My mods on the Factorio Mod Portal :geek:

User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by siggboy »

Truly outstanding, I'll try this for sure. I knew this was missing but I was way too lazy to make it myself. Thanks :mrgreen:
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick

Indiglow
Inserter
Inserter
Posts: 20
Joined: Mon Jul 11, 2016 1:23 am

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by Indiglow »

binbinhfr wrote:
How about a dynamic sampling rate chosen at any time in the GUI?
Yes. good idea Qon ! I'm actually implementing an option window to lighten the main window. So it will be integrated in that window. But I won't be able to go to the 1-tick frequency used by bottleneck : with the size of my base and more in MP, the game is slowing down drastically.
Like the author of Bottleneck asked me in the post above, I will also check the input and output slots.
Indiglow wrote:Error:
Error while running the event handler: __EfficienSee__/control.lua:914: Unknown gui element type: scroll-pane
Probably something to do with other mods I have. Get the same error with all 3 versions.
No, it seems that you did not upgrade to very last Factorio version. Please do.

Thanks! I didn't realize I was stuck on 13.6.

I'll play around with it starting with a new game and let you know if I run into anything or any future options.

Jupiter
Fast Inserter
Fast Inserter
Posts: 174
Joined: Thu Jun 23, 2016 2:38 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by Jupiter »

I am impressed. I will definitely be using this.

An idea popped into my mind while reading the mod description. Maybe these numbers can be made available on the circuit network so we can build more dynamic and self-regulating factories.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by binbinhfr »

Jupiter wrote:I am impressed. I will definitely be using this.

An idea popped into my mind while reading the mod description. Maybe these numbers can be made available on the circuit network so we can build more dynamic and self-regulating factories.
Thx for your return.
That will be a mass of numbers to publish... Another source of possible lags. But I will think about it.

For the moment, here is a new version with new features :

1.0.6 = add i/o info on map for machines with empty input or overflowed output (buttons or key 'h').
add a options menu for settings, to lighten the main window.
add low employement limit option.
add polling time option for gui refresh frequency in 1/60 seconds.
now "auto refresh" also refreshes data on the map (beware of slowndown if you over use it...)
add localised tooltips on buttons and checkboxes
screen20.jpg
screen20.jpg (80.86 KiB) Viewed 18397 times
My mods on the Factorio Mod Portal :geek:

Jupiter
Fast Inserter
Fast Inserter
Posts: 174
Joined: Thu Jun 23, 2016 2:38 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by Jupiter »

binbinhfr wrote:
Jupiter wrote:I am impressed. I will definitely be using this.

An idea popped into my mind while reading the mod description. Maybe these numbers can be made available on the circuit network so we can build more dynamic and self-regulating factories.
Thx for your return.
That will be a mass of numbers to publish... Another source of possible lags. But I will think about it.

For the moment, here is a new version with new features :

1.0.6 = add i/o info on map for machines with empty input or overflowed output (buttons or key 'h').
add a options menu for settings, to lighten the main window.
add low employement limit option.
add polling time option for gui refresh frequency in 1/60 seconds.
now "auto refresh" also refreshes data on the map (beware of slowndown if you over use it...)
add localised tooltips on buttons and checkboxes
screen20.jpg
Superb! Will test tomorrow. Got to sleep now :P

How you might approach the circuit signal idea is by creating a 'statistics' combinator that allows you to choose from any number that the mod already shows and then choose a signal to output the number on. So the user will essentially be defining a 1-1 mapping between numbers and signals (well, maybe the user can reuse certain statistics and output it twice on different signals but you get what I mean :P). That way you don't have to handle all the numbers at once. Just what the user needs, and only where he needs it.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by binbinhfr »

Jupiter wrote:How you might approach the circuit signal idea is by creating a 'statistics' combinator that allows you to choose from any number that the mod already shows and then choose a signal to output the number on. So the user will essentially be defining a 1-1 mapping between numbers and signals (well, maybe the user can reuse certain statistics and output it twice on different signals but you get what I mean :P). That way you don't have to handle all the numbers at once. Just what the user needs, and only where he needs it.
I know how circuit signal works, I already did this with my Clock Combinator. :-)
It is easy to formulate like you did, but not so easy to program when you think about multiple players, multiple forces, etc... And anyway, you have to create in the data.lua all the virtual signals at once, you cannot create them on the fly (as far as I know). That is the big amount of data I was also talking about.
But as I told you, I'll think about it. :-)

PS : give me a precise example of what you could do with such data.

For now on, I'm trying to revamp the on-map assemblers/furnaces display to free some CPU and ease reading.
My mods on the Factorio Mod Portal :geek:

meAndmyself
Burner Inserter
Burner Inserter
Posts: 8
Joined: Wed Apr 27, 2016 5:02 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by meAndmyself »

I like it. A couple of more ideas for things that could help optimize a mega-base:

- Get a list of all miners that are empty. These are probably mostly forgotten miners.
- Most of the time even for a megabase, there is no real need to optimize everything at the same time. So maybe simply drawing a square around an area and selecting a number of entities would solve most of the performance issues for higher sampling rates? Maybe the blue print selectiong function could be abused for that?
- Add a mode to show a list of active requester chests that have requests that are not getting filled over a couple of minutes. This would help a lot with finding broken production chains on a big bot base, which happens for example during major renovations.
- Show a list of abandoned active/passive provider chests and active requester chests. Abandoned in this case would mean not having any inserters next to the chest. There are of course cases where you want to have a chest just standing around, but in most cases I find that it just happens during renovations.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by binbinhfr »

news :

1.0.7 = revamp on-the-map assemblers/furnaces display in one single icon :
- the color of the icon shows the average employement rate (red<50%<yellow<95%<green)
- the shape shows immediate problem on input or output
(left arrow=starved input, square=crafting, right arrow = output full)
The result is easier to refresh and thus less cpu stress or slowdowns.
Use the 'b' key or the button to toggle on/off. You can still toggle only machines linked to one precise recipe.
You can still hover on a machine to get its "precise" employement rate at the bottom of the mod window.

EDIT :
1.0.8 = bug auto refresh disabled...

EDIT:
1.0.9 - better init surface scan to avoid duplicate big assemblers (oil refinery)
- now assemblers/furnaces stats are only computed since their on-map info is enabled.
(average employement rates are calculated from this moment : hiding this on-map
info resets the corresponding data)
- option to disable to whole mod (click window main icon does it too).
- default polling time to 116/60 s
- minor bugs
My mods on the Factorio Mod Portal :geek:

zingo2
Inserter
Inserter
Posts: 42
Joined: Sun Jun 19, 2016 7:52 pm
Contact:

Re: [MOD 0.13.X] EfficienSee : optimise your mega-factory !

Post by zingo2 »

Hey hey Tried your mod.

Well- it lags a bit as we have a huge base on our server with lots of stuff- thats 1.

Also its just way too much info- I mean ofc i can spend some time learning it all- but on our server there are like 4 other people- one of them is a kid,
How am I supposed to teach him what all the info means?

I mean i like the mod, it has so much potential but it must be user friendly. Not a chart.

I have 2 other chart mods and adding an extra chart it clusters the space so much. Ill give this mod another try once you refine all the hicks and stuff out but think about user friendliness- A mod is good if you can learn it in 5 min.

Think about- a 16 year old kid first sees this mod- how can he get best out of this and use it without saying- WUUT??? :) You know.

Keep up the good job! Ill definitely follow your progress.

Post Reply

Return to “Mods”