
Seaborgium
一个针对Minecraft的轻微渲染优化模组,提升原版HUD的性能
弃用通知:
此模组将不再接收后续版本的更新。Sodium 已在其模组中实现了与 Seaborgium 修复类似的一项优化。同时,我也缺乏维护此模组的时间。代码采用 ISC 许可证授权,您可以自由进行任何修改并使用。
因此,我将把模组归档在 GitHub 上,并为了存档目的在 Modrinth 上重新将其设为公开状态。
1.19.4 版本注意:Iris 进行了一项破坏性更改,导致此模组不兼容。
如果有任何开发者有理由在 1.19.4 版本上使用此模组,除了更新依赖项之外,您只需在 MixinPipelineManager 中将 net.coderbot.iris.shaderpack.DimensionId 替换为 net.coderbot.iris.shaderpack.materialmap.NamespacedId 即可使其兼容。

什么是 Seaborgium?
Seaborgium 是一款免费开源的 Minecraft 优化模组。它通过实现其他模组忽略的优化来提升游戏的渲染性能。
Seaborgium 提供了一个 统一 的 JAR 文件,这意味着它同时包含类似 Fabric 和 Forge 版本的模组。
优化
Seaborgium 实现了一个简单的缓存,用于存储每个着色器程序中统一变量的位置。
当 GLStateManager 首次调用 glGetUniformLocation 时,Seaborgium 会检查它是否已有请求的 uniform 的缓存位置。
如果有,它直接返回缓存的位置,而无需调用 glGetUniformLocation。
如果没有,它会调用 glGetUniformLocation 并将结果存储在缓存中以供将来使用。
此优化减少了 OpenGL 调用的次数,并避免了不必要的开销。
众所周知,调用 glGetUniformLocation 非常缓慢,驱动程序在处理此函数时消耗大量 CPU 时间的情况并不少见。
通过缓存此函数的结果,Seaborgium 能够避免浪费 CPU 周期等待本应已握在手上的函数返回数据。
我应该期待怎样的性能提升?
性能提升幅度因场景而异。所讨论的性能数据基于我个人的机器,配置为 AMD Ryzen 5 5600x、32GB DDR4 @ 3200Mhz 和 Nvidia GTX 980ti。所有测试也都包含了常见的优化模组 Lithium 和 Sodium。
由于 Minecraft 渲染心形图标到屏幕的方式,当心形数量显著时,渲染成本会迅速增加。随着吸收 255,此模组能将帧率从痛苦的 53 帧平均值提升到相当可观的 163 帧平均值。
在常规游戏场景中,结果仍然明显但较不突出,相比未启用时能提升 30 到 50 FPS。
兼容性
Seaborgium 与您预期的所有模组兼容,如 Sodium/Rubidium、Canary/Lithium、Starlight 等!
除改变后端图形 API 的模组(如 Vulkan Mod)之外,目前没有已知的不兼容性问题。如果您发现了任何问题,请在问题页面报告!
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。