Fission reactors cause stuttering and FPS drops

,

I’ve been experimenting with fission reactors in single player creative and noticed that a running reactor causes stuttering, the Chunk Updates counter from the Debug screen to increase, and FPS drops.

If the Reactor is within one Chunk, the negative effects are almost invisible and Chunk Updates increase from 0 to 20. The number of Reactor Cores does not affect Chunk Updates, but it may affect FPS a little. If a Reactor consisting of four Reactor Cores is positioned so that it takes up four Chunks, Chunk Updates increases from 0 to 80, stutters become quite severe and the FPS drop becomes significant. If four separate Reactor Cores are in four different Chunks, then Chunk Updates also increases from 0 to 80.

The problem only occurs when the Reactor Core is receiving cold coolant. That is, even a simple closed loop consisting of a Barrel, several pipes and a Reactor Core without Rods causes problems. At the same time, the release of excess cold coolant from the Reactor Core does not seem to cause problems. If you completely block the movement of cold coolant in the reactor, a running reactor has no visible effect on the Chunk Updates counter and FPS.

3 Likes

I cannot replicate your Issue, what exactly are you doing to make the Reactor update its outsides? Because that is what would need to happen in order for your symptoms to be the case. Are you somehow cycling Coolant between reactor blocks or so and one of them ends up empty, flickering the whole Setup?

Edit: I DID find something weird in the Fluid Tank Update Code, so it MIGHT be that.

Edit Again: I did find yet another Issue, but it might be fixed now.

5 Likes

Tested. It looks like the problem has been resolved. I no longer see severe stuttering or a noticeable increase in the Chunk Updates counter.

6 Likes

Nice, thanks for pointing this one out

4 Likes

I’ve found more issues that cause stuttering and the Chunk Updates counter to increase. Tests were made on the latest test release.

  1. An activated Reactor Core causes stuttering if it cannot release hot coolant. If you first let the reactor reach full power, and then shut off the hot coolant outlet pipe, Chunk Updates immediately reaches 20. If you first shut off the pipe and then turn on the reactor, Chunk Updates reaches 20 gradually, and not immediately. It seems that the growth of the Chunk Updates counter is connected with the neutron level or with the rate of conversion of cold coolant to hot coolant. The amount of hot coolant accumulated in the Reactor Core does not seem to matter. Chunk Updates reverts to 0 when the Reactor Core shuts down.

  2. If hot coolant accumulates in the Reactor Core (for example, if the Reactor Core produces more hot coolant than the Heat Exchangers can consume), Chunk Updates increases and can go up to 20 and stays at this level until the accumulated hot coolant in the Reactor Core runs out. It doesn’t matter if Reactor Core is on or off.

Heat Exchangers seems to have both of the above problems, although it only raises Chunk Updates to 10.

  1. The Heat Exchanger may increase Chunk Updates to 10 if the inlet pipe becomes empty during its operation. Chunk Updates returns to 0 when the Heat Exchanger itself runs out of accumulated hot coolant.

I will point out, in case it matters, that I did not put Boilers on Heat Exchangers during the tests.

4 Likes

I rechecked the issues I listed in my last post and found that these issues only reproduce when using the Fluid-O-Meter Sensor. Apparently, if the liquid level in the monitored tank is constantly changing, then the numbers on the Fluid-O-Meter Sensor display are also constantly changing and this causes stuttering. It seems I used the Fluid-O-Meter Sensor during the tests and did not try to run the tests without it.

2 Likes

Have you tried setting the update interval of the fluid meter with a screwdriver?

2 Likes

The fuck is Update Interval? That is not a thing.

1 Like

There’s the averaging interval? I suppose it checks every tick, but the screen updates at a different speed, and the redstone reaction too.

2 Likes

The Screen updates at either once per second (at the same time everything else does) or if the value changes quickly, it will change more rapidly too.

This does not influence the Redstone Stuff though, the updates are always once per tick, they just dont show up on the display which has a frame rate of one second per frame.

3 Likes

So would you say that this is a matter of the fluid-o-meter sensor lagging the game by constantly checking and printing updates? Have you tried with anything else, like a quickly draining and refilling boiler or tank for example?

3 Likes

Remember the display for all those sensors is NOT UPDATING whenever you have it set to a redstone mode. It is only ever updating in the display mode.

2 Likes

I tried increasing the averaging period, but that didn’t seem to help. But the replacement of Fluid-O-Meter with Bucket-O-Meter helped. The Bucket-O-Meter does not track every liter of liquid and therefore changes the displayed value much less frequently.

I’m pretty sure that all the problems other than the one I pointed out in the first post were caused by the constant updating of the Fluid-O-Meter display. I set up two barrels, put a Fluid-O-Meter on them, filled one of them and connected them so that the liquid constantly flows from one to the other and this causes Chunk updates and stutters. Although the strength of stuttering can vary. If there is nothing else near this building, then stuttering is almost not noticeable. But when I put this building in the chunk that contains the reactor and a lot of other things, the stuttering becomes terrible. Stuttering and Chunk updates do not occur if the Fluid-O-Meter is not in display mode. If I understand correctly, the world is divided into cubes of size 16x16x16, and if something changes in the cube, Minecraft redraws this cube entirely. And the strength of stuttering during redrawing seems to depend on the number of objects in the cube, and possibly on the shape of these objects. Therefore, I think that if there is an object in the cube that regularly calls Chunk updates, such as a critical reactor, then it is worth reducing the number of objects in this cube to a minimum.

There is a way that partially eliminates stuttering caused by Chunk updates. To do this, you need to install ArchaicFix and enable occlusion culling in archaicfix.cfg. In this case, the stuttering disappears if you don’t see the object that calls Chunk updates (this is a simplified description, the culling algorithm is more complicated and I don’t fully understand it). This can be useful in the case of a critical reactor, as it calls Chunk updates regularly.

But there seems to be a compatibility issue between GT6 and ArchaicFix. When I fly over the reactor or rotate the camera quickly while near the reactor, I see stuttering even when the reactor is turned off. Stuttering is reduced by turning off the Phosphor lighting engine in archaicfix.cfg.

3 Likes

Dumb question, why do you use the Display of the Sensor at all?`Dont you need to connect the thing to redstone for making sure the Setup is safe?

1 Like

I just experimented with reactors and used sensors to visually monitor their behavior.

3 Likes