is
blocks are stored in a single superchunk, cache lines consist of block poles (y direction).
should
blocks in the superchunk are ... chunked per chunk. cache lines are chunks. multiple rays will come through the same chunks.
blocks array index calculation gets trickier but maybe cached accesses will increase a lot.
loading/saving would also get a lot easier.
idea to benchmark too: the first block per chunk is 0xff if the whole chunk is empty. this prevents a lot of air polluting the cache and speeds up saving.
is
blocks are stored in a single superchunk, cache lines consist of block poles (y direction).
should
blocks in the superchunk are ... chunked per chunk. cache lines are chunks. multiple rays will come through the same chunks.
blocks array index calculation gets trickier but maybe cached accesses will increase a lot.
loading/saving would also get a lot easier.
idea to benchmark too: the first block per chunk is 0xff if the whole chunk is empty. this prevents a lot of air polluting the cache and speeds up saving.