我的世界Minecraft 整合包啟動速度優(yōu)化教程
抱歉之前一直在忙著研究自研的沙盒游戲,沒有及時更新~~
這下子有空了,趕緊給各位粉絲補上一份大禮。
一、問題導(dǎo)入
換了新電腦,配置不能說高端,至少也有中等水平。
開個原神,算上啟動動畫,到進入游戲,差不多也就20秒
特效全高,須彌城內(nèi)存占用9G/16G,我一邊玩一邊看番劇都不成問題
玩?zhèn)€MC大型整合包(以新發(fā)布的地球2.0為例子,各啟動參數(shù)都是整合包默認的)
進入世界耗時高達9分鐘,這速度能忍?
而且內(nèi)存占用量20G/16G,不僅用了虛擬內(nèi)存,而且直接把電腦獨占了。
反正我忍不了。
于是我就開始琢磨怎么優(yōu)化這兩個問題。
參考我的上一篇優(yōu)化文章我的世文章界Minecraft 1.12.2 極限優(yōu)化指南
先換了阿里巴巴的龍井JVM,內(nèi)存占用下降到14/16G
但好像還不太夠,而且啟動速度只快2分鐘
二、解決方案
于是,我換了Openj9 JVM。
第一次加載會有點慢,但無所謂,我開了啟動優(yōu)化
第二次就快了,啟動速度來到了5分鐘
內(nèi)存占用量下降到10/16G,好多了
三、進階操作
內(nèi)存占用量的優(yōu)化基本上足夠了
那么,還能不能讓啟動速度再快一點?
JVM角度啟動速度的優(yōu)化,本質(zhì)上就是依靠openj9的-Xshareclasses選項
這是一個加載緩存,第一次啟動整合包時,速度不會有明顯提高
但它會緩存優(yōu)化數(shù)據(jù),之后再次啟動時,加載速度就會快得多
也不會再出現(xiàn)進入游戲后幾分鐘內(nèi)很卡(因為傳統(tǒng)JVM這時候還在做JIT優(yōu)化),后面才正常的情況了(尤其是在低配電腦上十分明顯)
這個參數(shù)我在上一篇文章里已經(jīng)附帶了,閱讀本文請先看看上一篇文章
但觀察下圖,你會發(fā)現(xiàn),高速緩存的空間已經(jīng)滿了,這意味著,整合包的更多優(yōu)化將無法被緩存,也就說明, 還存在進一步優(yōu)化的空間

現(xiàn)在,打開命令行
清除舊的緩存
在游戲的JVM參數(shù)處添加?-Xscmx:500M(通常500M就夠用了,不夠可以再加到1G)
啟動游戲,進入世界,跑圖五分鐘,退出游戲
再次啟動,你會發(fā)現(xiàn),只要4分鐘就能進入世界了。
這樣,我們就優(yōu)化到極致了。(啟動時間10分鐘->4分鐘。內(nèi)存占用20GB->10GB)

接下來估計要備戰(zhàn)半期考了,考完之后可能會出一點自研次時代微體素沙盒游戲的技術(shù)細節(jié)
VulkanMod的作者一直沒定好GBuffer的處理模板。我自己寫FSR2.0/DLSS支持,又擔(dān)心自創(chuàng)的GBuffer模板會不會影響作者后續(xù)開發(fā)光影支持的發(fā)揮。只能等他把GBuffer管道模板定下來了,我再合并超分辨率支持啦.......