マインクラフトのRTA(リアルタイムアタック)のための情報を整理したWikiです。主に扱っているのはエンダードラゴンRTA(エンドラRTA)ですが、特に限定しているわけではありません。

説明

RTAに適したJavaとその設定をまとめています。

Javaランタイム

Java 17以降を使用します。
Oracle、Adoptiumなど様々なJavaランタイムがありますが、基本的には変わりありません。例外として、Oracle GraalVMが存在しています。詳細は後述を参照してください。

Javaの引数

引数を追加することで、パフォーマンスの向上などが見込めます。

MultiMC

設定からJavaを開き、JVM引数の項目に追加します。
これでは全インスタンスに適応されるため、一部のみに適応させたい場合は、インスタンスを選択し、起動構成の編集→設定→Javaのインストールで、上記と同様に行います。

基本的なJavaフラグ

以下をJavaの引数に追加します。
-XX:+AlwaysPreTouch

メモリの割り当て

最小メモリと最大メモリは通常同じ値にするのが推奨されていますが、環境によっては同じ値にするとパフォーマンスの低下に繋がります。

RTAの場合、最大値は2000MB〜3000MBに設定するのが好ましいです。2800MB程度以上は、全実績解除などのカテゴリで、描画距離を32チャンクにするなどの場合のみに割り当てます。

ガベージコレクション

使用できるガベージコレクターは1つだけです。

G1GC

デフォルトのガベージコレクター。特に理由がなければこれが推奨されます。
G1GCに劣りますが、メモリの使用量を抑えることができ、マルチインスタンスでより多くのインスタンスを使用したい場合などに有効です。ただし、適切なCPU/GPUが必要になります。
Shenandoahを利用するにはJava 18以降が必要です。
引数
-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGuaranteedGCInterval=1000000
備考
  • メモリ使用量は通常に比べ、3/4から1/2未満に抑えられるとされています

ZGC

パフォーマンスを向上させ、ラグの急増を抑えますが、ワールドの読み込みがわずかに遅くなり、メモリの使用量もわずかに増加します。
マルチインスタンスよりはシングルインスタンス向けです。
引数
-XX:+UseZGC

GraalVM

GraalVMは、パフォーマンスを向上させることができるOracleの新しいJava VMです。現在はG1GCでのみ動作します。
リセットを開始した最初はパフォーマンスが通常より悪化する傾向がありますが、リセットを進めるに連れてパフォーマンスが向上します。放置することでパフォーマンスが低下しますが、引数の追加で回避できます。

ダウンロード

Enterprise Editionは、パフォーマンスを向上させるためのウォームアップが高速ですが、Oracleのアカウント作成(無料)が必要です。
また、これらはJavaインストーラーではありません。任意の場所にZipを解凍後はランチャーにJavaのパスを指定する必要があります。MultiMCでの指定方法はこちらを参照してください。
引数
-XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -XX:+ExplicitGCInvokesConcurrent -XX:MaxGCPauseMillis=20 -XX:ParallelGCThreads=20 -Dgraal.TuneInlinerExploration=-1 -XX:+UseCriticalJavaThreadPriority -XX:NmethodSweepActivity=1
AlwaysPreTouchは上記に既に含まれている点に注意してください。
備考
  • CPUのスレッド数が24未満の場合は、ParallelGCThreadsを削除、MaxGCPauseMillisを30~40程度にします
  • NmethodSweepActivityの値を1にすることで、放置によるパフォーマンスの低下がなくなります
  • 最適とされているのは、Java 17 (EE)です

パフォーマンス向上手順

以下は、Jultiを用いる場合になります。
  1. すべてのインスタンスをリセットし、各ワールドに一度入る(初回特有のラグを解消)
  2. プラグインから、Benchmarkを開く
  3. RPSの上昇が止まるまで、2000 Reset Goalでベンチマークを2〜4回程度実行
備考
  • リセット速度は通常に比べ、20%〜40%増加するとされています。また、これらの引数はプレビューの開始速度を重視しています

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

Java版

ガイド
攻略
テクニック
その他の知識
MCSR Ranked

メンバーのみ編集できます