これから 1.20.1のForgeでMODを始める方へ
Minecraftというゲームは、その看似単純なブロック状の見た目とは裏腹に、コンピュータ内部では極めて複雑で負荷の高い処理を行っています。
特にJava Editionは、広大なプロシージャル生成(自動生成)ワールド、数千におよぶエンティティ(動く物体)、そして複雑な光の計算をリアルタイムで行う必要があり、その最適化は長年の課題でした。
長きにわたり、プレイヤーはこの課題に対する唯一の解として『OptiFine』を使用してきました。
しかし、Minecraftのバージョン1.20.1(Forge環境)においては、この常識が完全に覆されています。
技術的なエコシステムの変化、Minecraft本体のコードベースの刷新、そしてより高度でオープンな代替技術の台頭により、OptiFineはもはや「最適解」ではなく、むしろ「互換性を破壊し、パフォーマンスを阻害する要因」として認識されるようになっています。
専門的な用語を避け、初心者にも理解しやすい「比喩」を用いながら、なぜそのModが必要なのか、コンピュータの裏側で何が起きているのかを徹底的に解説します。

なぜ1.20.1 ForgeでOptiFineは「非推奨」なのか?知っておくべき3つの致命的欠点
かつての英雄であるOptiFineが、なぜ現代のForge 1.20.1環境では「不適格」とされるのでしょうか。
これには大きく分けて3つの技術的・構造的な理由があります。
理由1:クローズドソースによる互換性の低さ
OptiFineのプログラムの中身は公開されていません。
これは、他のMod作者がOptiFineとの競合(バグ)を直そうとしても、中身が見えないため手出しができないことを意味します。
MinecraftのMod環境は、数千のModが互いに連携し合う巨大な生態系です。
その中で、中身のわからない巨大なプログラムがMinecraftの根幹を勝手に書き換えてしまうことは、現代の複雑なModパック環境(200個以上のModを導入するなど)においては致命的な不安定さを招きます。
理由2:描画エンジンの旧式化
OptiFineの軽量化技術は、古いMinecraftの構造を前提としたものが多く、現代の高性能なグラフィックボード(GPU)の力を十分に引き出せていません。
一方で、後述する『Embeddium』などの新しいModは、現代的な描画技術(モダンOpenGLなど)を積極的に採用しており、フレームレート(FPS)の向上においてOptiFineを圧倒しています。
理由3:モジュール化への遅れ
以前は「軽量化も、影も、ズームも」全部入りのOptiFineが便利でした。しかし現在は、「描画は描画のプロ」「メモリはメモリのプロ」というように、各機能に特化したModを組み合わせる方が、性能も互換性も高いことが証明されています。これを「モジュール型環境」と呼びます。
本記事のアプローチ:初心者への架け橋
本記事では、複雑なコンピュータ用語を日常的な概念に置き換えて解説します。
- レンダリング(描画): 画家がキャンバスに絵を描く作業。
- メモリ(RAM): 作業をするための机の広さ。
- CPU(計算処理): 作業をする人の頭の回転の速さ。
- ガベージコレクション(GC): 作業中に出たゴミを片付ける清掃員。
これらの比喩を通じて、Forge 1.20.1における最新の最適化技術を紐解いていきます。
FPSを劇的に変える!描画最適化MOD「Embeddium」とシェーダー対応「Oculus」
Minecraftが「重い」と感じる最大の要因は、画面の描画処理(レンダリング)にあります。
バニラ(改造なし)のMinecraftは、驚くほど非効率な方法でブロックを描画しています。
これを根本から作り変えるのが、現代最適化の要となる『Embeddium』です。

Embeddium:現代の「高性能印刷機」
Fabric環境で伝説的な性能を誇る『Sodium』というModがあります。
これをForge環境でも使えるように移植し、さらにMod間の互換性を強化したのが『Embeddium』です。
かつては『Rubidium』という移植版が主流でしたが、現在は開発が停滞しバグが多いため、後継であるEmbeddiumが唯一の推奨選択肢となっています。

