Refined Network Storage deprecated


Store, access, and transfer items/fluids digitally.

Content
5 months ago
1.1
1.35K
Logistics Logistic network Circuit network Storage

g Performance

6 months ago
(updated 6 months ago)

Hey,

Thank you for this amazing mod.
I've tried to build my base around this mod, having IO Bus and External Bus all over the place.
Sadly performance pretty quickly died on me.

A few things I realized:

  • Memory Unit
    Interacting with Memory Units ( https://mods.factorio.com/mod/deep-storage-unit ) is pretty much an instant kill for performance. Just hooking up 4 Memory Units with an External Bus drops the frame rate to 55 for me.
    Instead shoving items into a buffer chest and interacting with that is much better.
    https://imgur.com/a/GHb9A5T
    Like this there isn't much impact on the performance.
    I'm guessing that the External IO Bus scans the whole inventory to figure out how many items there are every couple frames. For a whooping 4m Coal, that takes a while. I'm reasonably sure the memory units have some sort of API for "how many total items are there" which have a better performance since there is only 1 item type present.
    Can you please add support to hooked up Memory Units? Although, since there is the workaround with the buffer chest, I wouldn't give this much of a priority.

  • weird I/O Slot
    When limiting a chest, taking out items via a External Bus takes the item from a weird slot.
    https://imgur.com/a/VAl13F6
    Usually when taking out items of such a chest ( e.g. by Filter Miniloader https://mods.factorio.com/mod/miniloader ) it simply takes out the last filtered item in the chest, so in the above example, the item from the 3rd slot.
    I'm guessing this is by design, since the limited slot is basically not a valid output slot, so it is ignored.
    Can this be changed? For example when I set a whitelist filter in a Input-Only External Bus, i'd like to have those items be taken even from disabled slots.

  • XP for buildings
    Interaction with that mod ( https://mods.factorio.com/mod/xp-for-buildings ) pretty much bricked my game the first time I added refined storage.
    Reson: IO ports ( RNS_NetworkCableIOItem, RNS_NetworkCableIOFluid, RNS_NetworkCableIOExternal ) are assembling machines, so the XP for building gives them a level which bricks the IO port and throws errors.
    To fix this, adding those 3 ports to the ignore list of XP for buildings seemed to fix the problem.
    Just as info for anyone using these 2 mods together.

A random Idea that popped up:
Is the performance dependend on how many slots there are in the chest? If so, would adding a a performance-interaction-chest with only like 4 slots and a size of 1x1 or 1x4 help?

6 months ago
(updated 6 months ago)
  • Interacting with other mods is limited because each mod has its own private variable table that other mods can't access. In the case of the Memory Units, the stored amount is in that private table so I can't add that compatibility. Unless the author adds a remote interface for it.
  • Miniloaders are actually just inserters so they follow the same principles hence why they can grab from the limited slot. The Item IO bus takes from the first slot, not the last slot but it will still grab any items in the limited slots. Just not put any there.

The performance is mainly from the External IO bus because it has to know what items are in it so of course it goes through each slot. More slots means more time it takes which means ups start to drop significantly.

New response