FoamFix (泡沫修复)
FoamFix 是一个旨在通过简单、有针对性的优化来改善modded Minecraft内存使用的模组。它专注于优化模组化Minecraft体验的某些方面。
功能特点
FoamFix 主要关注以下几个方面的优化:
* 内存使用(适用于Minecraft 1.8+)。这是FoamFix被制作的最初原因,也是它今天被采用于模组包中的最重要原因。观察表明,在特别重的模组包上,Java堆使用量(在游戏加载完成后,在主菜单上,使用VisualVM测量)可以减少高达50%!
* TPS 使用,特别是在较大的服务器上 - 鬼块加载和网络改进在单人游戏体验上帮助不大,但在尝试扩展多人世界时可能非常有益。
还有其他一些较小的优化,但它们可能不会直接对您的游戏玩法产生显著影响。查看您的foamfix.cfg文件以获取完整列表!
常见问题解答
* Q: 我的性能有问题,删除FoamFix可以解决问题!
* A: 确保您已更新到最新版本。我无法用自己的资源在成千上万种计算机硬件配置上测试FoamFix,有时候可能会出现一些特定于其中一些配置的问题。如果您已更新到最新版本仍然遇到问题,请联系我!
* Q: 如果客户端/服务器端没有安装FoamFix,我可以在客户端/服务器端运行FoamFix吗?
* A: 可以。
* Q: 我可以在服务器端和客户端之间混合使用不同版本的FoamFix吗?
* A: 同样可以。
* Q: 为什么会有针对1.7.10的FoamFix?
* A: FoamFix 主要针对1.8+的模组化Minecraft。然而,一些后期优化 - 特别是鬼块加载修复 - 与一些被放弃的bug修复/优化项目(BugfixMod,Minecraft Forkage)结合在一起,导致我创建了一个同名的1.7.10优化模组,共享一些功能。和往常一样,查看foamfix.cfg了解更多信息!
* Q: 你能为原版制作FoamFix吗?
* A: FoamFix 几乎所有功能都针对模组化环境的优化。将其移植到原版将几乎没有什么好处,因为原版本身甚至比Forge+FoamFix更高效。如果您正在运行大型原版服务器,可能最好使用专用解决方案。
* Q: 我能在开发环境中运行FoamFix吗?
* A: 可以,但您必须使用BON2或类似工具手动去混淆它。
Bug报告
请先尝试在没有FoamFix的情况下重现错误 - 如果没有FoamFix仍然存在,则很可能不是FoamFix的问题。
当您报告仅在安装了FoamFix的情况下出现的错误时,
* 请仅在此处报告它们!这有助于我跟踪现有问题。
* 特别是,请不要将它们报告给其他模组开发者!如果我得出结论认为问题是由其他模组引起的,我将尽力与他们联系并讨论解决方案;但是,不必要的bug报告有点麻烦。
附加提示
(请注意,此部分将在某个时候重写为更全面的优化指南)
* 在forge.cfg中启用alwaysSetupTerrainOffThread。(自0.6.3版开始,FoamFix将自动为您在新实例上执行此操作!)
* 如果您遇到与“鬼块加载”相关的延迟(每30秒左右出现一次明显的延迟),部分解决此问题的方法是增加forgeChunkLoading.cfg中dormantChunkCacheSize的值。
* 对于某些GPU/驱动程序配置(特别是某些AMD驱动程序/卡对),禁用mipmaps(将Mipmap Levels设置为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(请注意,我不支持它),与MixinMutableBlockPos相关的常见崩溃可以通过在config/foamfix.cfg中禁用coremod.optimizedBlockPos来修复。
支持
* 请仅在GitHub问题跟踪器上报告错误。这样更容易跟踪它们。
* 请注意,“不支持”并不意味着“根本不工作” - 而是意味着“事情可能会出错,而我可能无法帮助您出于各种原因”。请小心!
以下模组不受支持,我不能保证与它们的交互相关的满意修复:
* FastCraft 2。许可非常严格,没有依靠开发者作为神谕进行调试。
* NotEnoughIDs。自2017年9月以来未维护。
* OptiFine。许可非常严格,没有依靠开发者作为神谕进行调试。
* Sponge。一些我们的引擎更改会发生冲突。(请注意,即使您在服务器端上有Sponge,使用FoamFix连接到Sponge服务器时也支持在客户端上使用FoamFix!)
* TexFix。
* 大多数其他专有优化模组。如果我看不到源代码,我不太可能修复它。
FoamFix 0.6.3a (1.8.9)
FoamFix 1.0.4 (1.7.10)
FoamFix 1.0.3 (1.7.10)
收录