Hello again.
I had recently finished adding multi threading, in the test build 8. The system works by scanning the amount of cores that your cpu have, and assign a thread to each. The multi threading is manly used to generate chunk data;Terrain generation, and calculating mesh data. Later i run it on my main thread, with a queue system.
As for now ill got 25-30 fps with 64 render distance with my old 8th gen Cpu. It still isn't perfect but it works.
When it comes to the chunks. Its cubic system. I sat a fixed world size for now at 10 y and 200 x,z. But in theory you could go infinitely in all direction. And yeah the share amount of chunks can be sometime overwhelming. Reaching in hundreds of thousands! But later i plan to limit the y direction generation to the terrain generation height, and make so when a player moves over it, it generates a chunk. So y size = worldSize.y + player position over world size.y. This way i could save a lot of performance by not having to generate thousands of empty chunks.
What system do you use? I saw in your C++ project that you mentioned the view distance in kilometers of blocks. How do you achieve it, especially when a player moves.
Cheers!