Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove interior details of LOD chunks #745

Open
IntegratedQuantum opened this issue Oct 13, 2024 · 0 comments
Open

Remove interior details of LOD chunks #745

IntegratedQuantum opened this issue Oct 13, 2024 · 0 comments
Labels
engine enhancement a new feature or improvement optimization a performance problem that should be addressed or an optimization idea

Comments

@IntegratedQuantum
Copy link
Member

It has been observed that on first time connections to a server at higher render distances, a lot of data needs to be transmitted over the network. LOD chunks seem to contain a larger amount of noise and of that initial data they make up over 90% of the transmitted data.

Examples of this noise are biome borders (at lod5 cave biomes change roughly every 3-4 blocks which may result in a different stone type) and biome stripes (at low resolution biome stripes degrade into random number generators).

But LOD chunks are never edited on a single-block basis, therefore the interior data of solid blocks is irrelevant.
What matters are the surface blocks, and the blocks that could be a part of a chunk border to a higher resolution chunk.
In a completely solid chunk this means that 14³/16³ = 67% of the volume data is irrelevant and could be replaced with constant data.
If we further assume the next higher resolution chunk to be solid as well in these locations, we could even bump that up to 30³/32³ = 82%.
While these numbers are pretty high, it is uncertain how they will translate into the actual size after applying deflate to the output.

@IntegratedQuantum IntegratedQuantum added enhancement a new feature or improvement optimization a performance problem that should be addressed or an optimization idea engine labels Oct 13, 2024
@IntegratedQuantum IntegratedQuantum added this to the Short-Term Goals milestone Oct 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
engine enhancement a new feature or improvement optimization a performance problem that should be addressed or an optimization idea
Projects
None yet
Development

No branches or pull requests

1 participant