Laggy interaction with EIO machines when RS cannot supply item.
RaeveNoir opened this issue ยท 10 comments
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:
- Place and power an EIO machine such as a SAG Mill or Alloy Smelter.
- Create a small RS system and place an RS exporter or interface on a side of the machine.
- Configure the EIO machine's side with the RS device to Pull.
- Add items to the Exporter's whitelist or configure the interface to stock items that the connected RS system can not supply.
- TickProfiler will show moderate TileEntity lag from the RS block.
- 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.
Is your enderio up to date? They fixed this. Cc @HenryLoenwind
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?
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.
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).
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).
@sandalle The issue here is the Iron Chest being slow for insertion detection:
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.
Large crafting orders are indeed a problem, we are working on it. This is known as described in #838