介绍
Faster Random
你正在查看 Faster Random 在 CurseForge 上的页面。此处的描述可能与 Modrinth 上的描述有所不同。本页面主要面向整合包作者,我可能需要较长时间才能回复评论。
Faster Random 重写了 Minecraft 的随机系统,改用 Java 17 中引入的新 LXM 生成器,而不是 Minecraft 内部速度较慢的 CheckedRandom(及相关生成器)。大多数 JVM 应该默认支持该生成器,但请检查你的日志中是否有任何警告!
该模组还修复了 MC-239059 “漏洞”(它对游戏影响不大,但确实属于漏洞)。
在大多数系统上,Faster Random 的生成器构造需要更多时间(我只能以自己的 Linux AMD 系统作为参考),但生成数字的速度要快得多。由于 Minecraft 会重复使用许多生成器(这意味着可以避免构造开销),实际性能提升可能会有很大差异。
可以通过 testmod 测试性能,运行时它会针对每种方法执行基准测试。
目前,Faster Random 主要针对速度较慢的随机生成器,可提升世界结构放置/生成,以及特征和洞穴雕刻器放置与生成的性能,同时也能优化许多客户端的操作,例如掉落物。目前 Faster Random 还不会对速度较快的生成器做任何处理。(除非我能确定这样做会明显提升性能,而不是弊大于利。)
你应该使用这个模组吗?
Faster Random 对世界生成性能的提升可能只会达到一定程度,因为你很快就会受到 RAM 和 I/O 瓶颈的限制:内存中存储的区块数量增加,同时写入磁盘的数据也会增多。这并不是坏事,只是意味着你生成区块的速度超过了系统其他部分存储这些区块的速度。根据你的系统配置,实际效果可能会有很大差异。
因此,在服务端线程受到 CPU 瓶颈限制的情况下(单人游戏运行在内部服务器上),如果同时拥有足够多的高速内存和存储设备(DDR4 RAM,以及 SATA III 或更高规格的硬盘),这个模组能带来最明显的性能提升。
对于世界生成而言,Faster Random 几乎可以做到 1:1,但部分洞穴形状的生成结果会与原版不同。其他方面均为 1:1。虽然这些差异很可能难以察觉,但不建议将其用于速通等对一致性要求较高的场景。Optifine 的数学优化对世界生成造成的影响远比 Faster Random 更严重。
Faster Random 不需要同时安装在客户端和服务器上。由于客户端仍有不少操作会使用随机机制,Faster Random 可以在客户端提供小幅性能提升。
系统要求(3.0.0+)
- 一个完全支持 Java 17 新版
RandomGenerator系统的 JVM,并且还要实现其中的 LXM 生成器。(例如:GraalVM)。使用不受支持的 JVM 将会禁用 Faster Random,并要求你使用 Faster Random 1.6.0。如果你的 JVM 不支持这些功能,那么它很可能不是一个合适的 JVM。
(注意:你可能在不知情的情况下为 Minecraft 使用了无头 JDK,这会由于各种奇怪的原因导致 Faster Random 无法运行。如果 Faster Random 崩溃,请检查你下载的 JDK/软件包是否正确。)
如果你使用的是普通的 Minecraft Launcher,这个模组应该可以正常使用随附的 JVM;如果你的日志中没有出现警告,也可以忽略这些说明。
与其他模组一起使用
Faster Random 应该能与各种各样的模组良好兼容,尤其是在 4.0.0 之后。Faster Random 还会积极支持大多数主要的世界生成模组以及 Distant Horizons。
得益于 Noisium 和 C2ME 通过多线程更充分地利用了 Minecraft 的随机系统,Faster Random 也可以与 Noisium 和 C2ME 等其他地形优化模组搭配使用,以获得更好的性能。理想情况下,你应该使用 Noisium + Faster Random;在使用 Distant Horizons 时,尽可能为 Minecraft 分配你能提供的内存(10GB 以上)。(C2ME 与 DH 一起使用时会带来性能损耗。)Faster Random 可以利用 Noisium 降低世界生成时的 CPU 使用率。
Forge?
Francium 是适用于 1.16 和 1.18 的 非官方 Forge 变体,其主要功能与 Faster Random 相同,但不包含世界生成优化。对于 1.20.1 以及这些世界生成改动,Sinytra Connector 应该能够以“足够稳定”的体验运行该模组。对于 1.20.1 及更高版本,你可以尝试使用 NeoForge 移植版。
Faster Random 的图标采用 CC-BY-SA 许可。代码采用 Apache 2.0 许可。
喜欢这个模组吗?欢迎通过贡献代码、提交漏洞报告以及向其他人介绍它来支持开发(这会带来很大帮助)!
评论
登录后评论和评分