技術的メカニズム:なぜEmbeddiumは速いのか?
バニラのMinecraftの描画処理は、例えるなら「画家が手書きでパラパラ漫画を描いている」ようなものです。
一枚一枚、ブロックの位置を確認しては描画命令を出しており、これではどれだけ高性能なPCを持っていても、画家(CPU)の手が追いつきません。
Embeddiumは、このプロセスを「高性能な印刷機」に置き換えます。
具体的には、描画すべきデータをまとめてグラフィックボード(GPU)に渡し、「あとはよろしく」と任せてしまうのです。
これにより、CPUの負担が劇的に減り、GPUのパワーをフルに発揮できるようになります。
結果として、FPS(1秒間のコマ数)が2倍、場合によっては5倍以上に跳ね上がります。
EmbeddiumとRubidiumの比較
多くの解説サイトや古い動画では『Rubidium』が紹介されていますが、1.20.1環境においては明確な違いがあります。
| 比較項目 | Rubidium (旧) | Embeddium (新・推奨) |
| 開発状況 | ほぼ停止、バグ放置 | 活発、即座に修正対応 ※現時点では2025/1以降は更新されていない |
|---|---|---|
| 互換性 | 他のModと競合しやすい | Mod互換性を最優先に設計 |
| 機能 | 基本的な描画最適化のみ | 半透明処理の改善、API拡張など追加機能あり |
| 推奨度 | 非推奨 | 必須 |
Embeddiumは、Rubidiumのコードを引き継ぎつつ、Modパックでの利用を想定して「壊れにくさ」を重視して改良されています。
「Create」Modなどの複雑なアニメーションを持つModとの相性もEmbeddiumの方が優れています。

Oculus:OptiFineなしで「影」を実現する
Embeddium単体では、Minecraftの描画を高速化するだけで、いわゆる「シェーダーパック(影MOD)」を読み込む機能はありません。
そこで必要になるのが『Oculus』です。
OptiFineのシェーダー機能と互換性があり、既存のシェーダーパック(BSL ShadersやComplementary Shadersなど)をそのまま読み込むことができます。


導入の際の重要な注意点
Oculusは描画エンジンであるEmbeddiumに深く依存しています。
そのため、EmbeddiumとOculusのバージョンの組み合わせには非常に敏感です。
リサーチによると、特定のバージョンのOculus(例:1.7.0)を使用する場合、対応する特定のバージョンのEmbeddium(例:v3.3以降など)が必要となるケースがあります 。
バージョンが食い違うとゲームが起動直後にクラッシュします。
TexTrue’s Embeddium Options:もはや不要な遺物
過去の環境では、Embeddiumの設定画面が見づらいため、『TexTrue’s Embeddium Options』という補助Modを入れるのが定石でした。
しかし、最新のEmbeddium(Forge 1.20.1向け)には、この設定画面を見やすくする機能が標準で統合されています。
したがって、現在このModを追加で導入しようとすると、機能が重複して競合し、ゲームが起動しなくなる原因となります。古いガイド記事には「必須」と書かれていることがありますが、現在は導入してはいけないModの一つです。

重いメモリを劇的に軽くする「FerriteCore」と起動を速める「ModernFix」の凄さ
次に、Minecraftの「メモリ(RAM)」の問題に取り組みます。
多くのModを導入すると、PCのメモリが不足し、動作が重くなったりゲームが落ちたりします。
これを解決するのが『FerriteCore』と『ModernFix』です。
FerriteCore:メモリの「圧縮袋」
『FerriteCore』は、Minecraftが使用するメモリ量を劇的に削減するModです。
初心者向け解説:メモリ不足とは何か?
PCのメモリ(RAM)を「作業机の広さ」と考えてください。
Minecraftで遊ぶ時、ゲームは大量のブロックやアイテムの情報を「辞書」として机の上に広げます。
Modを入れると、この辞書の数が数百冊に増え、机の上(メモリ)がいっぱいになってしまいます。
机がいっぱいになると、作業員(CPU)は新しい辞書を開くために、古い辞書を一度本棚に戻さなければなりません。
この「片付け作業(ガベージコレクション)」が発生する瞬間、ゲームが一瞬止まります。
これが「ラグ(プチフリーズ)」の正体の一つです。

