One big thing for the last weeks was always the initial loading time, which in detail means the time it takes until the player can moves around safely without falling from the world or dying.
There for I tackled the problem and after a few hours of diving into the Profiler I did not found an easy solution for speeding up chunk generation.
I tried several things and found out that I can just save a lot of memory per chunk, which is also nice, but not what I wanted.
The only thing I changed was the order in which the chunks are getting generated. Before it started at the chunk with the greatest distance to the chunk under the player. After the refactoring the chunks near to the player will be added first.
For the nerds:
Generating one chunk takes 12 ms and adding it to the scene another 4 ms. So in total it takes 16 ms in average to add one chunk. Render distance is 32 chunks in each direction so we are having a grid with 32*32 chunks which sums up to
32*32*16ms = 16384 ms or 16,4 secs. As the player is in the middle of the grid the player was able to start walking after ~8.5 secs. With the new order of chunk generation the player can now start moving after ~1 sec.