开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[JE教程] 【转载】一个【效果明显】的Java8优化JVM参数

 发表于 2022-8-14 01:59:52 来自手机|显示全部楼层|阅读模式 IP:广东省
本帖最后由 猫cAt 于 2022-8-15 00:14 编辑

本篇教程转自mc百科原帖链接,并由作者设定使用CC BY-NC-SA协议
这套参数是我逛了好久中外各种关于JVM参数讨论的帖子总结而成的,参数如下:
-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的优化参数,把这个参数添加过后会导致参数冲突从而无法启动游戏。解决方法:找一找你的启动器有没有关闭添加默认参数的按钮,如果有就关掉。(比如HMCL填参数的地方下方就有“不添加默认的JVM优化参数”的按钮,只有打开了才能启动游戏。)
进行以上步骤后,如果发现在启动器中更改内存没有用,请在参数的最前面加上-Xms10240M -Xmx10240M 两个参数,并将其中的10240M改为你要分配的值。
推荐搭配Sampler使用,可以使用/sampler gc 命令手动GC(内存清理),由于使用了 -XX:+ExplicitGCInvokesConcurrent 参数,这样的显式GC调用也不会卡住你的游戏,同时能释放大量的内存。
另外推荐安装FoamFix以降低内存占用
仅适用于Hotspot版Java 8 8u271,未在其他版本测试,OpenJ9兼容性未知,如果出现问题请将Java更新到8u271版本。
实测1.12的500+模组整合包,这套参数相比使用G1GC的常用优化参数可以极大降低卡顿和跳帧情况,平均帧数提高了10左右。同时内存占用也提高了(分的内存就是要多用),然而似乎在内存即将爆满的情况下也不会明显降低帧率,试了下分配6G内存进游戏,即使内存占用长时间在80%以上还能保持高帧率运行不掉帧。
一个小bug: 使用此参数时有一定概率导致一些游戏模型丢失(比如女仆手办、无线合成终端)之类,过一段时间或者切换维度后会恢复正常。
苦力怕论坛,感谢有您~

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-11-28 08:24

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3