I have been working hard for the last few months on some changes to the way that the voxel chunks are loaded resulting in a reduction in the number that I need to have loaded. This was the result of changing from a cubic loading pattern to a diamond loading pattern that didn’t greatly reduce view distance but significantly reduce chunks required to be loaded.
As can be seen in the above 2D representation this is ~50% reduction but in 3D space this is a massive ~80% reduction! As an example in the old pattern a view distance of 7 chunks would require 3,375 chunks loaded in to memory. In the new system the same view distance loads 575 chunks!
Below is what this represents with the first image showing a can at a view distance of 6, the second is at view distance 11. Just under double the view distance but still less chunks loaded at 2044 compared with 2197. (Note: The fog was turned off to make the can visible.)
There still remains some strain on the CPU as the number of changes per chunk transition remains the same at each view distance but I am working on some additional optimisation to fix that as well, so keep an eye out for more to come!