FerriteCoreの魔法
FerriteCoreは、この辞書の記述方法を効率化します。
例えば、Minecraftの内部では「石のブロック、硬い、灰色」「石のブロック、壊せる、灰色」といったように、同じような情報を何度も重複して記録しています。
FerriteCoreはこれを整理し、「石の性質:硬い、灰色、壊せる」と一箇所にまとめ、各ブロックはそこを参照するだけにします(専門的には「文字列の重複排除」や「データ構造の最適化」と呼びます)。
これにより、机の上に広げる辞書の厚さが半分以下になります。
ModernFix:万能の修理屋
『ModernFix』は、その名の通り現代のMinecraft(バージョン1.16以降)における様々なバグや非効率な処理を修正する「オールインワン」なModです。
ModernFixがもたらす3つの恩恵
- 起動時間の短縮: Modをたくさん入れると、起動に5分も10分もかかることがありますが、ModernFixはこれを半減させることができます。不要なリソースの読み込みをスキップしたり、並列処理(マルチタスク)を行ったりして、準備時間を短縮します。
- メモリリークの修正: 長時間遊んでいるとだんだん重くなる現象(メモリリーク)を防ぎます。遊んだ後の「ゴミ」を適切に捨てるようプログラムを修正します。
- 互換性の向上: バニラのバグによって、特定のModを入れるとワールドに入れないといった問題を修正します。例えば、ワールド生成時のメモリ割り当てを最適化する機能が含まれており、これを有効にすることでサーバーのパフォーマンスが向上します 21。
ModernFixは導入するだけで効果を発揮しますが、設定ファイル(config)をいじることでさらに高度な最適化も可能です。しかし、初心者は「入れるだけでOK」と考えて差し支えありません。
3.3 JVM引数の最適化:隠されたチューニング
Modではありませんが、メモリ管理において重要なのが「JVM引数(Java Virtual Machine Arguments)」です。Minecraftランチャーの設定で入力できる呪文のような文字列です。
リサーチによると、特にG1GC(Garbage First Garbage Collector)という清掃方式を最適化する引数が推奨されています 22。
以下は、一般的な8GB〜16GBメモリのPC向けの推奨設定例です:
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4
これらの設定は、メモリの掃除(ガベージコレクション)を「一気にまとめてやる(その間ゲームが止まる)」のではなく、「少しずつこまめにやる(止まらない)」ように調整するものです。
これは「メモリ量を増やす設定」ではなく、ほぼ全部が G1GC(ガベージコレクタ)の挙動チューニングです。
(メモリ量そのものは -Xms / -Xmx で決まります。)
各オプションの意味
-XX:+UseG1GC
G1 GC を使う。大きめヒープ(目安 6GB 以上)+「停止時間を短くしたい」用途向けのGC、と Oracle が説明しています。
※ 近年のJavaでは G1がデフォルトになっている、とも書かれています。
-XX:+ParallelRefProcEnabled
GC中の 参照(Reference)処理を並列化して、停止時間を改善しやすくする設定です。
(MOD環境で Reference が増えると効くことがあります。)
-XX:MaxGCPauseMillis=200
GCの「最大停止時間の目標(ソフト目標)」をミリ秒で指定。G1ではデフォルト200ms、と明記されています。
※ “保証”じゃないです。目標を守ろうとして他の挙動(世代サイズなど)が変わります。
-XX:+UnlockExperimentalVMOptions
実験的(試験的)オプションを使えるようにするスイッチ。
この後に出てくる G1NewSizePercent / G1MaxNewSizePercent は「試験的なフラグ」と書かれているので、そのために入ってます。
-XX:+DisableExplicitGC
System.gc() を呼ばれても それを処理しない(明示GCを無効化)。
Minecraft/Modが System.gc() を叩くとその瞬間カクつくことがあるので、それを潰す目的で使われがち。
-XX:+AlwaysPreTouch
起動時に Javaヒープの全ページに先に触って(コミットして)、実行中のページフォルトを減らす狙い。
デメリット:起動が遅くなる/-Xms を大きくしているほど最初に重くなる。
-XX:G1NewSizePercent=30
Young世代(若い世代)の最小サイズをヒープの何%にするか。デフォルトは5%。
30%はかなり大きめに固定する方向=Youngが太りやすい。
-XX:G1MaxNewSizePercent=40
Young世代の最大サイズをヒープの何%にするか。デフォルトは60%。
「最小30%〜最大40%」に狭めるので、G1の自動調整の余地を削って**若い世代を“ほぼ固定”**に近づけます。
-XX:G1HeapRegionSize=8M
G1がヒープを分割する リージョン(Region)サイズを指定。範囲は 1MB〜32MB(2の累乗)。
G1は「約2048リージョン」を目標に自動決定する、とあります。
8MB固定は、ざっくり 16GBヒープだと 16GB / 8MB = 2048リージョンで“狙い通り”になりやすい。逆に -Xmx が小さいと、リージョン数が減って調整が雑になったり、無駄が増えることがあります。
-XX:G1ReservePercent=20
昇格失敗(promotion failure)を減らすために、退避用に予約しておくヒープ割合。範囲0〜50、デフォルト10%。
20%に増やすと安全側だけど、実質使えるヒープが減るので、同じ感覚で運用するなら -Xmx も増やす発想になります。
-XX:G1HeapWastePercent=5
「回収できそうな割合がこの値を下回るなら混合GCサイクルを開始しない」系のしきい値。デフォルト5%。
あなたの値はデフォルトと同じです。
-XX:G1MixedGCCountTarget=4
マーク後に行う Mixed GC(若い+古いを一緒に回収)の目標回数。デフォルト8回。
4にすると、少ない回数で古い領域も片付けようとする方向=1回あたりの負荷が上がりやすい(=停止が伸びる可能性)。
まとめ
- G1を“停止時間短めで安定”に寄せたい(
MaxGCPauseMillis/ParallelRefProcEnabled) - ただし
G1NewSizePercent=30とG1MaxNewSizePercent=40で Young世代を大きめ&範囲狭めに固定してるので、環境によっては「GC回数は減るが、1回の停止が重い」方向に振れることがあります。 G1HeapRegionSize=8Mは だいたい16GB級のXmxに合わせた固定としてよく見ます(小さいXmxだと微妙になりがち)。AlwaysPreTouchは 起動重くなる代わりに実行中のガタつきを減らす系。
“失敗しやすいポイント”
-Xmxが小さい(例: 4GB〜6GB)なら、G1HeapRegionSize=8M固定は微妙になりやすい。自動に任せた方が安定することが多い。AlwaysPreTouchは-Xmsをデカくしてるほど起動が重くなる。G1NewSizePercent/G1MaxNewSizePercentは 試験的フラグ扱い。Javaのバージョンや環境で「効く/効かない」「逆効果」も普通にある。
たとえばメモリを32GB積んでても、Minecraftに割り当てるRAMは「多ければ多いほど速い」じゃないです。
Prism Launcherも「基本は4GBで十分、増やしても性能が上がるとは限らない」と明言してます。 (prismlauncher.org)
現実的には、遊び方(バニラ/軽量MOD/重量級MODパック/シェーダー)で Xmx を決めるのが正解。
加えて、Minecraft 1.20.5以降は Java 21 が必須です(公式告知)。 (Minecraft.net)
「見えない壁」の裏を削る!Entity CullingとRadium Reforgedで負荷を最小化
描画とメモリを最適化しても、まだPCには「計算」の負荷が残っています。数千体のモブの動き、レッドストーン回路、遠くの景色などです。これらを最適化するのが「ロジック(論理)」系Modと「カリング」系Modです。
Entity Culling:壁の向こうを見ない
『Entity Culling』は、非常にシンプルかつ効果絶大なModです。
技術解説:オクルージョン・カリング
通常のMinecraftは、プレイヤーの視界内にあるものは、たとえ「壁の裏側」にあっても描画しようとします。
例えば、あなたが洞窟の中にいる時、足元の地面のさらに下にある廃坑のチェストやゾンビも、PCは一生懸命描画計算しています。壁に遮られて見えないにもかかわらず、です。

