MODを入れてマインクラフトを遊んでいるうちに、描画周りのいろいろな設定を試すことになった。
試した結果、自分の中での定番ができつつあるので、備忘録として書いておく。
筆者のPCスペック
参考情報としてPCスペックを簡単に書いておく。このくらいが現代ではミドルスペックらしい……と思っている。一昔前のハイエンド。
- OS:Windows 10 Pro
- CPU:Intel Core i7-6700K 4.00GHz 4.00GHz
- RAM:32GB
- グラフィックボード:NVIDIA GeForce GTX 1080
- 解像度:1920×1080
- ディスプレイのリフレッシュレート:60Hz
ディスプレイのリフレッシュレートだけはちょっと低いのかもしれない。でも基本的には困らないのでいいや、と思っている。
ぼくのマイクラのプレイの仕方
バニラ、もしくはMOD少量(5~10種程度)を導入してのサバイバルプレイ。
オーバーワールドを長距離探索することが多く、ワールドデータが肥大しがち。洞窟にもよく潜る。
建築はあまりしない。トラップタワーも滅多に建てない。レッドストーン回路はたまに作るが、あまり活用できてはいない。
こんな感じのプレイで適した設定。
NDIVIAコントロールパネルの設定
マインクラフトに使用しているパスのJavaのjavaw.exeを追加してプログラム設定で設定している。
意識していじった項目だけ紹介。
- アンチエイリアシング-FXAA:オフ
- トランスペアレンシー:オフ
- アンチエイリアシング-モード:オフ
- スレッドした最適化:オフ
- テクスチャフィルタリング-クオリティ:クオリティ
- テクスチャフィルタリング-トリリニア最適化:オン
- テクスチャフィルタリング-ネガティブLODバイアス:許可
- テクスチャフィルタリング-異方性サンプル最適化:オフ
- トリプルバッファリング:オン
- 低遅延モード:ウルトラ
- 垂直同期:高速
- 異方性フィルタリング:アプリケーションによるコントロール
- 電源管理モード:適応
垂直同期について
他サイトと比べて独特だと思うのは垂直同期の設定。
他サイトでは垂直同期オフを勧めることが多いが、ぼくの環境では垂直同期オンが一番描画が安定していて動き回っても乱れないし、遅延も全くしない。垂直同期オフ+高FPSよりも、垂直同期オンのほうが移動中の画質が良く、見やすい。
遅延が気にならないPCならば垂直同期オンのほうが良いのではないかと思う。
一応、垂直同期の遅延対策として、
- トリプルバッファリング:オン
- 低遅延モード:ウルトラ
- 垂直同期:高速
という組み合わせになっている。
が、参考サイトによると垂直同期が「高速」ならトリプルバッファリングはオフでいいらしい。この辺はまた後々いじってみようと思う。たぶんあまり差はないと思うけど……。
参考にしたサイト
NVIDIAの3D設定を調整するにあたって参考にしたサイトはこちら。
Java VMの起動オプション(引数)
Javaはランチャー付属のものを長いこと使っていたが、不具合の検証で一旦別途ダウンロードして、それからはそちらを使用中。
現在使っている起動オプションはこちら。
Java8
-server -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:+UseTLAB -XX:+DisableExplicitGC -XX:+UseFastAccessorMethods -XX:+AggressiveOpts -XX:+UseLargePages -XX:+UseBiasedLocking -Xmx24G -Xms24G -XX:MetaspaceSize=1G -XX:MaxMetaspaceSize=1G -XX:CompressedClassSpaceSize=3G -XX:ConcGCThreads=2 -XX:ParallelGCThreads=8
ぼくはマイクラプレイ時はフルスクリーンにするのと、サブのディスプレイではブラウザで攻略サイト等を表示する程度で、多重起動もしない。なのでほとんどマイクラに注力するような設定になっている。(搭載メモリ32Gに対して割り当て24G)
稀にマイクラサーバーを同じPCで起動することがあるので、そのときはクライアントに12G、サーバーに12Gなどと振り分けていた。
参考にしたサイト
こちらのサイトを参考に上記オプションができあがった。特に上のほうのサイトほぼそのままだが、起動時に使えなかったオプションがあるので省いた。
Java16(1.17.1)※調整中
-server -Xmx24G -Xms24G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -XX:-UseGCOverheadLimit -XX:ParallelGCThreads=8 -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M
デフォルトの引数に、Java8で使用したオプションなど調整を加えたもの。上記参考サイトのオプションでは起動しないものもあるため、ちょっとずつ試した。
が、1.17.1をあまりしっかりプレイできていないため、しっかりプレイし始めたら変更する可能性あり。
ビデオ設定・OptiFineの設定
OptiFine、最初は入れていなかったのだが、プレイが長くなりワールドデータが大きくなってくるとだんだん描画周りが気になり始めたので、結局入れることになった……。
なお、以下の設定画面はマイクラ1.12.2のもの。
ビデオ設定
- グラフィックス:処理優先
- 描画距離:16
- スムースライティング:最大
- スムースライティングの程度:100%
- 最大フレームレート:垂直同期
- 画面の揺れ:オフ
- VBOの使用:オン
- 明るさ:暗い
- 臨場感ある光源:オフ
グラフィックスは描画優先にしても特に重くなったりはしないが、ビデオ設定では一応「処理優先」にしている。
描画距離は24でも別段重くはないのだが、拠点で過ごす分には利がないので16にしている(12でもいいと思う)。探検時は24だとかなり遠くが見えていい感じ。
最大フレームレートは「垂直同期」。NVIDIAの設定で垂直同期を使用することになっているが、マイクラ側でも「垂直同期」を選択しないと画質が綺麗にならない。
画面の揺れはオンだと臨場感はあるが、ぼくは酔うのでオフ。
VBOは見えない部分を描画しないらしい。描画中に一時的に壁の向こうが見えたりする現象がなくなるのでオンがおすすめ。
明るさは「暗い」にしておくと湧き潰しがしやすいのと、スムースライティングと合わせると影がきれいなので……。
臨場感ある光源(手に持っているアイテムが光ったりする)は、好みじゃないのでオフ。単に好みの問題であって、オンにしても別段重くはない。
シェーダーの詳細設定
なし。
影MODは何度か入れたことがあるが、どうにも入れたときのグラフィックが好きになれなくて無しに戻ってくる。
品質の設定
- ミップマップレベル:オフ
- 異方性フィルタリング:オフ
- アンチエイリアス:オフ
- より良い芝生:オフ
- より良い雪:オフ
- 水の透過:オン
- 継ぎ目ないテクスチャ:描画優先
- 自然なテクスチャ:オン
- 発光効果テクスチャ:オフ
より良い芝生、発光効果テクスチャの設定は単なる好み。
「より良い雪」はたまに気分でオンオフを切り換える。
その他は対応するリソースパックを使っていないので、ぼくの環境では無関係。
細部の設定
- 雲:描画優先
- 樹:描画優先
- 霧の種類:描画優先
- エンティティの影:オン
- 湿地帯色:オン
- 滑らかなバイオーム:オン
その他はデフォルト。
雲と樹は処理優先にしたときの見た目が好きじゃないのと、描画優先にしようが別に重くないので。
霧の種類は今のところ描画優先だが、処理優先にすることもある。
湿地帯色と滑らかなバイオームは、オンのときのほうが見た目が好きなのと、オンでも別に重くないので……。
パフォーマンスの設定(重要)
MODを入れて遊んでいるとき結構影響するのがここの設定。
- FPS安定化処理:オフ
- サーバー負荷を分散:オフ
- 描画の最適化:オフ
- 計算の最適化:オフ
- チャンク読込方法:1
- 動的な読み込み:オン
- 領域描画:オン
- チャンク読み込みの遅延:オフ
- スマートアニメーション:オフ
MODとの兼ね合いで、ここの設定はほとんど有効になっていない(逆にバニラだとほとんどオンで差し支えないと思う)。MODを入れて遊ぶ場合、ここの設定は他の設定で軽くなりきらなかった場合に変更を考慮するぐらい後回しでもいい気がする。
特に「FPS安定化処理」と「描画の最適化」は、好きでよく遊ぶMOD(HeatAndClimate)では一部GUIの描画に異常が生じるなど、悪影響が多かったのでオフにした。
「サーバー負荷を分散」も初期スポーンチャンクがロードされなくなるらしい。そのほうが良い人はオンでいいと思うが、もしかしてチャンクローダーも動作に影響があるかなと思ったのでオフにしてみている。
「計算の最適化」は他の項目と比べて悪影響を感じにくいので、再びオンにすることはあるかもしれない。
スマートアニメーションは視界から外れたという判定が結構曖昧で、見えているのにアニメーションが停止していることが結構多くて落ち着かず、結局オフにした。
アニメーションの設定
ほとんど全部オンだが、
- ポータルのパーティクル
- ポーションのパーティクル
だけはオフ。
ポーションのパーティクルはスクリーンショットの邪魔になりやすいため。ポータルのパーティクルは単純に好きじゃないので。
その他の設定
ほとんどデフォルトだと思うが、
- 高度なツールチップ:オン
だけは具体的な耐久値が表示されて便利なのでオンにしている。
オートセーブは不慮の事故でクラッシュしたとき(滅多にない)に45秒だとクラッシュ直前のデータがセーブされているため。3分とかだとだいぶ巻き戻ってしまうのがイヤなのだ……。まあ滅多にないことなんだけど。
あとクリエイティブの時刻は昼限定にすると便利ではあるが、日照センサーを使ったものを試作したいときなどコマンドで時刻を変更しようとしても変更できないので不便である。コマンドで時刻を固定したときは時刻変更のコマンドも機能するので、そちらのほうが有用。
参考にしたサイト
OptiFineの設定で参考にしたサイトはこちら。ただ、参考にはしつつ設定内容は結構逆らっている。
その他
ぼくはJavaはSSDにインストールしているが、マイクラのインストール先はHDDになっている。
理由は「マイクラはストレージへの書き込み頻度が頻繁すぎるため、SSDにインストールすると寿命を縮める」と知人に聞いたため。といってもそれは5年前の話なので、現在では耐久性のあるSSDもあるのかもしれない。
ストレージ由来の重さは特に感じないため、HDDがある人はHDDに入れるといいかもしれない。
おわりに
マイクラの自分のPCに適した設定を探すのは結構疲れる。
というのも「軽量化設定」は情報が豊富だが、高画質化は自己責任になりがちだからだ。
またバニラ向けの情報は多いものの、MOD導入になると機能も負荷も多岐に渡りすぎるため、こっちも手探りになりがちである。
今は主にHeatAndClimate向けの設定になっているが、TFCのような負荷の高いMODのときはまた設定を変えることになるかもしれない。そのときもこの記事の設定ベースで調整してみるつもりだ。