Material Storage


Factorio mod inspired by Applied Energistics 2 from Minecraft. Store items, smelt plates, craft and disassemble goods and refine oil - all this inside a single chest inventory. Does not support quality

Content
8 days ago
1.1 - 2.0
895
Fluids Logistic network Circuit network Manufacturing Storage

g My game is lagging

10 days ago

My game started to lag when I installed "Material Interface" a lot.
The game stops lagging if you remove the mod, it’s sad that the optimization is not very good, the size of the interfaces was set to 300.

10 days ago

Hello,

Wow, 300 slots per interface it's a lot. Typically you do not need so much space there because Material Interface does not support crafting templates. Many slots in chests is a quite heavy operation to process.

Could you please restore settings to their defaults and see if it still causes lags?

Also how many Material Logistic Chests and Material Combinators do you have in the world?

9 days ago
(updated 9 days ago)

I stuffed “Material Interface” in large quantities, as well as “Material Combinator”, probably 200 pieces each.
I rolled back the interface sides to the original one, but the lags did not disappear. The game lags once per second.

9 days ago

I stuffed “Material Interface” in large quantities, as well as “Material Combinator”, probably 200 pieces each.
I rolled back the interface sides to the original one, but the lags did not disappear. The game lags once per second.

9 days ago

I guess that's because of large amount of combinators. Is there a way for you to use less of them? They output same signals so it is possible to simply have 1 or 2 of them and then pass their signals through wires in every place you need that signal.

Meanwhile I will try to reproduce your issue and optimize the solution

9 days ago

I used the Factorissimo 3 mod, in which I installed combinators; a logical signal cannot be sent inside buildings.
I installed more combinators and the game began to lags even more.

9 days ago

I will try to utilize a new feature of Factorio 2.0 with named item groups. So I will create a named set of signals (I will call it "Material Storage") so it should be set into combinator only once and then it will propagated across all the combinators. Because now it loops over each combinator and creates a set of signals that represents storage contents each time. I will take a look in it tomorrow.

Would you mind to send me a save file so I could debug on my PC? Btw. what are the specs of your hardware?

8 days ago
(updated 8 days ago)

PC Specifications:
RTX 3060
Risen 7 5800x
32 gb ram
xpg gammex s70 2 TB
Can you tell me how I can provide you with my save?

8 days ago
(updated 8 days ago)

That's a solid one,

You could find your save files under "C:\Users\%PC USER NAME%\AppData\Roaming\Factorio\saves". It should be a .zip file. Obviously, I need one with 300+ combinators installed, so I could check where and when it lags. Then you could simply send it to google drive and share or mega.

8 days ago

Hello again,

Want to share some things.

I built around 450 combinators while my storage was relatively full (around 150 item types) and yes, game started lag each second and yes it is linked with combinators. When I commented a piece of code that iterates over the storage and creates a signal for each item type, lags disappeared so I can confirm which exact part of code causes UPS drop.

Now bad news, I utilized a Factorio 2.0 new feature when you could create a single logistic signals group and assign a name for it to reuse later and even despite I only update 1 combinator, game itself struggles to update the rest 449 and lag returns. Based on this I can make a conclusion that it is very hard for game to update 450 entities with that big amount of signals.

Then I tried another thing and made combinators keep only 1 signal, it works excellent with no issues to update 450 combinators with only first item in storage, so the key to resolve this problem is to create another type of combinator where you can set a limited amount of signals manually and then mod just will keep that signal values up to date. Say you place that combinator, create "iron plate" signal and it always outputs how many iron plates are in storage. So you could have very limited amount of classic combinators for displaying and entire storage and then have big amount of that new limited combinators to only output those signals that are important in each particular location.

Will that work for you?

8 days ago

UPD:

Just dropped an update. I made all combinators to be served in groups by 25 by default, but it is configurable.

When I set group size to 25 in my test world with 450 combinators, UPS drops to 58-57 instead of lagging the whole game. But it comes with a price, when you get more combinators in total it takes longer for each to update individually. In your case with 300 combinators with default setting by 25 per batch each individual combinator will be updated once per 12 seconds. You could play with that number and decide which suits you better

New response