Entity Cullingは、「レイ・トレーシング(光線追跡)」に近い技術をCPUを使って高速に行います。
プレイヤーの目から見えない「壁の向こう側」にあるエンティティ(モンスターやチェスト)を瞬時に判断し、それらの描画計算を完全にキャンセルします。
- 効果: 巨大な倉庫を作ってチェストを大量に並べた部屋や、牧場で動物を大量に飼っている場所で、劇的に軽くなります。
- 注意点: 以前はバグで透明な壁の向こうが見えなくなることなどがありましたが、最新版では非常に安定しています。
Radium Reforged:サーバー処理の脳内革命
Minecraftの内部処理(AI、物理演算、ブロック更新)を最適化するModとして有名なのがFabric版の『Lithium』ですが、Forge 1.20.1におけるその代替が『Radium Reforged』です。
重要な議論:Canary vs Radium Reforged
Forge向けのLithium移植版には、主に『Canary』と『Radium Reforged』の2つが存在し、どちらを使うべきか議論があります。
- Canary: 更新頻度が高く、新機能の取り込みに積極的ですが、その分「攻めた」最適化を行うため、1.20.1環境では他のModとの競合やクラッシュ(CTD)の報告が多く上がっています。また、一部の最適化機能が意図せず無効化されているという指摘もあります。
- Radium Reforged: 更新は比較的ゆっくりですが、安定性を重視しています。「Apotheosis」や「Create」といった大型Modとの併用環境において、Canaryよりもトラブルが少ないというユーザー報告が多数あります。
結論: 初心者が安定した環境を求めるのであれば、『Radium Reforged』を選択するのが賢明です。Modパック製作者の多くも、現在は安定性を取ってRadiumを採用する傾向にあります。

