コンテンツ
OptiFineからの脱却~Fabricの軽量化はSodiumからはじめよう
バニラのマイクラプレイヤーなら誰もが経験するであろう、パフォーマンスの問題。
または有名軽量化MOD『Optifine』が問題を起こしすぎて、乗り換えたい人。
本記事は、そんな問題を一気に解決してくれる強力な軽量化MOD「Sodium」と関連MOD「Sodium Extra」「Reese’s Sodium Options」「MoreCulling」「LambDynamicLights」についても解説します。
Sodiumを導入することにより、フレームレート(FPS)値で比較すると2倍ほどのパフォーマンス向上が見られます。
設定検証環境
今回の記事は以下のMODとMODのバージョンにて記載します。
「More Culling」と「LambDynamicLights」の採用理由は、以前紹介した『Embeddium』で同等の機能があったため、Sodium環境でもEmbeddiumと同じ環境を構築したかったためです。
Minecraft:1.20.4
対応Mod Loaders:Fabric / Quilt
- Sodium : 0.5.8
- Sodium Extra : 0.5.4
- Reese’s Sodium Options : 1.7.2
- More Culling : 0.24.0
- LambDynamicLights : 2.3.4
- Nvidium : 0.2.6-beta
必須MOD:Cloth Config API(More Cullingに必須)
推奨MOD:なし
動画でわかるSodiumと関連MOD 設定項目解説&検証
当ブログが運営している、ずんだもんで紹介するMODの日本語化リソースパックとMOD解説がメインのチャンネルです。
画面設定の各項目の機能説明や動画で理解しやすい比較検証と、日本語化状態を確認できます。
ぜひチャンネル登録と高評価をお願いします。
今後の記事と動画作成のモチベーションが上がります!
基本説明と各種MOD解説
『Sodium』軽量化MODの役割とは
SodiumはMinecraft 1.16以降に対応したレンダリングエンジン1および最適化MODで、パフォーマンスとグラフィック品質を劇的に向上させることを主としたMODです。
他のレンダリング特化型MODと比較して、Fabric MODエコシステムとの互換性が広く、ゲームの見た目を損なうことなく快適なマイクラ環境を実現してくれます。
バニラからどう変わる?
SodiumはMinecraftのワールドレンダリングコード全体を現代的なレンダリング技術に基づいて独自に実装しています。
以下は、Sodiumのパフォーマンス改善の主な要因の一部です。
ジオメトリのバッチ処理と描画パスの統合
これにより、ワールドをレンダリングする際のCPUのオーバーヘッド2を大幅に削減。
コンパクトなジオメトリ形式
ビデオメモリの使用量を約40%削減し、ビデオメモリ帯域幅の要求を大幅に減少。
カスタムスレッディング実装
マルチコアCPUを最大限に活用し、ラグスパイク3を減少。
頂点の構築と変換の最適化
即時モードレンダリングが高速化され、エンティティが多いシーンでのパフォーマンスが向上。
メモリ管理の改善
メモリ消費とガベージコレクタ4の活動によるラグスパイクを減少。
さらに、Sodiumはゲームのグラフィックの忠実度を実際に向上させ、特にバイオームの色付けやスムースライティングの品質を改善します。
『Sodium Extra』はSodiumに多くの機能を追加するMOD
Sodium Extraは、SodiumにOptiFineのビジュアル機能を追加することを目的としています。
また、Sodiumではまだ利用できないビジュアルバグの修正や他のパフォーマンスオプションなどの機能も提供します。
Sodiumで変更になったビデオ設定メニューにSodium Extraの項目が追加されます。
今回の解説記事用に、Extraの項目には「☆」を付けています。
※パーティクルの表示項目については仕様上「☆」が付けられませんが、Extraで追加された項目が含まれています。
Extraで追加される設定項目
このMODの概要は以下の通りです。
- アニメーションの切り替え
- 水、溶岩、火、ポータル、ブロックアニメーション、およびスカルクセンサーのアニメーションを切り替える機能。
- パーティクルの切り替え
- パーティクルの動的な切り替え機能。他のMODが新しいパーティクルを実装している場合、そのパーティクルも切り替えることができます。
- 詳細設定
- 空の切り替え
- 星の切り替え
- 太陽と月の切り替え
- 天気の切り替え
- バイオームカラーの切り替え
- 空の色の切り替え
- レンダー設定
- 霧の切り替え:有効にすると次元ごとの霧の切り替えを追加します。無効の場合は単一の霧スライダーに戻ります。
- 霧開始の倍率:霧がレンダリングを開始する位置を制御する倍率を追加。
- 線形フラットカラーブレンダーの使用
- ライトアップデート:ライトの更新を処理しません。この機能は主に大規模なレッドストーン装置で使用されます。よく分かっている場合を除いて無効にしないでください。
- 静的エンティティのレンダリング切り替え(額縁、防具立て、絵画)
- ビーコンビームの切り替え
- エンチャントテーブルの本の回転の切り替え
- ピストンの伸縮アニメーションの切り替え
- 額縁のネームタグの切り替え
- プレイヤーネームタグの切り替え
- 追加機能
- macOSで解像度を低減:レティナディスプレイで解像度を半分にします。
- FPSと座標の切り替え(設定可能)
- 雲の高さ
- トースト通知:新しいワールドを生成するときの迷惑な木をパンチする通知を停止します。
- 進捗トースト:進捗トーストを停止します。
- レシピトースト:レシピトーストを停止します。
- システムトースト:システムトーストを停止します。
- チュートリアルトースト:チュートリアルトーストを停止します。
- 即時しゃがみ:しゃがむときにカメラをリープさせない。
- シェーダーの防止:バニラシェーダーの読み込みを防止します。例:クモの視点を観察するときの歪んだ視界。
- ステディデバッグHUD:デバッグHUDを一定のペースで更新します。バニラの無制限ではなく、ステディデバッグHUDリフレッシュレートで設定されたペース。
『Reese’s Sodium Options』はビデオ設定画面を改善するMOD
このMODは、Sodiumのビデオ設定画面を改善し、ユーザーエクスペリエンス(UX)5を向上させることを目的としています。
機能
- 検索バー: オプションを素早く見つけるための検索機能を追加。
- スライダー値の変更: SHIFTキーを押しながらスクロールすることでスライダーの値を変更可能。
- スクロール可能なタブ: オプション画面のタブがスクロール可能に。
- スクロール可能なページ: Sodium Extraと併用することで、全体的により良いUXを提供。
- Iris Shader Packボタン: Irisシェーダーパックのボタンを追加。
『More Culling』でさらに描画パフォーマンス向上
More Cullingは、複数の種類のカリングの処理方法を変更し、パフォーマンスを向上させるMODです。カリングとは、プレイヤーから見えないものをレンダリングしないことでパフォーマンスを向上させる技術です。
動作条件
Cloth Config APIが必須
『LambDynamicLights』でリアルな動的照明追加で没入感アップ
LambDynamicLightsは、マイクラに動的照明を追加するMODです。
暗闇の中でトーチやランタンを持つことで視界を確保できるようになります。
動的照明は、アイテムを持つエンティティや燃えているエンティティなどが光を放つ機能です。
これにより、マイクラの世界がよりワクワクするものに変貌します。
ビデオ設定画面の変遷
今回紹介しているMODを導入することにより、ビデオ設定画面の見た目が変化していきます。
Reese’s Sodium Optionsを導入することで設定画面の使いやすさが格段に向上します。
各MODの設定項目解説
各MODごとに設定項目について比較画像を用い解説をしていきます。
Sodium 設定項目解説
一般
この項目はバニラの設定項目が集まっているため、特に解説することはありません。
ただし、Sodiumを導入することで、バニラの設定項目にもツールチップ情報が表示されるようになります。
これにより、マイクラ初心者とって役立つかもしれません。
もっとも、いきなりMODを導入する初心者は少ないかもしれませんが…
品質
このセクションは基本的にバニラの項目で、Sodiumで追加された設定項目は2つのみです。
葉の品質
葉が透明(描画優先)か不透明(処理優先)で描画されるかを設定できます。
PC性能が低く、マイクラが重いと感じる方は、不透明に設定することで若干の軽量化が期待できます。
ビネット
有効にすると、暗い場所でプレイヤーにビネット効果が適用され、全体的な画像が暗くなり、より劇的な見た目になります。
雰囲気はよくなりますが、プレイ時の(若干暗くなるため)快適さは減るかもしれません。
パフォーマンス
チャンク更新スレッド
チャンク構築に使用するスレッドの数を指定できます。
スレッド数を増やすことでチャンクのロードや更新速度が向上しますが、フレームタイムに悪影響を及ぼす可能性があります。
デフォルト値でほとんどの状況をカバーできるため、特に変更する必要はありません。
チャンク更新を常に遅延させる
有効にすると、重要なチャンク更新が完了するまでレンダリングが待機しなくなります。
これにより、特定の状況でフレームレートが大幅に向上する可能性がありますが、ブロックの表示や消失に時間がかかるため、視覚的な遅延が発生することがあります。
ブロックフェイスカリングを使用する
有効にすると、カメラに面しているブロックの面だけが描画されます。これにより、描画プロセスの非常に早い段階で多くのブロック面を削除でき、描画パフォーマンスが大幅に向上します。
一部のリソースパックではこのオプションに問題がある場合があるため、ブロックに穴が見える場合は無効にしてみてください。
フォグオクルージョンを使用する
有効にすると、フォグ効果によって完全に隠されると判断されたチャンクは描画されず、パフォーマンスが向上します。
フォグ効果が強い場合(水中など)には改善が顕著になりますが、一部の状況では空とフォグの間に望ましくない視覚的なアーティファクトが発生する可能性があります。
エンティティカリングを使用する
有効にすると、カメラのビューポート内にあるが見えるチャンク内にないエンティティは描画中にスキップされます。
この最適化はチャンク描画用に既に存在する可視性データを使用し、オーバーヘッドを追加しません。
見えるテクスチャのみをアニメーション化する
有効にすると、現在の画像で見えると判断されたアニメーションテクスチャのみが更新されます。
これにより、一部のハードウェアでは特に重いリソースパックを使用する場合に大幅なパフォーマンス向上が得られることがあります。
一部のテクスチャがアニメーションしない問題が発生する場合は、このオプションを無効にしてみてください。
エラーコンテキストを使用しない
有効にすると、エラーチェックを無効にしてOpenGLコンテキストが作成されます。
これにより描画パフォーマンスがわずかに向上しますが、突然の説明のつかないクラッシュのデバッグが困難になる可能性があります。
何を言っているかよく分からない方は、パフォーマンス向上を選ぶと良いでしょう。
アドバンス
永続マッピングを使用する
デバッグ専用の設定で、有効にすると不要なメモリコピーを回避するためにステージングバッファの永続メモリマッピングが使用されます。
これを無効にすると、グラフィカルな破損の原因を特定するのに役立つ場合がありますが、OpenGL 4.4またはARB_buffer_storageが必要です。
CPUレンダーアヘッド制限
デバッグ専用の設定で、GPUに送信されるフレームの最大数を設定できます。
この値を変更することは推奨されていません。
非常に低い値や高い値はフレームレートの安定性を損なう可能性があるため、触らない方が無難です。
Sodium Extra 設定項目解説
Sodium Extraは、SodiumにOptiFineのビジュアル機能を追加することを目的として作られたMODです。
また、Sodiumではまだ利用できないビジュアルバグの修正や、他のパフォーマンスオプションなどの機能も含まれています。
アニメーション、パーティクルの表示、詳細、描画などがExtraで追加されるセクションです。
アニメーション
このセクションでは、すべてのアニメーションの処理が実行されるかどうかを設定できます。
初期設定ではすべて有効になっており、無効にするとアニメーション処理が停止します。
アニメーションの検証は動画で確認を!
通常のプレイでは無効にする必要は感じませんが、PVPなどのシビアな戦闘で少しでも軽量化を図りたい場合に利用してみてはいかがでしょう。※サーバーが許可していればですが
パーティクルの表示
この項目では、パーティクルの表示・非表示を詳細に設定できます。
例えば、ポーション使用時やビーコン使用時のステータス効果のパーティクルをオフにしたり、バニラ以外のMODで追加されたパーティクルもオンオフの切り替えが可能です。
設定項目一覧 (マイクラ1.20.4対応)
詳細
このセクションでは、気象や天体に関する描画設定を行います。
好みに応じてオンオフを切り替えることができます。
空
有効にすると空が描画されます。
星
有効にすると星が描画されます。
太陽と月
有効にすると太陽と月が描画されます。
バイオームの色
有効にすると、バイオームごとの色が反映されます。
空の色
有効にすると、バイオームごとに空の色が変更されます。
※画像はサバンナバイオーム
描画
このセクションでは、霧や静的エンティティ、その他の描画に関する設定を行います。
有効時
ディメンションごとの霧
有効にすると、各ディメンションごとに霧のスライダーが表示されます。無効にすると一つの霧のスライダーが表示されます。
霧の開始地点の倍率
地形上の霧の描画開始地点を変更できます。デフォルト設定ではバニラの霧設定を使用し、調整することで霧の発生位置を変更できます。
照明の状態更新
有効にすると、照明の状態更新の処理が実行されます。
『額縁』『防具立て』『絵画』
各オブジェクトの描画設定ができ、無効にすると表示されなくなります。
※絵画は批評時になりませんでした。バグ?
ビーコンのビーム
有効にすると、ビーコンのビームが描画されます。
エンチャントテーブルの本
有効にすると、エンチャントテーブルの本が描画されます。
ピストン
有効にすると、ピストンの伸びるアニメーションが描画されます。
※私の環境だとピストン本体が点滅するバグが発生しました。
額縁のネームタグ
有効にすると、額縁のネームタグが描画されます。
プレイヤーネームタグ
有効にすると、プレイヤーのネームタグが表示されます。
その他
FPS表示 座標 トースト通知 雲などの設定、各種表示設定を行うことができます。
MacOSで解像度を下げる(Mac専用項目)
Retinaディスプレイで実際の半分の解像度を使用し、MacOSでのパフォーマンスを大幅に向上させます。
オーバーレイの位置
オーバーレイ (FPSと座標) を描画する位置を設定できます。
文字のコントラスト
FPS/座標表示のコントラストを変更できます。
- 無し:デフォルトの文字を描画
- 背景:文字にデバッグメニューのような背景を描画
- 影:デフォルトの文字に影を描画
FPSの表示
オーバーレイに現在のFPSを表示できます。
FPSの拡張表示
オーバーレイに追加のFPS情報 (最大/平均/最小) を表示できます。
座標の表示
オーバーレイにプレイヤーの座標を表示します。
雲の高さ
描画される雲の高さを設定できます。
雲の距離
プレイヤーから雲が描画される距離を制御します。
追加のアイテムのツールチップ
有効にすると、アイテムのツールチップにIDと耐久が表示されます。通常プレイ時にID表示は不要ですが、耐久値を数値で表示してくれるのは便利です。
ポップアップメッセージ
有効にすると、レシピと進捗のポップアップが表示されます。各種通知を個別にオンオフできます。
インスタントスニーク
有効にすると、スニーク時の視点の移動が瞬間的に行われます。
シェーダー読み込みの防止
有効にすると、バニラのシェーダーがロードされなくなります。具体例としては、スペクテイターモードでエンダーマンやクリーパー、クモなどの視点に乗り移った時の視界の変化や歪みがなくなります。
安定したデバック画面
有効にすると、デバッグ画面の更新間隔が一定量のティックで設定されます。
安定したデバッグ画面の更新間隔
デバッグ画面の更新間隔をティック数で設定できます。数値がめまぐるしく動いて読み取れない場合に役立ちます。
Reese’s Sodium Options 設定項目はありません
設定項目はありません。
前述したとおり、このMODはSodiumのビデオ設定画面を改善し、ユーザーエクスペリエンス(UX)を向上させることを目的としています。
ほんのちょっとかゆい所に手が届く系のMODです。
MoreCulling 設定項目解説
More Cullingは、複数の種類のカリングの処理方法を変更し、パフォーマンスを向上させるMODです。
カリングとは、プレイヤーから見えないものをレンダリングしないことでパフォーマンスを向上させる技術です。
導入するには『Cloth Config API』が必要ですので、注意してください。
それでは設定項目について解説…といっても基本的なカリング設定は有効となっており、これをわざわざオフにする必要はないと思います。
それに、絵面的に見えない部分を動画で表現するのは困難なので、項目ごとの解説できません。
1点、葉のカリングについてだけ設定を変更した際の変化を例に挙げます。
これを処理優先にすると、葉っぱが見えている面だけで表現されるため、スッカスカになります。
FPSで計測したところ、目立った違いは感じられなかったのでデフォルトで良いと思います。
低スペックPCの人は違いが出てくるかもしれませんので、森林付近で活動している人は試してみても良いでしょう。
表示バグ
項目をスクロールしたときにスライダー設定箇所の数値がずれる問題が日本語化以前にあります。
LambDynamicLights 設定項目解説
LambDynamicLightsは、マイクラに動的照明を追加するMODです。
暗闇の中でトーチやランタンを持つことで視界を確保できるようになります。
動的照明は、アイテムを持つエンティティや燃えているエンティティなどが光を放つ機能です。
これにより、マイクラの世界がよりワクワクするものに変貌します。
たいまつを掲げて歩く洞窟や草原。投げ込むたいまつによって照らし出される谷底。
ちょっとした変化ですが、バニラのマイクラから一気に没入感が上がります。
このMODはビデオ設定画面からの変更はできず、『Mod Menu』MODを追加してそこから設定を行います。
『Mod Menu』MODを導入していれば、以下の画像のように「Mods」の項目が表示され、その中に各MODの一覧があります。
そこから該当するMODの設定を変更することができます。
臨場感ある光源
臨場感ある光源を有効にします。
例えば、たいまつやランタンを手に持ったプレイヤーの周辺が明るくなります。
Fancyが一番滑らかに描画し、Fast(速い)やFastest(最速)は照明の更新を最小限にして負荷を抑えますが、見た目上ラグが発生しているように見えることがあります。
以下の6項目は個別に動的照明を有効無効にする設定です。
エンティティ
エンティティに臨場感ある光源を適用します。プレイヤーには常に適用されるので、オフにしても消えません。
ブロックエンティティ
ブロックエンティティに臨場感ある光源を適用します。
一人称視点
一人称視点で手持ちのアイテムに臨場感ある光源を適用します。
独自にこの光源描写を行うシェーダーを使用している場合は、このオプションをオフにすることを推奨します。
耐水性チェック
光源の耐水性チェックを行い、たいまつなど耐水性のない一部のアイテムは水に浸かっている状態では発光しないようになります。
クリーパー
クリーパーの発光モードを設定できます。オフの場合は臨場感ある光源を適用しません。Simpleの場合は一定の明るさで発光し、Fancyの場合は(対して明滅しませんが)明滅も再現します。
TNT
TNTの発光モードを設定できます。クリーパーの場合と同じで、SimpleとFancyの差は感じられません。
このMODも基本的には変更する必要は感じられませんが、好みでTNTの動的照明をオンに変更する程度です
Nvidium 紹介
Nvidiumに関しては別記事と動画で解説を行っています。
日本語化リソースパック
DeepLで翻訳し、実際にプレイしつつ表現や解釈の違いなどを修正しています。
一通り翻訳し終え、それなりに使えるレベルになりましたので配布します。
利用規約
- 機能不全やデータ損失など、この日本語リソースパックを使用したことによるいかなる不利益に対しても当方では責任を負いかねますので、自己責任でご利用ください。
- 再配布(二次配布)は禁止です。
- 動画配信やブログ等での使用はご自由にお使いください。
その際のクレジット表記は不要です。してくれた喜びます程度です。
ファイルのダウンロード
注意事項
マイクラのバージョンとリソースパックのバージョンが一致している場合
問題なく導入できます。
マイクラのバージョンとリソースパックのバージョンが一致していない場合
リソースパック適用画面でこのような赤い表記になります。
バージョンが違うと未翻訳個所が出る場合がありますが、使用可能です。
リソースパック内の「pack.mcmeta」『”pack_format”: XX,』の数値(マイクラバージョンを示す値)がマイクラバージョンと異なることにより起こる現象です。
ダウンロードファイル
Sodium
[sodium-fabric-0.5.8+mc1.20.4]
————————-
Sodium Extra
[sodium-extra-0.5.4+mc1.20.4-build.116]
※公式で翻訳済みです。本バージョンで不要な箇所が英語だったのを翻訳しただけですので、あえて適用する必要はありません。
————————-
Reese’s Sodium Options
[reeses_sodium_options-1.7.2+mc1.20.4-build.102]
————————-
More Culling
[moreculling-1.20.4-0.24.0]
————————-
LambDynamicLights
[lambdynamiclights-2.3.4+1.20.4]
ファイルの構成
\assets\該当MOD名\ja_jp.json:言語ファイル
\pack.mcmeta:リソースパックの情報が記載されているファイル
\pack.png:リソースパックのアイコン画像
リソースパックの導入方法
リソースパック導入について別記事で詳細にまとめましたので、こちらをご覧ください。
動画で解決!リソースパック導入手順
リソースパック導入の流れを説明しています。
ぜひチャンネル登録と高評価をお願いします。
今後の記事と動画作成のモチベーションが上がります。
翻訳フィードバック協力のお願い
「この翻訳おかしいんだけど?」「ニュアンス違うかも」や誤字脱字等を発見された場合、この記事のコメントに残していただけると、内容を確認し問題がなければ反映します。
脚注
- レンダリングエンジンは、コンピュータ上で3Dグラフィックスや2Dグラフィックスを生成・表示するためのソフトウェアやコンポーネントのことを指します。特に、ビデオゲームやアニメーション、グラフィックスアプリケーションにおいて重要な役割を果たします。レンダリングエンジンは、入力されたデータ(モデル、テクスチャ、シェーダー、光源など)を基に、最終的な画面表示を生成します。 ↩︎
- CPUのオーバーヘッドは、コンピュータのプロセッサ(CPU)が実際のタスク処理とは直接関係ない管理作業や追加の処理を行うために必要とする時間やリソースを指します。これは、システムの効率性に影響を与え、全体的なパフォーマンスを低下させる可能性があります。 ↩︎
- ラグスパイクとは、コンピュータゲームやオンラインゲームにおいて、一時的にゲームのパフォーマンスが著しく低下し、画面がフリーズしたり、遅延が発生する現象を指します。この現象は「ラグ(遅延)」と「スパイク(一時的な急上昇)」を組み合わせた言葉で、通常は以下のような原因で発生します。 ↩︎
- ガベージコレクタ(Garbage Collector、GC)は、コンピュータプログラムが動作している際に、不要になったメモリ領域(ガベージ)を自動的に回収し、再利用可能なメモリを確保するための仕組みです。ガベージコレクタは主に、高水準プログラミング言語(例:Java、C#、Python)において利用されます。 ↩︎
- (ゲームにおける)ユーザーエクスペリエンス(UX)とは、プレイヤーがゲームを通じて体験する全ての側面に関わる経験の質を指します。
これには、ゲームのインターフェース、操作性、視覚的な魅力、ストーリーテリング、ユーザーが直面する課題とその解決方法、そしてゲームプレイの流れなど、プレイヤーの満足度やエンゲージメントに影響を与える要素が含まれます ↩︎