Skip to content

Conversation

@IntegratedQuantum
Copy link
Member

This mainly involves a vectorization efforts, using a @vector(8, u16) for all internal calculations.

I had some trouble with mesh.lightingData[1].getValue(x, y, z) ++ mesh.lightingData[0].getValue(x, y, z); where the compiler wanted to generated an individual instruction for each insertion, but I managed to find a way for it to produce the right assembly.

Overall this gave a ~33% reduction in block placement lag spikes and a ~10% reduction in mesh generation times (at render distance 24):
reduction1
reduction2

Despite all this, the main bottleneck remains the light fetching/interpolation and clearly more effort is going to be needed to optimize this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant