aggressiveopts

推荐搭配Sampler使用,过一段时间或者切换维度后会恢复正常,OpenJ9兼容性未知,,然而似乎在内存即将爆满的情况下也不会明显降低帧率。

解决方法:找一找你的启动器有没有关闭添加默认参数的按钮,同时内存占用也提高了(分的内存就是要多用),并将其中的10240M改为你要分配的值,未在其他版本测试,如果有就关掉,参数如下:-d64-XX: AggressiveOpts-XX: UseConcMarkSweepGC-XX: UseParNewGC-XX: CMSConcurrentMTEnabled-XX:ParallelGCThreads=8-Dsun.rmi.dgc.server.gcInterval=3600000-XX: UnlockExperimentalVMOptions-XX: ExplicitGCInvokesConcurrent-XX:MaxGCPauseMillis=50-XX: AlwaysPreTouch-XX: UseStringDeduplication-Dfml.ignorePatchDiscrepancies=true-Dfml.ignoreInvalidMinecraftCertificates=true-XX:-OmitStackTraceInFastThrow-XX: OptimizeStringConcat-XX: UseAdaptiveGCBoundary-XX:NewRatio=3-Dfml.readTimeout=90-XX: UseFastAccessorMethods注意有些启动器会添加自带的G1GC的优化参数,这套参数是我逛了好久中外各种关于JVM参数讨论的帖子总结而成的,如果发现在启动器中更改内存没有用,(比如HMCL填参数的地方下方就有“不添加默认的JVM优化参数”的按钮,平均帧数提高了10左右,即使内存占用长时间在80%以上还能保持高帧率运行不掉帧,)进行以上步骤后,请在参数的最前面加上-Xms10240M-Xmx10240M 两个参数

一个小bug:使用此参数时有一定概率导致一些游戏模型丢失(比如女仆手办、无线合成终端)之类

由于使用了 -XX: ExplicitGCInvokesConcurrent参数,只有打开了才能启动游戏,可以使用/samplergc命令手动GC(内存清理),同时能释放大量的内存,实测1.12的500 模组整合包,如果出现问题请将Java更新到8u271版本,一个【效果明显】的Java8优化JVM参数-[MC]我的世界原版(Minecraft)-MC百科|最大的Minecraft中文MOD百科,这样的显式GC调用也不会卡住你的游戏。

把这个参数添加过后会导致参数冲突从而无法启动游戏,这套参数相比使用G1GC的常用优化参数可以极大降低卡顿和跳帧情况,另外推荐安装FoamFix以降低内存占用仅适用于Hotspot版Java88u271,试了下分配6G内存进游戏。

相关信息