Concurrent Chunk Management Engine (Fabric)

Concurrent Chunk Management Engine (Fabric)

231k Downloads

Vanilla world generation/chunkloading seems faster than C2ME

koffiato opened this issue ยท 3 comments

commented

Recently I've had some issues with C2ME (chunks loading very late, chunks right next to the fog border usually doesn't load) so I've decided to run a small benchmark(s) to test out how much of a difference it makes to run C2ME versus vanilla.

For the first benchmark, I've set the seed to "C2ME" and set the game mode to creative along with the render distance set to 8. To stress out the world generator, I just started sprint flying straight.

  • Vanilla had no issues with keeping up with me, even reaching fog border in the ocean, There were some stutters here and there but that was it.

  • C2ME on the other hand, failed to keep up with me, chunks were generated right in front of and under me, instead of catching the world border. There were no stutters in this test.

For the second benchmark. I stopped flying 5 minutes in, turned around and started flying back, to stress out chunkloading.

  • Again, vanilla had no issues with this. Chunks were loaded on the edge of the fog, I couldn't even see the chunk outlines apart from few occasions. No stutters at all.

  • C2ME on the other hand, failed to keep up and I could see just about one chunk of blank space right in front of the fog. C2ME also didn't have any stutters fortunately.

For the third benchmark, I installed Chunky pre-generator. Then I've set the world parameters with the view distance of 2 this time. Then I loaded into the world, waited a second to let the game load the spawn chunk, then I typed "/chunky start" to the console, activating Chunky with the default settings.

  • Vanilla took 48.43 seconds (average) to complete the task in three runs.

  • C2ME took 52.75 seconds. Again, average of three runs on the same seed and method.

I also tried toggling the world generation optimizations within the config but unfortunately those actually hurt the performance heavily, to a point where the spawn chunk was barely loading. I've also tried the latest builds yet didn't find a huge difference.

For system information:
CPU: AMD Ryzen 5 3600 @ 4.4 GHz
GPU: AMD Radeon RX 6700 XT
RAM: 16GB DDR4 @ 3400MHz
OS: Windows 11
Java: Java 21 EA
Minecraft: 1.20.2
C2ME: 0.2.0+alpha.10.126

commented

Please provide a crash report by long-pressing F3+C in singleplayer and the generated config from C2ME.

Also the official chunky doesn't take full advantage of the parallelism, consider re-running with this version with jvm flag -Dchunky.maxWorkingCount=256.

commented

Try disabling threaded worldgen feature, as far as I've tested, in 1.19.2, disabling this feature makes chunk gen faster, but harms tps.

commented
image

Tested for it on m1 pro. Peak results of chunks per second generation with chunky fork for protochunks, multithreaded generation, 8 threads on globalExecutorParallelism and -Dchunky.maxWorkingCount=256

I think that's pretty good.