
Fast Noise
这会优化噪声生成。
查看大图Keep Android Open | Contact Regulators to stop Google's lockdown of Android
Fast Noise 是一个现代化的优化模组,旨在提升世界生成速度。我会定期将模组更新至最新的 Minecraft 版本,为其带来改进,并提供稳定的版本发布。
这个模组会改变世界生成吗? 该模组保持原版一致性,包括与任何数据包的一致性。但请留意原版非确定性。
我可以将自定义世界生成模组与此模组一起使用吗? 可以,我会尽力保持模组兼容性,并且仅修改安全的代码。可能会影响模组兼容性的特定优化在默认情况下是禁用的。
FastNoise 是 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 基准测试
使用的模组: FastNoise 1.0.37+26.2 on 26.2
ChunkPos: -16,-16 -> 16,16
End ChunkPos: 112,112 -> 144,144
区块数: 1089
使用的模组: c2me-fabric-mc26.2-0.4.2-alpha.0.9.jar
基准测试 (世界名称) 模式 次数 得分 误差 单位
BiomesBenchmark.biomegen 主世界 avgt 5 3058.005 ± 256.587 ms/op
BiomesBenchmark.biomegen 地狱 avgt 5 188.188 ± 3.156 ms/op
BiomesBenchmark.biomegen 末地 avgt 5 31.560 ± 4.200 ms/op
NoiseBenchmark.noisegen 主世界 avgt 5 12332.480 ± 364.223 ms/op
NoiseBenchmark.noisegen 地狱 avgt 5 2447.385 ± 20.773 ms/op
NoiseBenchmark.noisegen 末地 avgt 5 6420.598 ± 195.649 ms/op
SurfaceBenchmark.surface 主世界 avgt 5 14948.653 ± 333.900 ms/op
SurfaceBenchmark.surface 地狱 avgt 5 9330.611 ± 243.701 ms/op
SurfaceBenchmark.surface 末地 avgt 5 3485.872 ± 8.225 ms/op
基准测试 (世界名称) 模式 次数 得分 误差 单位
BiomesBenchmark.biomegen 主世界 avgt 5 2980.699 ± 98.824 ms/op
BiomesBenchmark.biomegen 地狱 avgt 5 177.827 ± 2.815 ms/op
BiomesBenchmark.biomegen 末地 avgt 5 14.990 ± 0.575 ms/op
NoiseBenchmark.noisegen 主世界 avgt 5 9419.623 ± 317.746 ms/op
NoiseBenchmark.noisegen 地狱 avgt 5 1253.599 ± 15.977 ms/op
NoiseBenchmark.noisegen 末地 avgt 5 5424.879 ± 81.860 ms/op
SurfaceBenchmark.surface 主世界 avgt 5 10490.488 ± 901.258 ms/op
SurfaceBenchmark.surface 地狱 avgt 5 3361.448 ± 53.809 ms/op
SurfaceBenchmark.surface 末地 avgt 5 1.723 ± 0.289 ms/op
加速倍率:
| 阶段/维度 | 主世界 | 地狱 | 末地 |
|---|---|---|---|
| 生物群系 | 1.025倍 | 1.058倍 | 2.105倍 |
| 噪声 | 1.309倍 | 1.952倍 | 1.183倍 |
| 地表 | 1.424倍 | 2.775倍 | 2023.14倍 |
旧版 Jmh 基准测试
使用的模组: Fast Noise 1.0.15+26.1 on 26.1 snapshot-6
ChunkPos: -16,-16 -> 16,16
End ChunkPos: 112,112 -> 144,144
区块数: 1089
使用的模组: (c2me)
带模组:
基准测试 (世界名称) 模式 次数 得分 误差 单位
BiomesBenchmark.biomegen 末地 avgt 5 11.786 ± 0.168 ms/op
BiomesBenchmark.biomegen 地狱 avgt 5 174.833 ± 1.166 ms/op
BiomesBenchmark.biomegen 主世界 avgt 5 2401.797 ± 31.629 ms/op
NoiseBenchmark.noisegen 末地 avgt 5 3052.242 ± 12.358 ms/op
NoiseBenchmark.noisegen 地狱 avgt 5 1039.086 ± 6.467 ms/op
NoiseBenchmark.noisegen 主世界 avgt 5 8441.811 ± 41.396 ms/op
仅带 c2me:
基准测试 (世界名称) 模式 次数 得分 误差 单位
BiomesBenchmark.biomegen 末地 avgt 5 26.058 ± 0.245 ms/op
BiomesBenchmark.biomegen 地狱 avgt 5 185.957 ± 2.203 ms/op
BiomesBenchmark.biomegen 主世界 avgt 5 2464.937 ± 29.007 ms/op
NoiseBenchmark.noisegen 末地 avgt 5 3925.059 ± 14.292 ms/op
NoiseBenchmark.noisegen 地狱 avgt 5 1920.705 ± 9.864 ms/op
NoiseBenchmark.noisegen 主世界 avgt 5 11552.674 ± 54.112 ms/op
原版:
基准测试 (世界名称) 模式 次数 得分 误差 单位
BiomesBenchmark.biomegen 末地 avgt 5 27.051 ± 0.118 ms/op
BiomesBenchmark.biomegen 地狱 avgt 5 239.634 ± 1.702 ms/op
BiomesBenchmark.biomegen 主世界 avgt 5 4589.322 ± 80.331 ms/op
NoiseBenchmark.noisegen 末地 avgt 5 4477.113 ± 36.133 ms/op
NoiseBenchmark.noisegen 地狱 avgt 5 1951.438 ± 5.748 ms/op
NoiseBenchmark.noisegen 主世界 avgt 5 14249.612 ± 57.388 ms/op
原版:
基准测试 (世界名称) 模式 次数 得分 误差 单位
SurfaceBenchmark.surface 主世界 avgt 5 5982.828 ± 17.992 ms/op
SurfaceBenchmark.surface 地狱 avgt 5 2677.115 ± 9.293 ms/op
SurfaceBenchmark.surface 末地 avgt 5 924.604 ± 5.376 ms/op
带模组:
基准测试 (世界名称) 模式 次数 得分 误差 单位
SurfaceBenchmark.surface 主世界 avgt 5 4820.672 ± 24.669 ms/op
SurfaceBenchmark.surface 地狱 avgt 5 1914.289 ± 644.099 ms/op
SurfaceBenchmark.surface 末地 avgt 5 0.014 ± 0.003 ms/op
加速倍率:
主世界: 生物群系: 1.026倍 噪声: 1.368倍 地表: 1.241倍
地狱: 生物群系: 1.063倍 噪声: 1.847倍 地表: 1.398倍
末地: 生物群系: 2.21倍 噪声: 1.285倍 地表: 66357倍
这些基准测试可能存在一些不准确之处。
社交平台
常见问题与帮助
常见问题
问 - 模组会支持哪些 Minecraft 版本?
答 - 我会尽量支持最新的 Minecraft 版本。
问 - 有计划向下移植吗?
答 - 没有向下移植的计划,目前的向下移植是一次性的。
问 - 我还需要什么其他模组/前置?
答 - 不需要任何前置。
问 - 会有 Forge 向下移植到 1.19.x 1.20.x 吗?
答 - 没有计划。
问 - 某个模组在 Fast Noise 下崩溃或生成不正确?
答 - 请在 Codeberg 或我的社交平台报告该问题。
不兼容的模组
- Moonrise 不兼容,因为它大幅改变了 Minecraft 内部机制。
- Noisium 不兼容,因为 Fast Noise 旨在替代 Noisium。
- Anti-Xray 目前不兼容,因为它需要将额外数据放入 Minecraft 的方块存储中,这会破坏 FastNoise。
鸣谢
- Stevenplays,感谢他开发了 Noisium 模组,我是在尝试将 Noisium 移植到最新 Minecraft 版本时开始开发 Fast Noise 的。
- Ishland,感谢他在模组、modern-yarn 和 neo-loom 方面的帮助。
Reverie Projects
考虑加入 Reverie Projects 以获取开发预览和更新!加入后,你可以:
- 为许多优秀的项目获得安装帮助和技术支持。
- 获取最新的开发动态。
- 与我们的团队交流合作。
- 与社区的其他成员一起放松畅聊!
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。