停更告示
本模组将不会有新版本的更新,Sodium 已经实现了与本模组类似的优化和修复,且作者没有时间维护本模组。
概述
Seaborgium 是 Minecraft 的一个自由且开源的优化模组。它通过实现其他模组忽视的优化措施来改善游戏的渲染性能。
Seaborgium 提供了一个统一的 JAR 包,其中包含了模组的 Fabric 和 Forge 版本。
优化措施
Seaborgium 实现了一个简单的缓存,用于存储每个着色器程序的统一变量的位置。
当 GLStateManager 首次调用 glGetUniformLocation 时,Seaborgium 会检查是否对所请求的统一变量有缓存的位置信息。如果有,它会返回缓存的位置,而不会调用 glGetUniformLocation。如果没有,它会调用 glGetUniformLocation,并将结果存储在缓存中供将来使用。
这个优化措施减少了 OpenGL 调用的次数,避免了不必要的开销。调用 glGetUniformLocation 被认为是非常慢的操作,驱动程序往往会消耗相当长的 CPU 时间来处理这个函数。通过缓存这个函数的结果,Seaborgium 能够避免浪费 CPU 周期等待函数返回我们已经拥有的数据。
会有多大的性能提升?
性能提升的程度会根据具体情况而有所不同。以下所讨论的性能数据是基于作者的计算机测试得出的。作者的机器配置是 AMD Ryzen 5 5600x、32GB DDR4 @ 3200Mhz 和 Nvidia GTX 980ti。所有的测试都安装了常用的优化模组 Lithium 和 Sodium。
Minecraft 将数量过多的心形图标渲染到屏幕上时,会导致性能下降。在伤害吸收等级设为 255 的情况下,该模组能够从痛苦的平均 53 FPS 提升到相当可观的平均 163 FPS。
在普通的游戏场景中,结果仍然是显著的,但不如前一种情况明显。相比没有安装此模组,可提升 30 - 50 FPS。
兼容性
Seaborgium 与你能想到的大部分优化模组兼容,包括 Sodium/Rubidium、Canary/Lithium、Starlight 等等!
提示:模组目前不兼容 Iris 1.6.5及以上版本。相关 issue 链接
除了改变后端图形 API(如 VulkanMod)的模组之外,目前没有已知的不兼容模组。如果您发现任何问题,请在作者的 Issue 页面上报告!
分支
由 will258012 制作的模组分支版本:
修复上述的 Iris 兼容问题
支持 1.20.x 版本
Github 链接