裏側処理を削る軽量化『BadOptimizations』解説

BadOptimizationsは、描画エンジンそのものを大幅に置き換えるのではなく、ライトマップ更新や空の色計算、デバッグ用処理など、クライアント側で繰り返し実行される細かな処理を最適化する軽量化MODです。

明るさに変化がないときのライトマップ更新を省略したり、空の色計算を簡略化・キャッシュしたりすることで、CPU処理やGPUへの不要なテクスチャ転送を減らします。本記事では、主な最適化機能や対応環境、他MODとの併用時の注意点を解説します。

フレームとティックの違い

フレームは画面を1回描画する単位で、1秒間の描画回数はFPSで表されます。ティックはゲーム内の状態を更新する処理単位で、通常は1秒間に20回実行されます。BadOptimizationsは、機能によってフレーム単位またはティック単位の処理を最適化します。

ご利用のMODバージョンによっては記事内の情報と異なる場合がありますので、あらかじめご了承ください。

目次

動作環境と要件

BadOptimizations MODのアイキャッチ画像

Creator: thosea

項目詳細
ジャンル軽量化・最適化
記事の検証対象BadOptimizations 2.4.1 / Minecraft 1.21.1 / Fabric
主な対応バージョン1.20.1 / 1.21.1 / 26.2
対応ローダーFabric / Forge / NeoForge
動作環境クライアント専用
前提MODなし
配布ページModrinth / CurseForge

※使用するMODのバージョンやMODローダーによって、動作環境が変わる場合があります。
特に依存・前提MODについては必ず導入するMODページの Dependencies を最優先で確認してください。

こんな人におすすめ
  • Sodiumなどの描画最適化MODや、Lithiumなどのゲームロジック最適化MODに加え、クライアント側の細かな処理も軽量化したい
  • ライトマップ更新や空の色計算など、フレームごと、またはティックごとに実行される処理負荷を少しでも減らしたい
  • 大幅な描画エンジンの変更を行わず、複数の細かな最適化を追加したい
導入・使用時の注意点
  • 既知の競合や、他MOD側から申告された非互換性が検出された場合は、該当する最適化機能が自動的に無効化されます。ただし、すべての競合を自動検出できるわけではありません。
  • FPSやフレーム時間への効果は、PCスペック、設定、他MODの組み合わせ、負荷のかかり方によって異なります。
  • Sodiumのように描画エンジンを大幅に変更するMODではなく、複数の細かな処理を対象とする「マイクロ最適化」が中心です。

主な機能や特長

ライトマップ更新のスキップとキャッシュ

ガンマ設定、ポーション効果、ディメンションなど、ライトマップの内容に影響する状態が変化していない場合、毎ティック行われるライトマップの再計算とGPUへのテクスチャ転送を省略します。前回のライトマップを再利用することで、クライアント側の処理負荷を軽減します。

ライトマップとは

ブロックから発生する光や空から届く光などをもとに、画面上の明るさを表現するためのテクスチャです。更新時にはCPUで明るさを計算し、その結果をテクスチャとしてGPUへ転送します。

空の色計算サンプリングの最適化

バニラでは、現在の空の色を求めるため、周辺バイオームを考慮するカラーサンプラーがフレームごとに呼び出され、内部で216回のサンプリングを行います。BadOptimizationsは、異なる空色を持つバイオームの境界付近だけこの処理を使用し、それ以外ではより短く単純な計算に置き換えます。計算結果は1ティック単位でキャッシュされます。

バージョンによる機能差

空の色計算をキャッシュする最適化は、Minecraft 1.21.10以前で使用されます。Minecraft 1.21.11以降では空の色の仕組みが変更されたため、この最適化は搭載されていません。本記事の検証対象であるMinecraft 1.21.1では利用できます。

不要なデバッグ処理のバイパス

Minecraftには、ミツバチ、ゲームイベント、GameTest、村人AIなどの状態を確認するためのデバッグレンダラーが用意されています。BadOptimizationsは、対応するデバッグ機能が有効で、サーバーから処理対象のデータを受信している場合だけロジックを実行し、それ以外では不要な処理を省略します。

デバッグレンダラーとは

開発者やサーバー管理者が、ミツバチの行動、村人AI、ゲームイベントなどの内部状態を画面上で確認するための診断用描画機能です。通常のF3デバッグ画面全体を指すものではありません。

動画でわかる『BadOptimizations』

当ブログが運営するMOD解説系チャンネルの動画で『BadOptimizations』を紹介しています。記事だけでは分かりにくい実際の挙動やフレームレートを確認できます。

ぜひチャンネル登録と高評価をお願いします。
今後の記事と動画作成のモチベーションが上がります!

MODに関する「質問」「問合せ」について

当ブログを参考にしてくださる方へお願い

Twitter

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

コメントする

☺️コメントは、他の閲覧者を不快にさせないよう丁寧な言葉でご記入ください。

  • ✅質問前にご自身で試行錯誤・公式情報・類似事例が無いか調べた上でご記入ください。
  • ✅日本語翻訳依頼や日本語化リソースパック配布の催促は受け付けていません。
  • ✅MOD日本語翻訳・掲載済みMODの更新リクエストはページ上部のリクエストフォームからお願いします(コメント欄やお問合せでの個別依頼は受け付けていません)。
  • ✅誤字脱字、ファイル不備等は該当記事のコメント欄にお願いします。コメントの掲載はしませんが対応可能なものは速やかに対応します。

CAPTCHA


目次