画面設定を行ったり、低電力オプションを無効にするのは基本中の基本として、この記事では「黒い砂漠を最適化」するための「高度な設定」ついて解説してみたい。最適化を行えば同じスペックのPCでも、フレームレートが10%以上も改善することがある。
それなりのグラボを使っているのに…この程度なのか…と感じている人は、高度な設定もやってみた方が良い。
設定の結果:黒い砂漠の平均fpsが14%改善
今回やっちが検証に使ったのは例の「6万円で作ったPC」※です。CPUは「Core i5 3450」で、GPUには「Radeon R9 380 4GB」、メモリは「DDR3-1600 16GB」です。
– | 平均値 | 最低値 | 最大値 |
---|---|---|---|
設定後 | 42.45 | 16.20 | 60.40 |
設定前 | 37.31 | 15.40 | 59.70 |
グラフィック品質は「Middle High」、テクスチャ品質は「Middle」で検証した。設定をする前は平均37fpsだったのが、設定を施すことで平均42.45fpsまで向上。約14%の改善になった。
※「推奨スペックは信じるな?黒い砂漠の6万円PC」という、今思えば割りと気の狂った記事です。状況によってはコスパは良いが、基本的にはオススメしません。
高度な設定ガイド
今回の記事を書くにあたって参考にしたのが「Ultimate guide for FPS/Performance/Ping issues compiled」というガイド。米Redditの黒い砂漠板に書き込まれたガイドで、ガイドを書いた本人が試したところ
- FPS Before guide : 110 FPS Open world , 60-70 FPS Cities , 35-45 FPS World Bosses. High end mode
- FPS After guide : 160+ FPS Open world , 80+ FPS Cities , 53-80 FPS World Bosses. High end mode
と書いてある通り、最大50%くらいフレームレートが改善している。設定による最適化でここまで変わるならやらない手は無いと思って、やってみようと思ったんだが。…結構むずかしい。一つ一つ順に、可能な範囲で解説します。
1. 「COHERENTUI_HOST」の調整
黒い砂漠のワールドマップや各種UIを動かすためのソフトウェア「Coherent UI」が、実はかなり無駄な動作をするアプリケーションらしい。
黒い砂漠を起動した状態で、タスクマネージャーの詳細を開く。「BlackDesert64.exe」を右クリック。
優先度の設定から「高」を選択する。
次に「CoherentUI_Host.exe」の優先度を「低」に落とします。表示されているCoherentすべてに同じ設定を。
更に「関係の設定」を開いて、「CPU 0」だけにチェックを入れる。こうすることでCoherent UIの処理に使われるコア数が1個に限定されます。
あとは黒い砂漠フォルダの「bin64 > host > CoherentUI_Host.exe」を右クリックして、読み取り専用にチェックを入れておきます。
2. ページファイルの設定
システムの詳細設定から「パフォーマンス設定」を開いて、詳細設定にある「仮想メモリ」を変更する。
初期設定では「すべてのドライブのページングファイルのサイズを自動的に管理する」にチェックが入っているが、それを外す。そして「Cドライブ」はページングファイルなしに設定。
空いているSSDがあれば、そのSSDにカスタムサイズでページングファイルを設定します。ちなみにガイド著者によれば、ここをRAM DISKに設定することでさらなる高速化が期待できるとのこと。
やっちの場合は、CドライブもSSDではあるんですが接続端子がSATA 2で、GドライブはSATA 3なんですよね。読み込み速度が2倍は違うから、一定の高速化は期待できます…。(少し特殊な例)
再起動してくださいと言われるので、再起動しておきます。
3. UNPARK CPU(限定解除みたいな)
マニアックな設定が登場。Unpark CPU.exeを使用して、CPUの処理を最適化するものらしい…。上記URLからソフトを落として解凍し、中にある「UnparkCPU.exe」を起動。起動したら「Check Status」をクリック。
するとこんな感じで「Parked」と表示されるはずなので「Unpark All」をクリック。
無事「Unparked」に切り替わった。これでこのアプリケーションは終了。
4. ネットワークの最適化「TcpAckFrequency(TAF)」
有名な設定ですね。ガイドではかなり色々と弄ってますが、正直に言ってリスクは相当に高い。だから、必要最低限やっておけばいい部分だけやっておきます。「kukutune – ハイパーゆとり用MTU/TAF/RWIN変更ツール」を使います。
- MTU:800
- TAF:1
- RWIN:261568
に設定。遅延はかなり改善されやすい。
5. GameDVRの無効化
Windows 10のゲーム録画機能「GameDVR」を無効化する設定。この存在を初めて知りました…。レジストリをいじるので、やるやらないは自由にどうぞ。設定を間違えるとPCが起動しなくなることもあるので。
スタートメニューの検索欄に「Regedit」と入力すると「レジストリエディター」が出てくるのでそれをクリックして開く。
そして「HKEY_CURRENT_USER > System > GameConfigStore」に進んで、その中にある「GameDVR_Enabled」を右クリックして「修正」を選び、「値のデータ:0」に書き換える。
次は「HKEY_LOCAL_MACHINE > SOFTWARE > Policies > Microsoft > Windows」へ進んで、右側のウィンドウを右クリックし「新規キー」をクリック。「AllowgameDVR」という名前にして、「値:0」で完成。
正直ややこしいので「うわぁ、面倒くさそう」と思ったら、やらなくていいです。
6. 黒い砂漠の「ポストフィルター」を無効化
ドキュメントにある黒い砂漠フォルダで向かって、中にある「GameOption.txt」を開く。「postFilter」という項目があるはずなので「= 0」に設定し、無効化しておく。
次はUserCacheフォルダを開いて、乱数フォルダ(やっちの場合は247614だった)を開きます。
ここには「gameVariable.xml」というファイルがあるはずなので、メモ帳に投げ込んで中身を開き<PostFilter Value=”0″/>に書き換えます。これでポストフィルターは無力化された。
7. BCDEDITを設定
いわゆるタイマー系の最適化。「タイマーってなんぞや。」という説明は置いておいて、これを最適化することでなぜかパフォーマンスの改善につながるらしい…。設定は簡単な方なので、やっておいて損はない…程度。
コマンドプロンプト(CMD)を管理者として実行し、以下のコマンドを実行(Windows 10のコマンドプロンプトならコピペ可能)。
操作が正しく終了したら、PCを再起動します。
再起動したら、またコマンドプロンプトを管理者として実行し、以下のコマンドを実行。
これでBCDEDITの設定は終わりです。
8. xcorona.xemを読み取り専用に設定
黒い砂漠フォルダを開いて「bin64 > xc > jp > 1」にある「xcorona.xem」を右クリックしてプロパティ。「読み取り専用」にチェックを入れる。同様の設定を「bin64 > xc > jp > 2」にある「xcorona.xem」にも行う。
9-A. NVIDIAコントロールパネルの設定
NVIDIAのグラフィックボードを使っている場合、右下のタスクバーから「NVIDIA コントロールパネル」を開いて、「3D設定の管理」を開く。グローバル設定とプログラム設定があるが、黒い砂漠だけに適用したい場合はプログラム設定を選ぶ。
その時、黒い砂漠が無かったら「追加」から「BlackDesert64」を選択して追加すれば大丈夫。
- CUDA – GPU:すべて
- アンチエイリアシング – FXAA:オフ
- アンチエイリアシング – モード:アプリケーションによるコントロール
- シェーダーキャッシュ:オン
- スレッドした最適化:オン
- テクスチャフィルタリング – クオリティ:グローバル設定(クオリティ)を使用する
- テクスチャフィルタリング – ネガティブLODバイアス:許可
- テクスチャフィルタリング – 異方性サンプル最適化:オフ
- トリプルバッファリング:オフ
- マルチディスプレイ / ミックスGPUアクセラレーション:シングルディスプレイパフォーマンスモード
- レンダリング前最大フレーム数:1
- 垂直同期:オフ
- 異方性フィルタリング:アプリケーションによるコントロール
- 電源管理モード:パフォーマンス最大化を優先
以上の設定を行う。
9-B1. AMD Radeonの設定
AMDの場合も基本的には同じ。黒い砂漠がない場合は「追加」で「BlackDesert64」を登録すればOK。設定項目は以下のとおり。
- アンチエイリアスモード:アプリケーション設定を使用する
- アンチエイリアシング方法:マルチサンプリング
- 形態学的フィルタリング:オフ
- 異方性フィルタリングモード:アプリケーション設定を使用する
- テクスチャフィルタリング品質:パフォーマンス
- 表面フォーマット最適化:オフ
- 垂直リフレッシュを待機:常にオフ
- OpenGL トリプルバッファリング:オフ
- シェーダーキャッシュ:オン
- テセレーションモード:アプリケーション設定を上書き
- 最大テセレーションレベル:オフ
- フレームレートターゲットコントロール:200FPS
9-B2. ClockBlockerによるパフォーマンス最適化
AMD Radeon系を使っている人は、ClockBlocker.exeを使った最適化も行える。が、別にやらなくてもいいかな。常駐ソフトが増えるのもなんだが気持ち悪いし。
上記のページからソフトを落とし、インストーラを起動してインストールします。起動したらタスクバーに格納されるので、右クリックして「Setting」を開く。
「Rules」タブを選んで、左下の「ADD」をクリック。パスの部分に黒い砂漠本体を場所を入力し、「Rule Enabled」にチェックを入れたら「Ok」で完了。
高度な設定まとめ
とりあえず12項目ほど紹介しました。他にもレジストリの細やかな設定があったり、NVIDIAの場合は「KBOOST」というアプリケーションを使って、グラボの処理性能を更に引き出したり…といろいろとあります。
興味のある人は原文「Ultimate guide for FPS/Performance/Ping issues compiled」をどうぞ。なお、KBOOSTはグラボの発熱が上がりやすいのでモニターした方がいいとのこと。80度を簡単にオーバーするようであれば、使わないほうが良いだろう。
感想
原文の解読も含め、記事で紹介した設定をすべて実行するのに90分かかりました。それでフレームレートが14%改善したわけですが、まぁ正直なところコスパは悪くないですね。
おそらくもっと性能の高いグラフィックボードを使っている場合は、更に効果は見込めるだろう。最適化によってグラボ本来の性能を引き出そう、というのが「高度な設定」の趣旨ですから。
以上「高度な設定とやり方まとめ【黒い砂漠の最適化】」でした。
別ゲーやっているのですがいつも参考になります。
タイマー系やUNPARK CPUは知りませんでした(出来ればこれらの詳しい説明ほしかったかな)
参考になればいいのですが、折角なのでいくつか載っていなかった知っていることを書きます。
NVIDIAのGTX系で設定でデスクトップのサイズと位置の調整でスケーリングなしに実行するデバイスをGPUにするのとスケーリングの上書きにチェックをつけると効果があるようです。
Radeonは持ってないので詳しく知らないのですがコンパネで省電力機能をオフにするのとレジストリのも切るとかいうのを見たことあります。
あと適当に調べたら仮想メモリを無しにしたりRAMディスクに設定すると突然のシャットダウン(雷や強制)でアプリやデーター壊れるかもしれないという低リスクがあるようです。
ゲームアプリなど変更するのを管理者で起動してたら受け付けないですが自分は優先度の変更をApplication Priority Changerというアプリを使ってます。