ImmediatelyFast:瞬時の描画をまとめる
『ImmediatelyFast』は、これまで見過ごされてきた「GUI(メニュー画面)」や「地図」、「文字」などの描画を最適化します。
これらは「即時モード(Immediate Mode)」と呼ばれる古い描画方式で描かれていますが、ImmediatelyFastはこれらを「バッチ処理(まとめて一回で描く)」方式に変更します。
地図を大量に貼った部屋や、文字が大量に表示されるインベントリ画面でのFPS低下を防ぐのに非常に効果的です。Embeddiumと併用することで、隙のない描画最適化が完成します。
その他の補助的最適化Mod群
主要なModに加え、以下のModを導入することで、さらに細かな部分の最適化が可能です。
これらは「塵も積もれば山となる」効果をもたらします。※リンク先はModrinth/CurseForgeです。
| Mod名 | 役割と解説 |
| Clumps | 経験値オーブの集約。 モンスターを倒した時に出る大量の経験値オーブは、PCにとって意外なほど重荷です。Clumpsはこれらを1つの大きなオーブにまとめます。計算量が減るだけでなく、サーバーの通信量も減ります。 |
|---|---|
| Noisium | ワールド生成の最適化。 新しい土地へ移動する際の地形生成処理を効率化します。エリトラ(滑空翼)で高速移動する際の「読み込み待ち(カクつき)」を軽減します。 |
| FastLoad | ワールド読み込み高速化。 チャンク(地形データ)の読み込み速度を向上させます。 |
| Connectivity | 通信パケットの最適化。 マルチプレイ時の接続不良や、ログイン時のタイムアウトを防ぎます。TCP/IP通信の処理を改善します。 |
| BadOptimizations | 微細な描画修正。 光源の計算など、非常に細かい部分の無駄を削ぎ落とすModです。名前は冗談ですが、効果は本物です。 |
不要または注意が必要なMod
一方で、名前は知られているものの、1.20.1環境では不要とされるModもあります。
- Starlight: 1.19以前は必須級の光計算最適化Modでしたが、1.20でMinecraft本体の光エンジンが改善されたため、導入効果は限定的です。入れても害はありませんが、劇的な効果は期待できません。
- OptiFine: 繰り返しになりますが、絶対に導入しないでください。上記の全てのModと競合し、環境を破壊します。
1.20.1 Forge 推奨Modリスト
ここでは、これまでのリサーチを統合し、Forge 1.20.1における「推奨Modリスト」を優先度順に提示します。これらを順番に導入していくことで、安全に環境を構築できます。※リンク先はModrinthです。
ステップ1:核となる基盤(必須)
まずはこれらを導入し、正常に起動するか確認してください。これだけでバニラの数倍のパフォーマンスが出ます。
- Embeddium (描画エンジン)
- ModernFix (システム修正)
- FerriteCore (メモリ削減)
ステップ2:描画とロジックの拡張(強く推奨)
次に、プレイの快適性を高めるModを追加します。
- Radium Reforged (処理最適化)
- Entity Culling (描画省略)
- ImmediatelyFast (GUI高速化)
- Clumps (経験値軽量化)
ステップ3:目的に応じた追加(任意)
必要に応じて導入してください。
トラブルシューティング:もし動かない時は?
Mod導入は「相性問題」との戦いです。もしゲームがクラッシュした場合、以下の手順で対処します。
- エラーログを読む: クラッシュレポートには必ず原因が書いてあります。「Mixin」や「Render」という単語と共にMod名が出ていないか探します。
- 二分探索法: Modを半分抜き、起動するか試す。起動したら抜いた半分に犯人がいます。これを繰り返して特定します。
- GPUドライバの更新: Embeddiumなどの描画Modは、グラフィックボードのドライバが古いと正しく動作しないことがあります。NVIDIAやAMDの公式サイトから最新ドライバを入手してください。

