
铷 ( Salut_46 )
围绕结构的生成计算进行精确自动优化。支持 Fabric 和 Fabric API,无需配置。
查看大图Rubidium 作者 Salut_46
当结构掩埋的原版贡献值已确知恰好为零时,Rubidium 会跳过某些运算。对于所有其他情况,它会保留原始公式,且不会替换噪声、种子或生物群系算法。
标准安装会保留 Minecraft 的渲染、图形队列和生成调度。无需菜单或配置文件。当 C2ME 存在时,该模组会自动禁用其计算集成以避免重叠;完整的模组组合仍需单独测试。
这个首个实验性版本适用于 Fabric 1.21.1、1.21.11、26.1 和 26.2。它随附源代码和测试结果。观察到的生成改进幅度有限且因场景而异。并未证明存在普遍的 FPS 提升,也没有证明不存在卡顿。
该名称来自铷,一种原子序数为 37 的碱金属。技术标识符:rubidium_flow。独立项目,与 Forge 的 Rubidium 无关。
测量与决策 —— Rubidium 0.1.0-alpha.1
选定结果
该版本仅包含精确计算捷径。在正常安装中,它不包含生成调节器或主动渲染预算。下文中原型的图形增益并不描述所交付的产品。
参考与方法
“参考”指搭载 Fabric Loader、Fabric API 及相同基准测试设置、并禁用 Rubidium 优化的 Minecraft。这不是不带 Fabric 的 Minecraft。机器:Ryzen 5 PRO 7535U,集成 Radeon,12 个逻辑处理器,最大 Java 内存 4 GiB,Java 21。客户端:1280 × 720,视距 8 个区块,模拟距离 5,VSync 关闭,限制 260 对应无上限模式。1.21.1 表示 Fancy;1.21.11 表示 CUSTOM,采用其默认设置及上述参数。不要直接比较不同版本之间的 FPS。
每次图形测试运行 60 秒,在 20 秒预热后,在全新地形中进行四次停留,间隔 15 秒。修订版 2 将预热相机固定为 (60.5,110,-40.5)。世界为种子 123456789 的全新副本。没有基准测试或构建同时运行。有效运行表示没有失焦帧且没有菜单界面帧。
专用生成测试 1.21.1
144 个区块达到 FULL 阶段,请求并发数为 8,预热阶段另有 16 个区块,票据保留并有五秒钟的静默。顺序为 A/B/B/A,每个变体运行两次。选定的计算代码在 B 中启用,Pulse 调节器已禁用。专用服务器不使用图形预算。
| 测量项 | 参考 | Rubidium 选定捷径 |
|---|---|---|
| 144 个区块的平均时间 | 11.541 s | 11.391 s |
| 运行 1 | 11.580 s | 11.371 s |
| 运行 2 | 11.501 s | 11.411 s |
| 测量到的 > 50 ms 的 tick 数 | 0 | 0 |
仅针对此场景,时间约减少 1.3%。两次重复并不能证明统计显著性,也不能证明普遍优势。数据来源:final-perf-a1、final-perf-b1、final-perf-b2、final-perf-a2。历史字段 gcPauseCollectionMs 测量的是 Java 报告的收集时间,而非精确的暂停时长。tick 时长不是 FPS。
已弃用的图形原型 —— 1.21.1
初始试验,修订版 1:参考 285.87 FPS,16 帧 >50 ms,P99 14.064 ms;无 Pulse 的图形预算 305.74 FPS,12 帧 >50 ms,P99 14.086 ms。P99 并未改善。使用 Pulse 时,仅剩 17 个可见区段,而参考为 74 个:该原型被否决。
新试验,修订版 2,在 Fabric 开发环境中:
| 运行 | 平均 FPS | P99 (ms) | > 50 ms 的帧数 | 最大值 (ms) | 最后一次采样时的区段数 |
|---|---|---|---|---|---|
| client-final-a1 | 298.73 | 15.895 | 22 | 326.88 | 70 |
| client-final-b1 | 379.30 | 11.272 | 10 | 100.31 | 76 |
| client-final-b2 | 389.76 | 11.299 | 16 | 228.24 | 84 |
| client-final-a2 | 739.19 | 7.035 | 11 | 130.92 | 163 |
| client-final-b3 | 532.38 | 8.894 | 22 | 256.42 | 77 |
A 表示参考。B 表示精确计算以及 2 ms/64 任务的图形预算,不使用 Pulse。A1/B1/B2 在上午进行;A2/B3 之前有约五小时的中断。不要将这些序列汇总为单一百分比增益。最后一次 B3 低于 A2,且末尾显示的地形更少。未测量负载、温度或电源的变化:会话之间差异的确切原因仍然未知。这种不确定性以及不利结果促使在发布版中放弃图形预算。
最后一次采样中的区段数并非所有区块到达时间的精确度量。还检查了捕获数据。这些测试不允许做出任何普遍 FPS 提升的承诺。
交付的 JAR:使用普通 Fabric 的运行时检查
这些试验使用重映射的 JAR、生产版 Minecraft 客户端和独立的基准测试。它们验证加载、渲染、运行以及关闭时保存。图形预算保持禁用。1.21.11 参考使用先前候选版本并禁用其所有优化;活动运行使用最终 JAR。
| 版本 | 加载与运行 | 图形预算启用 | Pulse 线程 | 最后一次采样时的区段数 |
|---|---|---|---|---|
| 1.21.11 | 成功 | 否 | 0 | 266 |
| 1.21.1 | 成功 | 否 | 0 | 84 |
1.21.1 的“冒烟”运行在独立的基准测试标识符下检查正常安装:零个 Pulse 线程且不重定向渲染队列。它不构成与较早开发试验的性能配对。1.21.11 试验未明确抵消空闲时的自动 FPS 限制。这些操作性检查被归类为 performanceValid=false,不用于声称 FPS 提升。原始帧时间被保留以便追溯。
计算检查与限制
48 个单元测试通过,包括源代码中保留的原型工具。每个 Minecraft 版本在 Fabric 服务器中执行了 375,956 次真实方法与原版公式的比较,然后在关闭前保存维度。网格、边界值和伪随机双精度值:结果逐位相同,审计中进行了 NaN 归一化。
在 1.21.1 上,NOISE 阶段的方块和生物群系指纹在 64/64 个主世界区块、16/16 个下界、16/16 个末地上完全相同。两个主世界参考也一致。完整性审计与性能测量相互独立。
FULL 最终世界比较在两个参考自身之间就出现了分歧。这些结果仍无定论:NOISE 阶段指纹并不能证明重新加载的最终存档完全等价。26.x 移植版本没有图形测试,也没有 FPS 测量。与其他模组的组合并未获得普遍认证。
JSON、JAR 指纹和测量来源均已提供。P99 使用上秩;平均 FPS 是平均帧时间的倒数。来源允许仅在独立基准测试中重新激活原型,以复现研究。该模组仍是一个范围有限的实验性首个版本。
正在加载版本记录…


正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。