我的世界Minecraft 整合包启动速度优化教程
抱歉之前一直在忙着研究自研的沙盒游戏,没有及时更新~~
这下子有空了,赶紧给各位粉丝补上一份大礼。
一、问题导入
换了新电脑,配置不能说高端,至少也有中等水平。
开个原神,算上启动动画,到进入游戏,差不多也就20秒
特效全高,须弥城内存占用9G/16G,我一边玩一边看番剧都不成问题
玩个MC大型整合包(以新发布的地球2.0为例子,各启动参数都是整合包默认的)
进入世界耗时高达9分钟,这速度能忍?
而且内存占用量20G/16G,不仅用了虚拟内存,而且直接把电脑独占了。
反正我忍不了。
于是我就开始琢磨怎么优化这两个问题。
参考我的上一篇优化文章我的世文章界Minecraft 1.12.2 极限优化指南
先换了阿里巴巴的龙井JVM,内存占用下降到14/16G
但好像还不太够,而且启动速度只快2分钟
二、解决方案
于是,我换了Openj9 JVM。
第一次加载会有点慢,但无所谓,我开了启动优化
第二次就快了,启动速度来到了5分钟
内存占用量下降到10/16G,好多了
三、进阶操作
内存占用量的优化基本上足够了
那么,还能不能让启动速度再快一点?
JVM角度启动速度的优化,本质上就是依靠openj9的-Xshareclasses选项
这是一个加载缓存,第一次启动整合包时,速度不会有明显提高
但它会缓存优化数据,之后再次启动时,加载速度就会快得多
也不会再出现进入游戏后几分钟内很卡(因为传统JVM这时候还在做JIT优化),后面才正常的情况了(尤其是在低配电脑上十分明显)
这个参数我在上一篇文章里已经附带了,阅读本文请先看看上一篇文章
但观察下图,你会发现,高速缓存的空间已经满了,这意味着,整合包的更多优化将无法被缓存,也就说明, 还存在进一步优化的空间

现在,打开命令行
清除旧的缓存
在游戏的JVM参数处添加 -Xscmx:500M(通常500M就够用了,不够可以再加到1G)
启动游戏,进入世界,跑图五分钟,退出游戏
再次启动,你会发现,只要4分钟就能进入世界了。
这样,我们就优化到极致了。(启动时间10分钟->4分钟。内存占用20GB->10GB)

接下来估计要备战半期考了,考完之后可能会出一点自研次时代微体素沙盒游戏的技术细节
VulkanMod的作者一直没定好GBuffer的处理模板。我自己写FSR2.0/DLSS支持,又担心自创的GBuffer模板会不会影响作者后续开发光影支持的发挥。只能等他把GBuffer管道模板定下来了,我再合并超分辨率支持啦.......