NuclearCraft

NuclearCraft

31M Downloads

Lag through NuclearCraft Active Coolers

D3nnis3n opened this issue ยท 35 comments

commented

Hey,
you said you optimized that a bit - i don't know if it got much better, but after we had started to get massive lag spikes, i asked over at enderio if they could help and sent them reports from sampler.

That's a screen from the results - the coolers take 10% of the complete tickrate and seem to be at least also causing these spikes:

unknown

Any way to optimize them further? For a big reactor loads of coolers, at least when used water is needed.

commented

That did not help for that lag (TPS was down to 10 from 19) - and it made the reactor unusable, as it is too slow. Now i need to put an enderio cable to every cooler again - which lags the server even more - down to 5 tps. :(

E.g. in summary it makes much more lag.

I'm reverting back to the prior version.

commented

Maybe i should just configure the non-active watercoolers to give the same effect and restrict those for normal players. I don't know.

commented

Here is a sampler file - i do not know how to open them, unfortunatley.

sampler-snapshot_1.zip

commented

Btw: I got a 14x14x14 reactor.

commented

I also see them filling rather slowly - how about asking less frequently, but filling them more? Bigger Buffer? Dunno.

commented

Ok, I've given them a bigger buffer and slightly increased their update rate again. Whatever the case, I can't ever get the spread rate to be infinitely smooth, because it is limited by both the buffer size of each cooler and also the rate of the spreading.

Here is the new version.

Could I see a picture of your setup to see if it can be optimised in some way? And how many active coolers are you using?

commented

I'm sure it definatley can be optimized, but it was the most asthetic try with high output we made.
We use a lot of them, the complete cube edges and corners are full of them. Here you got a screenshot.

Well, i know to get it completley smooth it would need to be a complete other mod (e.g. the reactor itself takes the water in it and the amount of coolers only define how fast it drains and how good it cools, but that wouldn't work with multiple coolers placed like the mod is thought to be.)

Here is a screenie from the inside. It's pretty basic. Aim is primarily aesthetic, secondarily easy and third enough energy. It must be walkable.

I'll test the new version later on.

reactor

It's a cube of reactor casings, in that a cube of coolers, in that a cube of conduit layers with conduits on all edges, 2 free walkable blocks and a big reactor block.

commented

That's the one main reactor for steady power supply for the complete city, it needs to be easy.
There are three other blocks that will be filled with more complicated designs for other fuels. (If lag is fine ...)

calvert

commented

Yes. (12x12)*6 How big are your reactors?
See: A 5x5 Reactor in that big reactor containments would look ... well.
Also, that reactor does meet the needs of around 40 players.

We just switched from ExtremeReactors to NuclearReactors and used the same size.
(And do get LESS energy with the materials we have. As of a bug no thorium in the world atm ...)

commented

So you have about 1000 active water coolers? It's a little bit hard to see what's in the reactor from your picture.

commented

Well, I usually never use that many active coolers - I usually look for the most efficient passive design, then sometimes introduce active cooling where I can if I have the resources. The active cooling is bound to introduce at least some lag, as the reactor has to deal with the fluid, while the passive coolers just sit there, and 1000 of any machine is gonna hit your tps. Have you tried using infinite water sources instead of conduits?

commented

What do you mean with that? I need the conduits to spread the water in from a big tank we have. If i use lesser conduits the autospread is too slow. (I did not test the new version yet, the one before did not work anymore). The way tank to powerplant is only a chunk.

We got no infinite water sources on the server - it's a reallife themed server. Therefore in this nuclear power plant only water is allowed for active cooling g

commented

I also understand lagging while the reactor is running (which is at max 30 minutes a day) - but it keeps doing that while it's not active, btw.

commented

What I mean is to not use conduits at all, but instead use NC's infinite water sources connected directly to buffers.

I really do think the lag you're getting is completely due to the number of active coolers you have. They were never meant to be used in the way you're using them, i.e. in huge quantities. Why don't you use a different design with more passive cooling? It looks like most of your reactor is empty.

commented

NC has infinite water sources? Hope noone used them to glitch out our finite water sources. I'll see if that helps. (But would have something of cheating.)

Well, i tried around a lot, but a main goal is to have a design that somehow can be considered "real life" and that would only be the case with water coolers.

That's the problem when you make a specific modpack that promises a specific behaviour. I'll see how far i can reduce the usage of those coolers.

commented

Edited previous post as it was misunderstandable.

commented

Yes, there are three varieties - you may want to disable them or something in that case :P

Could you increase the cooling rate of passive water coolers? Then perhaps you can just have a few active coolers dotted around to make it still look realistic.

commented

Sure i could do that - but creating nuclear reactors is permitted for players - but only in other worlds (we use advanced rocketry and got several planets). On the main world the reactor needs to be real, easy and good energy - as it's the only energy source for everyone.

I can't change the values per world :D

Yeh, i'll remove their recipes - fatal oversight. But seems not in use.

commented

Hmm, if you built the other three reactors and used much less active cooling, you'd probably produce enough power and have far less lag.

commented

Well, the other three were planned to be used for other materials - which we not got in that amount as we got uranium. I'll see if i can find an near efficent design with passive water cooling instead of active cooling.

commented

Aren't you using passive redstone coolers already in your design?

commented

Yes, but their cooling is not really needed, it was more of a security net when sometimes some coolers do not get water fast enough and is rarely needed. I justified it with a hull around the cells g

commented

Haha, i can drive the same setup when filling the reactor with water coolers (not active) completley BUT still have 2060 heat. DAMN.

commented

So, i'll get those through active coolers and therefore justify the "filling" of the water coolers. That should be fine. And six or so coolers should not be too much.

Btw: The old reactor instead of 3 seconds can run 30 seconds without the water coolers being drained out. So my old setup will no longer work at all with the new version, still.

commented

I've made them update more slowly now so hopefully that should help. I'll get the new version out soon so you can see whether there's a meaningful difference :)

commented

Aaah... I think I know why there was more lag in the later versions I sent out - I've fixed it now. Will get that new version out soon.

commented

Yeh, it's still massiveley lagging. :D
I also got a new problem with heat calculation
#302

Sorry for the many questions :(

commented

Would you mind sharing the jar, as CurseForge seems slow again? Since the update TPS is down to 8 despite only 12 active coolers being left. :O

commented

Yep, uploading now :)

commented

I just wanted to tell you (after i found out how to snapshot and read them myself) that your spread mechanism is not that laggy. By reducing from around 900 active coolers to 12 the usage only dropped from 9 to 6%.

EnderIO, though, is taking 60%.

commented

Ah, well that's good to know. In that case, I think the massive lag you got when you updated to 2.10l was caused by the controller, as it was updating every tick, while in 2.10m that's been fixed and it now updates every 80 ticks.

commented

So in that case, could this issue be closed?

commented

Well, i somehow think that your code adaptions to active coolers were not worth it (not working active cooler system vs 3% less usage), but despite that: Yes!

Your spreading did make the situation better, as less enderio conduits were needed. So most probably we now would have more usage with the old reactor.

commented

Ok - well, good luck with your reactor(s)!