Noisiumed: Minecraftのチャンク生成最適化MODのレビュー
Noisiumed MODがMinecraftのチャンク生成をどのように最適化し、CPU負荷を軽減し、ゲームのパフォーマンスを向上させるかをご覧ください。
Noisiumed MODがMinecraftのチャンク生成をどのように最適化し、CPU負荷を軽減し、ゲームのパフォーマンスを向上させるかをご覧ください。
前提MOD:
ローダー: Fabric / NeoForge / Forge [ゲーム内で確認]
Minecraftのバージョン: 1.20.1 – 1.21.6
Minecraft Java Editionでの新しい領域の生成プロセスは、サーバーまたはローカルコンピューターのCPUに大きな負荷をかけます。エリトラや高速な移動手段、地形の事前レンダリングプラグインなどを使用してゲームの世界を高速で移動すると、サーバーは数学的なノイズの処理や新しいブロックの作成に間に合わなくなります。これにより、チャンクのロード遅延、TPS(1秒あたりのティック数)の急激な低下、クライアントでのカクつきが発生します。Noisiumed MODは、Minecraftの数学的ノイズジェネレーターのアルゴリズムに一連の低レベルな最適化を提供することで、この問題を解決します。
チャンク生成における低レベルの最適化の原則
新しいチャンクを作成する際の主なスローダウンは、NoiseChunkGeneratorクラスとそのpopulateNoiseメソッドの計算に関連しています。各ブロック生成ステップにおいて、バニラのゲームエンジンは、ワールド配列の初期充填時には不要な複数レベルのセキュリティチェック、メタデータの更新、抽象メソッドの呼び出しを実行します。Noisiumedは、Mixinインジェクションシステムを使用して、ブロックグリッドの構築プロセスに直接変更を実装します。
チャンクセクションパレットへの直接書き込み
このMODの主な技術的特徴は、チャンクセクションのパレットストレージ(block state palette storage)の直接充填への移行です。隣接するオブジェクトの更新をトリガーし、タイプの検証を行う標準的な高レベルのブロック配置メソッドを呼び出す代わりに、このMODはブロックIDをチャンクのパレット配列に直接書き込みます。これにより、Javaのメモリヒープ(JVM heap)での操作数が最小限に抑えられ、1立方メートルのゲーム空間を処理するために必要なCPU命令の数が大幅に削減されます。
バイオームと密度の計算のキャッシュ
バイオームの境界と3Dの地形密度を計算する際、バニラのジェネレーターは隣接するポイントのノイズに対する数学的演算を複数回繰り返します。Noisiumedは、密度値とバイオームの計算結果に対する内部の一時キャッシュシステムを導入します。隣接する座標に移動する際、ジェネレーターはまずこのローカルキャッシュにアクセスします。現在のポイントの値が以前にすでに計算されている場合、システムは重い三角関数や代数関数を再実行することなく、完成した結果をそのまま使用します。
1.21以降におけるマルチスレッドと同期
Minecraft 1.21以降のアップデートのリリースに伴い、ゲームの開発者は生成スレッドの処理に関する内部ロジックを大幅に変更しました。しかし、並列のノイズ計算は多くの場合、スレッドのロック(thread locking)を引き起こします。これは、1つのプロセスが共有のチャンクデータにアクセスするために、他のプロセスの計算が完了するのを待つ状態です。Noisiumedは、ノイズジェネレーターのレベルで同期とロックのシステムを最適化します。このMODはクリティカルなコードセクションのサイズを縮小し、バックグラウンドのCPUスレッドがお互いを待つことなく並行して計算を実行できるようにします。
サーバーのパフォーマンス指標への影響
専用サーバーにこのMODを導入すると、プレイヤーが世界を活発に探索している間のMSPT(1ティックあたりのミリ秒)指標の安定性に良い影響を与えます。新しいゾーンの生成中のCPU負荷を減らすことで、MSPTが50ミリ秒の限界値を超えて急上昇するのを防ぎ、サーバー上で安定した20 TPSを維持します。これは、カスタムバイオームが多数ある世界や、地形の高さが変更された世界で特に顕著です。
alt: [有効化されたMixinインジェクションを表示しているNoisiumed MODの読み込み中のサーバーコンソールログ]
最適化エコシステムおよび生成系MODとの相互作用
このMODは純粋にサーバー側の最適化(server-side)ですが、クライアントがローカルの統合サーバーを実行するシングルプレイヤーモードでもパフォーマンスを向上させます。新しいブロックやアイテム、ワールド生成のメカニクスへの変更は追加されないため、バニラのクライアントとの完全な互換性が保たれます。プレイヤーは、自分のコンピューターにこのMODをインストールしなくてもサーバーに参加できます。
C2MEとの互換性
ワールド生成の最適化効果を最大限に得るには、NoisiumedをC2ME(Concurrent Chunk Management Engine)MODと一緒に使用することをお勧めします。これら2つのMODは最適化の焦点が異なり、互いに競合しません。
C2MEはチャンクのグローバルなI/Oスレッド(I/O)を管理し、プロセッサのコア間で生成タスクを分散させ、ディスクへのデータ保存システムを最適化します。Noisiumedは、
C2MEから渡されたタスクの実行中に、ノイズジェネレーター内部での直接的な数学的計算を最適化します。
これらのMODを併用することで、マルチコアプロセッサでのチャンクジェネレーターのスループットを大幅に加速できます。
グラフィック系MODおよびDistant Horizonsとの互換性
このMODは、クライアント側のグラフィック最適化MODであるSodiumおよびLithiumと完全に互換性があります。プレイヤーから非常に離れた場所の簡略化された地形(LODチャンク)を作成するDistant Horizons MODを使用すると、特に大きなパフォーマンスの向上が見られます。Distant HorizonsのLODモデルを構築するには、バックグラウンドで大量のチャンクを高速に生成する必要があるため、NoisiumedによってCPU負荷が軽減されることで、初期の領域探索時の長時間のゲームのフリーズを防ぐことができます。
結論
Noisiumed MODは、Minecraft Java Editionにおけるチャンク生成の最適化のための、非常に特化していますが効果的なツールです。パレットストレージへの直接書き込みとノイズ計算のスマートなキャッシュのおかげで、ワールドの活発な探索中や、マップの事前読み込みプラグインの実行中におけるCPUへの負荷を大幅に削減します。
バニラの生成との100%の完全な一致(seed parity)を保証するため、作成された世界は、バイオームのズレや構造的な歪みなしに、元のゲームと同一になります。このMODの主な制限は、チャンク作成の初期段階のみを改善するものであり、世界がすでに生成されてディスクに保存された後の全体的なフレームレート(FPS)やゲームの物理演算には影響を与えないことです。そのため、サーバーの管理者や新しい土地を積極的に旅するプレイヤーにとって優れた選択肢となります。
インストール
通常のインストールは約 5 分で完了します。手順は同じで、ローダーと対応するビルドだけが異なります。
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











