Create

Create

86M Downloads

BasinTileEntity.setRemoved() being constantly called, destroying tps

Corosauce opened this issue ยท 4 comments

commented

image

MC 1.17.1
Forge 37.1.0
create-mc1.17.1_v0.4+14

When 2 or more players are near a certain area, tps plumments, mean tick time goes from 23ms to 50ms, from players movements theres a stallout every half second, profiling with spark reveals vanilla code is constantly removing a BasinTileEntity somewhere, but I dont think its successfully doing it as it is constantly trying.

Issue visible when 2 players are in the problem area, profiled for 10 seconds:

When the 2 players are far away, profiled for 10 seconds:

I mention 2 players because for whatever reason, just one of us being in the area doesn't seem to make the issue bad enough, might get worse with more players, unable to test that at the moment.

1 Player confirms beside our base they had used a Basin for testing something, and then removed it, the removal seems to be failing.

Update: restarting the server has resolved the issue, will update if this is reliably reproducible by placing and breaking basins.

Update 2: it came back without anyone placing down more basins as best I can tell.

commented

Same problem here. I am running a dedictated Server with Forge 1.18.1 - 39.0.5 and Create 1.18.1_v0.4. We played the first day fine without any problems, but as soon as some Players of us got into making Brass and using the Mixer + Basin + Blaze Heater, the lag got really really unplayable. I installed Spark as the User above me and i got the exact same Issue.

Contrary to the post above, only one player needs to be in a 3-Chunk radius to let this condition arise.
When he gets out of the radius of the Basin, no lag occures, however when he gets in the radius (from east espacially) the lag spikes occure continuously.

I attached two screenshots to visualize the said condition.
( Basin is to the right of the User )
s1
s2

In my Spark report you can see the exact same behaviour as above, in my 193000ms test run, BasinTileEntity#setRemoved
consumed 123300ms, completely devouring our TPS. I also attach some report files so you guys can investigate.

Test 1
Test 2

commented

I seem to be having the same issue on my server ran on my PC running create-mc1.18.1_v0.4a.jar with flywheel-forge-1.18-0.4.2-rc on 1.18, forge 38.0.17. After we started making create buildings the FPS plummeted and destroying things we thought were laggy hasn't changed much. Now our world is kind of unplayable because it's 20-30fps anywhere near our base. For me it doesn't seem to matter if 1 or 4 people are in the server.

Downgrading to create 1.18 v0.4 and flywheel-forge-1.18-0.4.1 changes nothing.

I am also getting lighting bugs shown in the pictures below that affect mob spawning. You can fix them by breaking the torches and placing them back. Rejoining the server brings it right back.

I tried using Optifine, no change. I tried using magnesium, no change. Lowering settings such as graphics, smooth lighting and render distance doesn't affect it at all.

2021-12-21_12 26 29
2021-12-21_12 26 25

This was standing still:

2021-12-21_12 43 50

Sometimes it can get really bad when walking around like below

2021-12-21_12 56 06

commented

I've pushed a temporary fix for this that will be available in the next patch, and once Forge updates the setRemoved() method on their end we should switch to using that for a permanent fix.

commented

Has the permanent fix been implemented yet? (I understand this is closed)