Minecraft 1.20.1 備忘録(Mayさんのクローンです)
前提(筆者の環境)
Intel Core i5 10400
NVIDIA RTX3060Ti
RAM 32GB
Windows 10
JDK 17
ランチャー
Prism Launcher - 慣れれば最強
前提MOD - ランチャーを使えば自動的にインストールされることもある
Forge - 説明不要。
Bad packets - WTHITの前提MOD。
ToadLib - 何かの前提MOD。
Sinytra Connector - Forge環境下でFabricのmodを使えるようにするMOD。ただしシンプルなMOD限定。
Connector Extras - Sinytra Connectorの補完MOD。
Forgified Fabric API - Sinytra Connectorの前提MOD。
軽量化・最適化・バグ修正MOD - JellySquidを称えよ
Embeddium - SodiumのForgeフォーク。1.20以降ならRuidiumよりもこちらを推奨。
Embeddium Extra - Embeddiumの機能拡張アドオンMOD。
Embeddium++ - Embeddiumの機能拡張アドオンその2。ズームもある。
Translation for Sodium - Embeddiumでのグラフィック設定メニューを翻訳するリソースパック。もともとSodium用だがある程度は日本語に置き換えられる。
Entity Culling - 画面外のエンティティの描画をスキップするMOD。Embeddiumにも似た機能があるが、こちらのほうがより積極的に実施する。互換性あり。
Palladium - 主にシェーダー周りの計算を最適化するMOD。
Starlight - 光源処理を高速化するMOD。Minecraft 1.20の時点である程度取り込まれているが、最適化されたこちらのほうが若干有利。1.21以降は不要。
ImmediatelyFast - レンダリングを効率化するMOD。
Radium - Lithiumのフォーク。計算最適化MOD。シングルプレイなら効くが、マルチなら当然サーバー側に入れないと効かない。テストプレイが速くなるので損はない。Canaryとは排他なので注意。
FerriteCore - メモリ使用量削減MOD。バニラ程度なら特段必要ないかもしれない。
BadOptimizations - いくつかの無駄な計算を効率化するMOD。
ModernFix - いくつかのバグを修正し、計算を最適化するMOD。
GPUTape - ビデオメモリのリークを修正するMOD。
Memory Leak Fix - メモリリークを修正するMOD。
描画系MOD - 好みのほうが大切なこともある
Oculus - いわゆる影MOD。
VanillAA - バニラシェーダーにアンチエイリアス(TAA方式)を追加するシェーダー。AMDのFidelityFX CASが実装されているのでTAA特有のボケがなく綺麗に見える。昼の森でなければ常用も十分可能。
QDAA - スーパーサンプル方式のアンチエイリアスを行うFabricのMOD。上記のSinytra Connectorを用いて導入する。画面全体を倍解像度で描画して圧縮するためUIも合わせて高画質化される。描画負荷は4倍になるが現代のGPUにとってバニラ程度ものの負荷ではない。これとVanillAAを組み合わせるとお互いの欠点を補って大幅な相乗効果を得られるため併用推奨。
Modern UI - MinecraftのUXを現代的に変更するMOD。その機能は正直余計なお世話だが、本質はフォントシステムの改善にある。このMODを導入すればコンピュータにインストールされた任意のフォントを完全な形で使用できる。カスみたいなデフォルトのフォントをゴミ箱にぶち込むために必須。Ctrl+Kで呼び出すメニューで『環境設定』のタブを開き、『環境設定』のメニューを左へドラッグするとフォント設定画面を開ける。
便利系MOD - 損はない
WTHIT - 情報表示MOD。見ている物の詳細な情報を表示する。馬の性能も見られる。
JouorneyMap - 定番ミニマップMOD。
Just Enough Items - 定番レシピブックMOD。
AppleSkin - 満腹度ゲージの表示を改善する。
+@な設定
メモリ割当 - クライアント側なら2GBもあれば十分。4GBあれば安心。
Java引数 - 気休めの集まり。GCは環境によるので割愛するが、クライアント側ならばG1GCを推奨する。
-XX:+UnlockExperimentalVMOptions 前提。
-XX:+UnlockDiagnosticVMOptions 前提。
-XX:+UseLargePages 権限設定が必要で面倒。気休め。
-XX:+OptimizeStringConcat 気休め。
-XX:+ParallelRefProcEnabled 割と意味があるらしい。
-XX:+DisableExplicitGC 他のヤツ(ExplicitGCInvokesConcurrent)よりはマシ。気休め。
-XX:+PerfDisableSharedMem 気休め。
-XX:+DisableAttachMechanism 気休め。
-XX:SurvivorRatio=32 気休め。
-XX:+UseNUMA 普通の環境で意味があるかは不明。
-XX:+UseVectorCmov 気休め。
-XX:-DontCompileHugeMethods 意味がないわけではないが体感できるかは微妙。
-XX:+UseCriticalJavaThreadPriority 気休め。
-XX:ThreadPriorityPolicy=1 気休め。
+@な知識
異方性フィルタリングが有効だとブロックの枠線(グリッド)が表示されてしまう場合がある。この場合はNVIDIAコントロールパネルからOpenJDKなりJavaなりマインクラフトを実行しているソフトウェアの異方性フィルタリングを無効にすればよい。ブロックの面を斜めから見たときに起こるテクスチャのぼやけを防止する機能だが、かなりの角度を付けて見なければまず気にならないし、そのうち慣れる。
垂直同期をONにするとフレームレートがモニターに合わせて調整され、ティアリングが防止されるが、これは余剰のフレームを廃棄しているのではなくモニターに合わせてリフレッシュレートを上下させる方式であるため、突発的な負荷(ガベージコレクションなど)が掛かったときのFPS低下は防げない。正直なところマインクラフトのようなエッジが多く動きが激しくないゲームはティアリングが目立たないので、いわゆるFPSゲーム向けでないモニターを使い、かつPC自体に120FPS程度の出力が可能な性能があるのならば、あえて垂直同期を切ることがむしろ快適性向上に繋がるかもしれない。