The bug
When moving far away from spawn area, chunks near the edge of player view distance don't get sent to the client. This makes the effective render distance artificially smaller. And this applies even if the chunks near the edge of view distance are all already generated (unlike in 1.12.x, where it would only be an issue in newly generated areas).
By looking at MultiplayerChunkCache
value, it seems like the client has 1 extra chunk radius of cache, so render distance 10 has space for 529 instead of 441 chunks. After a bit of moving around, the amount of loaded chunks drops to 340 and even below 300 after world reload. The visible effects of this can be seen on attached screenshots. For comparison, also added screenshot after changing render distance to higher value, and then back to 10.
Related issues
relates to
Attachments
Comments


I just realized that it may be a duplicate, as I didn't search for similar issues in 1.14.x yet. I first noticed it in 19w34a and only searched for issues in that version, and confirmed it for 1.14.4 while writing this issue report.
Does MC-149714 describe your issue?

No, the linked issue is a completely different scenario, that myself I thought it's actually working as intended, and the behavior hasn't changed... ever since multiplayer support was added to MC. Server doesn't send chunks outside of server view distance (obvious) and as a consequence of server controlling unloading chunks on the client, it also unloads chunks that may otherwise be in client view distance. Obvious consequence of the way the game works.
This issue is about the chunks within view distance not being sent within correct view distance on singleplayer (and in some way also on server), when client and server have the same view distance set.
The main issue is that chunks appear to be sent to client only within "(server?) view distance - 2" chunks, but chunk unloading happens only on "(client?) view distance + 1". This looks like the server is only sending chunks when it's in a state where entities can be updated, which requires 32 blocks distance to be loaded in each direction. So when moving around even in already generated areas, the player will never be able to see the full render distance.
Yes, I also thought MC-149714 is intended. But based on the description of this ticket, I thought you were talking about that. Thanks for the extensive explanation. I at least haven't seen another ticket about that so far.

It's probably going to be the easiest to see the effects on render distance 3. Normally, when all chunks are loaded and rendered on the client, the farthest parts of the terrain should be deep within fog.
To reproduce it:
Create a new world, set render distance to 3 (works with any render distance but easiest to see with 3), go far (a few hundred blocks) away from spawn area. As you walk around, you will see the new chunks being loaded, and the edge of loaded terrain will be clearly visible, not in fog. Sometimes getting almost as close as 1 chunk away.
To see the correct behavior, set view distance to 7, unpause, wait a while, and set it back to 3, without moving. The edge of loaded terrain will be hidden in fog, noticeably farther away.
Yep, can confirm. This is especially apparent when running around with render distance 3: new chunks appear instantly instead of just arriving naturally through the fog.

Can confirm in 1.17.1.

Can this still be reproduced in 1.18.2?
This issue is far less noticable since 1.18.1 Pre-Release 1 with the changes made to world fog (cylindrical instead of spherical, and starts further from the player).
Past 1.18.1 Pre-1, there is much less distance between the fog blending and the unloaded chunks, so terrain does not "pop in" as much, and loading appears much smoother. My reasoning for not outright saying this is fixed, is because on occasion when the game needs to catch up loading chunks, boundries can be seen around the fog.
Here is an up to date video of me reproducing this:
[media]