Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
This mod adds multiple micro-optimizations to world generation.
Message me on mastodon: https://mastodon.social/@ZenXArch
Optimizations
What optimizations are applied for noise gen
- [X] Faster resizing of palettedContainer during noise gen
- [X] Faster block state updating during noise gen
- [ ] Faster heightmap calculation
- [ ] Faster block counting Couldn't optimize, and mod (lithium) incompat
Is it different from noisium
Yes, noisium only directly accessed palettedContainer and some other micro-optimizations. This mods adds further optimizations.
Vanilla Parity
Yes, the mod maintains complete vanilla parity.
How fast is it.
Mostly micro-optimizations. Not too fast. Here is a Comparison.
Mods used: Fast Noise 1.0.6+1.21.11
ChunkPos: -16,-16 -> 16,16
End ChunkPos: 112,112 -> 144,144
Chunks: 1089
Optimized:
Benchmark (worldName) Mode Cnt Score Error Units
BiomesBenchmark.biomegen end avgt 5 22.281 ± 0.062 ms/op
BiomesBenchmark.biomegen nether avgt 5 214.320 ± 0.280 ms/op
BiomesBenchmark.biomegen overworld avgt 5 4688.326 ± 14.383 ms/op
NoiseBenchmark.noisegen end avgt 5 3611.556 ± 6.517 ms/op
NoiseBenchmark.noisegen nether avgt 5 1276.523 ± 2.584 ms/op
NoiseBenchmark.noisegen overworld avgt 5 11949.279 ± 66.914 ms/op
Vanilla:
Benchmark (worldName) Mode Cnt Score Error Units
BiomesBenchmark.biomegen end avgt 5 27.645 ± 0.052 ms/op
BiomesBenchmark.biomegen nether avgt 5 232.020 ± 0.324 ms/op
BiomesBenchmark.biomegen overworld avgt 5 4711.916 ± 37.429 ms/op
NoiseBenchmark.noisegen end avgt 5 4340.792 ± 4.311 ms/op
NoiseBenchmark.noisegen nether avgt 5 2001.412 ± 15.960 ms/op
NoiseBenchmark.noisegen overworld avgt 5 13992.189 ± 57.262 ms/op
Speedup
Overworld: Biome: 1.005x Noise: 1.17x
Nether: Biome: 1.082x Noise: 1.567x
End: Biome: 1.24x Noise: 1.201x
Mods used: Fast Noise 1.0.15+26.1 on 26.1 snapshot-6
ChunkPos: -16,-16 -> 16,16
End ChunkPos: 112,112 -> 144,144
Chunks: 1089
Mods used: (c2me)
With mod:
Benchmark (worldName) Mode Cnt Score Error Units
BiomesBenchmark.biomegen end avgt 5 11.786 ± 0.168 ms/op
BiomesBenchmark.biomegen nether avgt 5 174.833 ± 1.166 ms/op
BiomesBenchmark.biomegen overworld avgt 5 2401.797 ± 31.629 ms/op
NoiseBenchmark.noisegen end avgt 5 3052.242 ± 12.358 ms/op
NoiseBenchmark.noisegen nether avgt 5 1039.086 ± 6.467 ms/op
NoiseBenchmark.noisegen overworld avgt 5 8441.811 ± 41.396 ms/op
With only c2me:
Benchmark (worldName) Mode Cnt Score Error Units
BiomesBenchmark.biomegen end avgt 5 26.058 ± 0.245 ms/op
BiomesBenchmark.biomegen nether avgt 5 185.957 ± 2.203 ms/op
BiomesBenchmark.biomegen overworld avgt 5 2464.937 ± 29.007 ms/op
NoiseBenchmark.noisegen end avgt 5 3925.059 ± 14.292 ms/op
NoiseBenchmark.noisegen nether avgt 5 1920.705 ± 9.864 ms/op
NoiseBenchmark.noisegen overworld avgt 5 11552.674 ± 54.112 ms/op
Vanilla:
Benchmark (worldName) Mode Cnt Score Error Units
BiomesBenchmark.biomegen end avgt 5 27.051 ± 0.118 ms/op
BiomesBenchmark.biomegen nether avgt 5 239.634 ± 1.702 ms/op
BiomesBenchmark.biomegen overworld avgt 5 4589.322 ± 80.331 ms/op
NoiseBenchmark.noisegen end avgt 5 4477.113 ± 36.133 ms/op
NoiseBenchmark.noisegen nether avgt 5 1951.438 ± 5.748 ms/op
NoiseBenchmark.noisegen overworld avgt 5 14249.612 ± 57.388 ms/op
Speedup
Overworld: Biome: 1.026x Noise: 1.368x
Nether: Biome: 1.063x Noise: 1.847x
End: Biome: 2.21x Noise: 1.285x
Its hard to benchmark this, just hardware issues cause 50% slower or faster worldgen for me randomly.
I also can't configure threading,forking for jmh.
The benchmarks may have some inaccuracies.
Mod support
It should not conflict with other mods. As long as they don't mixin into populateNoise,populateBiomes function in minecraft. And don't change how minecraft internal block/biome storage works.
Moonrise is incompatible


