Ender IO Zoo

Ender IO Zoo

962k Downloads

Enderio performance issue with Extreme reactors(big reactors) 1.10.2 Server.

ProsperCraft opened this issue ยท 22 comments

commented

https://github.com/ZeroNoRyouki/BigReactors/issues/20

See this issue for performance reports.

Hardware is not the issue- specs-
CPU INTEL|CORE I7 4790K 4.0G 8M R
SSD 500G | SAMSUNG MZ-N5E500BW RTL
32 gigs of ram

What happens:

Massive drop in TPS, warmroast and timings report point to enderio conduits, big reactors(zero core)

What you expected to happen:

not make the server unplayable.

Steps to reproduce:

  1. Make big reactors all over your server, turn them on, attach energy conduits to them that go to base machines...

We have not been able to narrow down the problem, becuase we can be running at 20 TPS then it suddently drops to below playable. I had a 5 tps drop from 20 to 15 and breaking the energy conduits brought it back to 20.

We are doing more testing.


Affected Versions (Do not use "latest"):

  • EnderIO: EnderIO-1.10.2-3.0.1.107_beta
  • EnderCore: EnderCore-1.10.2-0.4.1.55-beta
  • Minecraft: 1.10.2
  • Forge: 2092
commented

From the report it looks like the conduit network is destroyed and recreated very often (e.g. each tick). This will happen every time a conduit or a connection is add or removed. Is there some block attached that changes its mind about wanting to connect to conduits all the time?

commented

Oops, nearly missed it. You are using the last Ender IO version that was built on RF.

commented
commented

Without a further breakdown that doesn't say anything. It could be 0.01% in the conduit network and 99.99% in the receiveEnergy() of a RF Tools Autocrafter (random! example).

commented

When we drop to .2 tps I will start smashing machines, and see if I can pinpoint the consumer that keeps reconnecting. I did notice that when we were having the issue the conduits seem to have disconnected themselves from the extreme reactor ports.

commented

That sounds promising. You can try to indirectly connect the conduits with a capacitor bank.

Also, that ConduitNetworkTickHandler_onServerTick is for all conduit networks, I wouldn't rule out item or liquid conduits completely.

commented

I don't know code but would be it possible to time between allowed to form new network- 15 seconds?
To avoid something like this happening?

commented

Ok, then that reactor port is doing something funny.

commented

It appears that the problem is completely resolved by putting a capacitor against the extreme reactor power port because it can't disengage with it, then attaching the conduits to that, good call! The server is now playable again, thank you.

commented

Just calling receiveEnergy() on your IEnergyReceiver when there is power to give out

commented

Does this still happen with a current Ender IO build? Otherwise I'd close this as "yesterday's news"... ;)

commented

Thingsd are still funy with ender Io and Extrem reactors, Fluid conduits can't take steam out of the re4actor, or put water in, and capacitator banks conected to big reactors switch ouput to 0 and input to zero if not manual reseted they stay that way, the same with conecting Rf tool machines or machines from deep resonance.

commented

rf tools machine / deep res machines connect how? Directly on the reactor power tap or to an ender io conduit connected to the power tap?

The steam thing is really strange. I've used ender io fluid conduit last week to check a GUI issue with water/steam and they pumped water in and steam out without problems (link)

Which version of Allthemods are you using exactly? I'll check that again tonight

commented

Sound really weird. For fluids we now do both Capabilities and Legacy, for energy we do only RF for builds up to 107 and RF+Tesla+Forge for builds 108 and later.

Also, CapBanks have no code to set their max IO based on anything but their size and the value entered in the GUI.

commented

For fluids I only support capabilities on my side

The only thing I could think of at the moment is that I cache the IFluidHandler / IEnergyReceiver instance and not retrieve it every tick, but even if that's a problem the worst think it could happen is me talking to a discarded conduit, not breaking your conduit network every other tick

commented

Shouldn't be a problem for fluids, we cache our capability handlers, too. They are only a access control layer anyway (checking side config, then relaying to the actual persistent tank object). For energy in 107 the object is the TE itself, so even less problematic.

We do not cache foreign fluid caps, so fluid connections could "flicker", but that's not what's reported here for fluid, but for energy. 107 does cache the foreign TE for RF, but it does re-check if it wants to connect on each use.

commented

Playing on our Modpack Dionysos for Mod list of things that could alternate the things: https://minecraft.curseforge.com/projects/dionysos

But my curent system for producing power is with Extrem reactors, Ender Io and Extra Utilitys + Rf tools
The powerbank problem was now seen without direct contact to a mashine, just by adding new capacitor banks to the energy storage input and ouput droped to 0.
(Stayed the same after relog to the server and restart the server, so i think it is not a display bug or a sinc isue)

I retried every conduit for liquids with reloging and restarting of the server and the Reactor is not get water in or steam out via conduit conections!

Energy conduits on Powertabs from Extrem reactors turbines are visualy disconecting after server restart, a block update shows that they are conected and they are puling power out even if they are not visualy conected.

I cheked all other machines and the disconection is not taking place on other machines like them from
Rf- tools.

Mod versions of things i think that could be relevant in the modpack at the moment:
Ender io 3.0.1.112_beta
Ender Core 0.4.1.55_beta
extrem reactors 0.4.5.15
Extra U alpha 1.0.1
Tesla 1.2.1.49
rf-tools 5.24

Can i give you guys any more usefull informations

And i am sorry for my bad english, it's not my nativ language!

commented

@HenryLoenwind: Sorry, I was referring to foreign IFluidHandler / IEnergyReceiver instances while talking about caching. My own interfaces/capab are just wrappers of the actual storage object too

@Medusalem : I'll check that pack tonight

commented

@Medusalem CapBanks not saving their max IO values should have been fixed in build 104, but it may be that it only was fixed for setting the value from the GUI, not for the auto-setting that happens on multi-block changes. I'll check that tonight.

commented

Did a quick test with the fluid conduits. They are working fine in both directions

2016-09-27_17 56 35

Turbines and power bank looks good too:

2016-09-27_18 08 28

2016-09-27_18 19 50

commented

The multiple reactors / conduits test is more interesting

I've build 2 rows of 3x3x3 reactors and powered them up, TPS at 20 t/s (~50ms)

2016-09-27_19 05 09

Then I've linked each row to the power bank with ender energy conduits. TPS went down to 15 t/s / 66 ms

2016-09-27_18 51 32

Then I've put a vibrant capacitor bank on each power taps and configured the conduits to extract energy from each capacitor and the TPS got back to 20 t/s (48 ms)

2016-09-27_18 57 52

commented

I've tested it again after adding support to Extreme Reactors for the Forge energy API using build 112 of Ender IO. The numbers dropped quite a bit:

2016-09-30_18 39 59

Speaking from my side of the fence, I'm not doing anything that much different than what I was doing with RF before.