The bug
Server-side water updates seem to be roughly 10x slower than in 1.12.
The comparison between 1.12 and 1.13 can be seen in this video by gnembon.
Test to exhibit this behavior:
Create a flat world.
Execute
/fill ~-100 ~ ~ ~100 ~ ~ water
Wait for the water to flow completely.
Execute
/fill ~-100 ~ ~ ~100 ~ ~ air
When the water is removed I recorded a peak at 81 mspt on 1.13 and a peak at (roughly) 8 mspt on 1.12.2.
This makes flushing mob farms unusable: on my survival world, I get peaks > 150 mspt.
The mspt measurment on 1.12 is a bit tricky as there is no way to measure it properly:
I used /forge tps
from Forge mod loader to measure it.
Slow down summary
ย | 1.12 | 1.13 | 18w33a | 1.13.1-pre2 | 1.15.1 | 20w27a |
---|---|---|---|---|---|---|
create water | 4 | 34 | 20 | 14 | 19 | 10 |
remove water | 8 | 81 | 24 | 18 | 31 | 16 |
Linked issues
is duplicated by 1
Attachments
Comments 11
In 18w33a water performance was improvedยน. Can you please test if this affects this issue?
It is much better in 18w33a, but it is still much slower than in 1.12: I recorded a tick time of 24 mspt, which is 3 times slower than 1.12.
As a side note, the performance hit now looks symetric (same slow down when putting water than when removing water).
That was not the case in 1.12, so it might be good to sum up the results in a table:
1.12 | 1.13 | 18w33a | |
---|---|---|---|
create water | 4 | 34 | 20 |
remove water | 8 | 81 | 24 |
So the water in 18w33a is still x3-x5 slower than in 1.12.
It is still in 1.13.1-pre2, but the performance keeps increasing. I just put the new times in the description.
Good job in tracking down the issue bit by bit: keep going ๐
Here's my 1.15.1 benchmark: https://youtu.be/Q7_VUTVYzo0
Not really sure whether it's comparable with the previous ones as I've got a less powerful CPU.
@violine1101 I just redid the test on my machine (the one used in the original post), and my timings are comparable to yours.
One thing to notice though, now that we have mspt chart, we can see that the maximum mspt is much higher than what we saw (more than 100 mspt), and the ~20mspt is an average over a handful of ticks.
On 20w27a, I got ~10 mspt on water creation and ~16 mspt on water removal.
I attached a screenshot where we can see the mspt graph.
The average mspt for a complete cycle is 11 mspt with a peak at 124 mspt.
I also attached a world save for 20w27a with a clock to facilitate testing.
Still a problem in 1.17.1 and 21w40a. It seems to be that in 1.18 experimental snapshots its worse than in 1.17.1
Can verify this affects MP servers as well, a player's flushing mob farm is causing massive lag spikes when ever it activates. Could also replicate the issue using the above method in SP.