OptiFineの先にある世界へ
本記事の調査を通じて明らかになったのは、Forge 1.20.1環境における最適化は、もはや「一つのModを入れるだけ」の単純作業ではないということです。
それは、「互いに協力し合う専門家のチームを結成する」ような作業です。
- Embeddiumという天才画家。
- FerriteCoreという整理整頓が得意な司書。
- ModernFixという敏腕な修理工。
- Radiumという効率的な現場監督。
- Entity Cullingという無駄を省く検閲官。
彼らを適切に配置することで、OptiFine時代には到達し得なかった、極めて高速で、かつ安定したMinecraft環境が実現します。
最初はModの多さに戸惑うかもしれませんが、それぞれの役割を理解すれば、恐れることはありません。
この「モジュール型最適化」のアプローチは、オープンソースコミュニティの力によって日々進化し続けています。
OptiFineという古き良き友人に別れを告げ、新しい技術の恩恵を最大限に享受してください。
あなたのMinecraft体験は、かつてないほど滑らかで、美しいものになるはずです。
動画で解る『軽量化MOD』
当ブログが運営しているYouTubeチャンネルに投稿した軽量化関連の動画です。
この記事で紹介しているMODが多数映像化されています。
ちなみに、この記事で紹介しているMODの大多数は、軽量化MOD:軽量化MODパック5選でMine-Tech Selectionとして動画内でフレームレート計測しています。

この記事に関するコメント