Refined Storage

Refined Storage

77M Downloads

Laggy interaction with EIO machines when RS cannot supply item.

RaeveNoir opened this issue ยท 10 comments

commented

Issue description:

When an EnderIO machine has a face set to 'pull' and an RS device (importer, exporter, interface) is attached there with any sort of 'template' item set for whitelist or interface loading, but the RS system is not able to supply that item, the RS block begins to lag severely. Our supposition is that the EIO machine can "see" the template item and is trying to pull it, and the RS device freaks out. Found using TickProfiler, this can be severe enough to push a server below 10tps with just a few occurrences, and is a very unapparent and easy misconfiguration to make.

It's my assumption that EIO 'seeing' the whitelist/stocking/template items is improper, but this may yet be an EIO problem instead.

Steps to reproduce:

  1. Place and power an EIO machine such as a SAG Mill or Alloy Smelter.
  2. Create a small RS system and place an RS exporter or interface on a side of the machine.
  3. Configure the EIO machine's side with the RS device to Pull.
  4. Add items to the Exporter's whitelist or configure the interface to stock items that the connected RS system can not supply.
  5. TickProfiler will show moderate TileEntity lag from the RS block.
  6. Clear the whitelist or stock settings so that the exporter or interface is 'clean', and the lag goes away.

Version (Make sure you are on the latest version before reporting):

  • Minecraft: 1.10.2
  • Forge: 12.18.3.2185-unversal
  • Refined Storage: 1.2.14
  • RebornStorage: 1.0.1.27

Does this issue occur on a server? Yes. Not yet tried in SSP.

commented

Is your enderio up to date? They fixed this. Cc @HenryLoenwind

commented

I haven't changed anything to our "pull" code since, um, I think forever.

Can you try to reproduce this in singleplayer and get a warmroast breakdown?

commented

I think these were recently updated.
EnderCore: 0.4.1.65-beta
EnderIO: 3.1.171

Pack update removed the profiler, gimmie a bit on that still.

commented

I'll reopen if you post the profiler report.

commented

I believe I'm seeing a similar issue, though I do not know if it's due to using Ender IO machines or just from Refined Storage being busy.

I've attached the sampler after starting a few large jobs (e.g. 640 Copper Coiled Blocks from Immersive Engineering, smelt 10,000 lead (Crafter outputs to chest with Ender IO conduits pulling from chest into Ender IO smelters), and a few other small crafting jobs. The server seems to tank in TPS (TPS 0.792 for the included sampler) whenever I craft large jobs (e.g. > 1,000 items), even if all they're doing is turning nine ingots into one block (so not even using external machines).

refined-storage.1035.nps.zip

Minecraft: 1.10.2
Forge Mod Loader: 1.10.2-12.18.3.2239
Refined Storage: 1.2.22
Ender Core: 1.10.2-0.4.1.65-beta
Ender IO: 1.10.2-3.1.156

Might be related to #902 or #838 , though as I mentioned this can occur when doing shallow depth crafting (e.g. 5,000 Iron Blocks, made from 9 Ingots, which may need to smelt 3,000 Iron Ingots via a Crafter to a Smeltery using Iron Grit/Powder, which I have in plenty).

commented

@sandalle The issue here is the Iron Chest being slow for insertion detection:

x

commented

so is this a concern with that chest mod?

commented

Thanks @raoulvdberge . :) I was conflating #838 of my large crafting orders (which cause lag) and some of my other crafting orders interacting with Iron Chests as a buffer (causing additional lag). I'll try replacing my Iron Chests with vanilla chests.

commented

Large crafting orders are indeed a problem, we are working on it. This is known as described in #838