
泡沫修复
FoamFix是一个旨在通过简单、针对性的优化来改善模组化Minecraft内存使用情况的模组。
FoamFix 是一个旨在通过简单、有针对性的优化来提升模组化 Minecraft 体验的模组。
特性
FoamFix 特别关注模组化 Minecraft 的以下几个方面:
- 内存使用(在 Minecraft 1.8+ 中)。这是 FoamFix 最初制作的原因,也是如今它在整合包中被采用的最重要原因。观察显示,在特别大型的整合包中,Java 堆内存使用量(在主菜单、游戏加载完成后,使用 VisualVM 测量)可下降高达 50%!
- TPS 使用,尤其是在大型服务器上——幽灵区块加载和网络改进对单人游戏体验帮助不大,但在尝试扩展多人游戏世界时可能非常有益。
还有其他一些较小的优化,但它们可能不会直接影响你的游戏体验。请查看你的 foamfix.cfg 文件获取完整列表!

常见问题
- 问:我遇到了性能问题,移除 FoamFix 后问题解决了!
- 答:请确保你已更新到最新版本。我不可能仅凭自己的资源在成千上万种计算机硬件配置上测试 FoamFix,有时可能会出现某些特定于某些配置的问题。如果你已更新到最新版本但问题仍然存在,请联系我!
- 问:如果服务器/客户端没有安装 FoamFix,我可以仅在服务器/客户端安装它吗?
- 答:可以。
- 问:我可以在服务器和客户端之间混用 FoamFix 的版本吗?
- 答:同样,可以。
- 问:为什么会有针对 1.7.10 的 FoamFix?
- 答:FoamFix 主要针对 1.8+ 的模组化 Minecraft。然而,它后来的一些优化——特别是幽灵区块加载修复——结合一些废弃的 bug 修复/优化项目(BugfixMod, Minecraft Forkage),促使我为 1.7.10 创建了同名优化模组,它们共享部分功能。一如既往,查看 foamfix.cfg 以了解更多信息!
- 问:你能为原版 Minecraft 制作 FoamFix 吗?
- 答:FoamFix 几乎全部专注于针对模组环境的优化。将其移植到原版几乎没什么益处,因为原版本身甚至比 Forge+FoamFix 更高效。如果你在运行大型原版服务器,或许使用专用解决方案更好。
- 问:我可以在开发环境中运行 FoamFix 吗?
- 答:可以,但你必须使用 BON2 或类似工具手动反混淆它。
Bug 报告
请先在未安装 FoamFix 的情况下尝试重现该 Bug——如果未安装 FoamFix 时问题仍然存在,那很可能不是 FoamFix 的问题。
当你报告一个仅在安装 FoamFix 后才出现的问题时,
- 请仅在此处报告!这有助于我跟踪现有问题。
- 特别地,请不要向其他模组开发者报告!如果我认为问题是由其他模组引起的,我会尽力亲自联系该作者并讨论修复方案;然而,不必要的 Bug 报告会有些令人困扰。
附加提示
(注意:这部分将来可能会重写为更全面的优化指南)
- 在 forge.cfg 中启用 alwaysSetupTerrainOffThread。(自 0.6.3 起,FoamFix 会在新实例为你自动完成此操作!)
- 如果你遇到与“幽灵区块加载”相关的卡顿(大约每 30 秒出现一次明显的卡顿峰值),一种部分解决该问题的方法是增加 forgeChunkLoading.cfg 中 dormantChunkCacheSize 的值。
- 对于某些 GPU/驱动配置(特别是某些 AMD 驱动/显卡组合),禁用 mipmap(将 Mipmap 级别设为 0)可以显著提升 FPS。这是因为动画纹理更新带来的卡顿会随着待更新纹理数量的增加而显著增大,而这与 mipmap 级别的数量呈线性关系。
- 在专用服务器上,设置 max-tick-time=0 可以解决与 "java.lang.Error: Watching server" 相关的崩溃。仍在研究为什么会发生这种情况!
常见崩溃
- FoamFix 0.9.6+ 出现 java.lang.NoSuchMethodError: net.minecraftforge.common.model.TRSRTransformation.isIdentity()Z - 将 Forge 更新到最新的推荐版本,或将 FoamFix 降级到 0.9.5。
- java.lang.IllegalArgumentException: Cannot set property [...], it is not an allowed value - 导致此错误的代码路径非常接近原版行为,未安装 FoamFix 时也应导致相同崩溃。请确保未安装 FoamFix 时无法重现。
- 如果你将 SpongeForge 与 FoamFix 一起使用(请注意,我不支持此用法),可以通过在 config/foamfix.cfg 中禁用 coremod.optimizedBlockPos 来修复与 MixinMutableBlockPos 相关的常见崩溃。
支持
- 请仅使用 GitHub 问题跟踪器进行错误报告。这样更容易跟踪。
- 请注意,“不支持”并不意味着“根本不能用”——而是意味着“可能会出现各种问题,并且由于各种原因我可能无法帮助你”。请小心!
以下模组不受支持,我无法保证能提供与他们交互相关问题令人满意的修复:
- FastCraft 2。其许可非常严格,若不依赖开发者作为“神谕”,调试是不可能的。
- NotEnoughIDs。自 2017 年 9 月以来未维护。
- OptiFine。其许可非常严格,若不依赖开发者作为“神谕”,调试是不可能的。
- Sponge。我们的一些引擎更改存在冲突。(请注意,即使服务器端有 Sponge,在连接到 Sponge 服务器时,客户端使用 FoamFix 是受支持的!)
- TexFix。
- 其他大多数专有优化模组。如果我看不到源代码,我可能不会去修复它。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。