截图
介绍
保持 Android 开放 | 联系监管机构,阻止 Google 对 Android 的封锁
Fast Noise 是一个现代化的优化模组,旨在缩短世界生成时间。我会定期将该模组更新到最新的 Minecraft 版本,持续改进模组,并提供稳定版本。
这个模组会改变世界生成吗? 该模组保持原版一致性,包括与任何数据包的兼容性。不过请注意,原版存在非确定性。
我可以将自定义世界生成模组与它一起使用吗? 可以,我会尽力保持模组兼容性,并且只修改安全的代码。可能影响模组兼容性的特定优化默认处于禁用状态。
Fast Noise 是 Reverie Projects 的一部分,也欢迎看看我们的其他模组。
这个模组是如何工作的?
Fast Noise 会优化在世界生成期间将方块和生物群系数据存储到区块中的过程。
技术细节
Fast Noise 替换了 NoiseChunkGenerator 中的 populateNoise、populateBiomes,以及 SurfaceBuilder 中的 surfaceBuilder。
Fast Noise 通过对世界生成的工作方式做出多项重要假设来优化世界生成。通过用更快速、更紧凑的计算替换原版用于世界存储的通用调试代码,Fast Noise 实现了更高的处理吞吐量。
实现这些优化所使用的一些关键方法包括:减少内存分配、避免调色板扩容、延迟/打包方块计数、预先计算数据、
缓存方块状态信息等。
它有多快?
在最新版本的 1.21.11 中,主世界的整体世界生成速度提升约 10-18%。
下界和末地的提升幅度更高
这里有一个 Jmh 基准测试软件。
Chunky 基准测试
使用模组,12 个线程
[12:39:32] [Server thread/INFO]: [Chunky] Task finished for minecraft:overworld. Processed: 16641 chunks (100.00%), Total time: 0:01:37
不使用模组
[12:43:08] [Server thread/INFO]: [Chunky] Task finished for minecraft:overworld. Processed: 16641 chunks (100.00%), Total time: 0:01:47
使用模组,4 个线程
[12:56:23] [Server thread/INFO]: [Chunky] Task finished for minecraft:overworld. Processed: 9409 chunks (100.00%), Total time: 0:01:10
不使用模组
[13:01:11] [Server thread/INFO]: [Chunky] Task finished for minecraft:overworld. Processed: 9409 chunks (100.00%), Total time: 0:01:23
更高距离
无模组
[13:11:01] [Server thread/INFO]: [Chunky] Task finished for minecraft:overworld. Processed: 19881 chunks (100.00%), Total time: 0:02:43
有模组
[13:16:03] [Server thread/INFO]: [Chunky] Task finished for minecraft:overworld. Processed: 19881 chunks (100.00%), Total time: 0:02:21
Jmh 基准测试
Mods used: FastNoise 1.0.37+26.2 on 26.2
ChunkPos: -16,-16 -> 16,16
End ChunkPos: 112,112 -> 144,144
Chunks: 1089
Mods used: c2me-fabric-mc26.2-0.4.2-alpha.0.9.jar
Benchmark (worldName) Mode Cnt Score Error Units
BiomesBenchmark.biomegen overworld avgt 5 3058.005 ± 256.587 ms/op
BiomesBenchmark.biomegen nether avgt 5 188.188 ± 3.156 ms/op
BiomesBenchmark.biomegen end avgt 5 31.560 ± 4.200 ms/op
NoiseBenchmark.noisegen overworld avgt 5 12332.480 ± 364.223 ms/op
NoiseBenchmark.noisegen nether avgt 5 2447.385 ± 20.773 ms/op
NoiseBenchmark.noisegen end avgt 5 6420.598 ± 195.649 ms/op
SurfaceBenchmark.surface overworld avgt 5 14948.653 ± 333.900 ms/op
SurfaceBenchmark.surface nether avgt 5 9330.611 ± 243.701 ms/op
SurfaceBenchmark.surface end avgt 5 3485.872 ± 8.225 ms/op
Benchmark (worldName) Mode Cnt Score Error Units
BiomesBenchmark.biomegen overworld avgt 5 2980.699 ± 98.824 ms/op
BiomesBenchmark.biomegen nether avgt 5 177.827 ± 2.815 ms/op
BiomesBenchmark.biomegen end avgt 5 14.990 ± 0.575 ms/op
NoiseBenchmark.noisegen overworld avgt 5 9419.623 ± 317.746 ms/op
NoiseBenchmark.noisegen nether avgt 5 1253.599 ± 15.977 ms/op
NoiseBenchmark.noisegen end avgt 5 5424.879 ± 81.860 ms/op
SurfaceBenchmark.surface overworld avgt 5 10490.488 ± 901.258 ms/op
SurfaceBenchmark.surface nether avgt 5 3361.448 ± 53.809 ms/op
SurfaceBenchmark.surface end avgt 5 1.723 ± 0.289 ms/op
加速比:
| 阶段/维度 | 主世界 | 下界 | 末地 |
|—————–|———–|——–|———|
| 生物群系 | 1.025x | 1.058x | 2.105x |
| 噪声 | 1.309x | 1.952x | 1.183x |
| 表面 | 1.424x | 2.775x | 2023.14x|
旧版 Jmh 基准测试
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
Vanilla:
Benchmark (worldName) Mode Cnt Score Error Units
SurfaceBenchmark.surface overworld avgt 5 5982.828 ± 17.992 ms/op
SurfaceBenchmark.surface nether avgt 5 2677.115 ± 9.293 ms/op
SurfaceBenchmark.surface end avgt 5 924.604 ± 5.376 ms/op
With Mod:
Benchmark (worldName) Mode Cnt Score Error Units
SurfaceBenchmark.surface overworld avgt 5 4820.672 ± 24.669 ms/op
SurfaceBenchmark.surface nether avgt 5 1914.289 ± 644.099 ms/op
SurfaceBenchmark.surface end avgt 5 0.014 ± 0.003 ms/op
Speedup
Overworld: Biome: 1.026x Noise: 1.368x Surface: 1.241x
Nether: Biome: 1.063x Noise: 1.847x Surface: 1.398x
End: Biome: 2.21x Noise: 1.285x Surface: 66357x
基准测试可能存在一些误差。
社交平台
常见问题与帮助
常见问题
问:这个模组将支持哪些 Minecraft 版本?
答:我会尽量支持最新的 Minecraft 版本。
问:有计划进行反向移植吗?
答:没有反向移植计划,目前的反向移植只是一次性的。
问:还需要哪些其他模组/依赖?
答:不需要任何依赖。
问:会为 1.19.x 和 1.20.x 提供 Forge 反向移植版吗?
答:没有计划。
问:XYZ 模组崩溃,或者与 Fast Noise 一起使用时生成结果不正确怎么办?
答:请在 Codeberg 或我的社交平台上报告该问题。
不兼容的模组
Moonrise 不兼容,因为它会大幅修改 Minecraft 的内部机制。
Noisium 不兼容,因为 Fast Noise 旨在替代 Noisium。
Anti-Xray 目前不兼容,因为它需要在 Minecraft 的方块存储中写入额外数据,这会导致 Fast Noise 出现问题。
致谢
- 感谢 Stevenplays 开发 Noisium 模组。我是在尝试将 Noisium 移植到最新版本 Minecraft 时开始开发 Fast Noise 的。
- 感谢 Ishland 在模组开发、modern-yarn 和 neo-loom 方面提供帮助。
Reverie Projects
欢迎加入 Reverie Projects,获取开发过程中的抢先预览和最新动态!加入后,你可以:
- 为许多优秀项目获取安装帮助和技术支持
- 获取最新的开发进展
- 与我们的团队交流并开展合作
- 与社区中的其他成员一起交流休闲!
Reverie Projects 的其他作品
查看全部 →Modpack Update Checker
专为整合包设计的更新检查器!
Skyboxify
一个天空盒模组,让你可以在 Fabric 1.21+ 中使用 OptiFine 天空效果
ZConfig
A mixin config plugin for zfastnoise
Factory API
An API that supports different mod loaders and is the basis of mods like Factocrafty
评论
登录后评论和评分