The Bug
When being high above the world and looking downwards, the framerate drops significantly.
I discovered this while testing 1.17's new world height customization option. This does affect 1.16.4 as well though.
In my case, FPS drop from ~70 to ~30.
My guess is that despite the world being out of render distance vertically, the game still tries to render all the chunks below at once.
How To Reproduce
Be in creative mode and double tab space to start flying
/tp ~ 512 ~
Look down
Possibly relevant video settings
Biome Blend 5x5
Graphics: Fabulous
Render Distance: 16 chunks
Smooth Lighting: Maximum
Max Framerate: Unlimited
Use VSync: Off
Clouds: Off
Particles: All
Mipmap Levels: 4
Entity Shadows: On
Entity Distance: 100%
Specs
4x Intel(R) Core(TM) i5-4590 CPU @3.30GHz
AMD Radeon (TM) R9 380 Series
16 GB RAM (2GB allocated to Minecraft)
Linked issues
Attachments
Comments 10
There seems to be a switch from low to higher fps at a certain number of blocks vertically away from max y, at at 32 this is 2048 blocks.
Edit: oh the chunks unload
There are two performance issues in this bug.
When looking in the Y direction, we do not filter render chunks by view distance. The fix for MC-213779 addresses this issue.
When you are outside the world, the camera is detached. The code creates a render chunk for every chunk in your view distance (default 12, so 12 X 12 X 12 render chunks are created and sorted by distance).
Issue 2 is tricky to fix because not inserting a render chunk could result in no render chunks being found (the ground disappears) and the detached camera code has been unchanged for eight years.
This bug is a lower priority because the player being outside the world is not a common scenario.
Can confirm that this is an issue. My FPS went from 130 to 30 through using the provided reproduction steps.