feather icon indicating copy to clipboard operation
feather copied to clipboard

Bad client performance

Open koskja opened this issue 4 years ago • 7 comments

Description

The minecraft client experiences awful fps drops when loading new chunks. This is especially noticeable when spawning for the first time and when loading large amounts of blocks. This doesn't happen on vanilla servers.

Reproduction Steps

  1. Start the server
  2. Connect from a standard client
  3. Cross chunk borders
  4. Experience lag

Your Environment

  • Operating System: Windows 10

Additional Context

The server doesn't seem to be struggling at all and this bug persists even when the server is configured to only send 1 chunk per tick. To experience this effect to the maximum extent, go to x: -800 z: -1000 on the default seed. Notice the multiple fps drops on the second image. normal crossing_borders

koskja avatar Aug 20 '21 13:08 koskja

This is most likely do to java being too slow at processing the incoming chunks. In other words, feather is too fast which results in a "dos" like attack on the client. We should add in some rate limiting for chunks or packets in general.

Defman avatar Aug 20 '21 17:08 Defman

I think this is related to the lighting engine. I had similar issues, but they went away when I installed the phosphor mod. As I understand it, the server currently sends light level 15 for every subchunk that has blocks in it, while the chunks without any blocks have light level 0. Maybe this causes some expensive calculations on the client. In that case, I would expect that they go away once the lighting is implemented properly.

TypicalDarkness avatar Aug 21 '21 15:08 TypicalDarkness

image I think this confirms your theory,

koskja avatar Aug 22 '21 14:08 koskja

So basically, the slow lighting engine doesn't usually blow up only because the Vanilla server is slow, too? Sounds about right for 1.14+

itsTyrion avatar Sep 02 '21 23:09 itsTyrion

So basically, the slow lighting engine doesn't usually blow up only because the Vanilla server is slow, too? Sounds about right for 1.14+

Actually, the problem is that the client recalculates light for whatever reason when it receives invalid light data. When you generate a vanilla world and load it through feather, no client lag occurs.

koskja avatar Sep 03 '21 10:09 koskja

I found a way that my whole client lags when ingame if you have smooth fps enabled (under performance in optifine idk about sodium)

devashish2024 avatar Nov 15 '23 14:11 devashish2024

Smooth fps gave me 0fps for long time I struggled then I tried disable it so it worked. It even somehow 0fps at the menus when ingame, such as video settings.

devashish2024 avatar Nov 15 '23 14:11 devashish2024