【黒い砂漠】フレームレートを上げる、CPUのハイパースレッディング、SMT設定【EAC対応】
黒い砂漠ではCPUのハイパースレッディング(HTT)やSMTをオフにすることで、フレームレートが上がります。
PvPはもちろん、PvEにこだわりがあるプレイヤーの方は設定をおすすめします。
本記事ではどうやってオフにするのか、またはオフにしないでWindows上で使用CPU設定を行ってフレームレートを上げる方法などを紹介します。
2021/3/17にセキュリティプログラムがEasy Anti Cheat(EAC)に変わりますが、今すぐ設定でき、EACへの切り替わりを意識しなくても大丈夫なやり方を紹介しています。
Contents
ハイパースレッディング、SMTを切ると黒い砂漠のフレームレートが上がる
黒い砂漠ではCPUのハイパースレッディング、SMTを切るとフレームレートが上がります。
ハイパースレッディング、SMTのオンオフでの平均fps比較
HTTオン |
|
---|---|
HTTオフ |
|
ハイパースレッディング対応のi9-9900K & RTX 2080 Tiでのリマスターモードでのハイデル倉庫前です。
ハイパースレッディングオフにするだけでfpsが約15fps向上しました。
SMTオン |
|
---|---|
SMTオフ |
|
Ryzen 7 5800X & RTX 3080のGALLERIA ZA7R-R38で、セレンディア神殿内一周をHIGH / VERY LOW設定で取得したものです。
RyzenでもSMTをオフにした方が性能が出る結果となっています。
このように、Intel CPUかAMD CPUかを問わずに効果があります。
ただし、GPU使用率が限界だと、ハイパースレッディングをオフにしてもfps上昇の効果はほとんどありません。
例えばウルトラモードや4K解像度でのリマスターモードなど、超画質プレイ時はオンオフでの違いはほぼ感じられないと思います。
画質設定を軽くしてフレームレートを稼ぎたい時などは結構違ってきます。
ハイパースレッディング、SMTとは何?
CPUのスペックを見ると、「8コア16スレッド」とか「12コア24スレッド」などと書いてあります。
これは、CPUコア数の2倍のスレッドを同時に処理できるということを示しています。
何で2倍できるのか?というと「ハイパースレッディングテクノロジー(HTT)」や「SMT」という技術が搭載されているためです。
両手で別のライン作業ができるようになったようなイメージです。
IntelのCPUではHTTを搭載、AMDのRyzen CPUではSMTを搭載しています。
HTTやSMT対応のPCかの見分け方
タスクマネージャーを開いて、コアに対して論理プロセッサが2倍の数になっていれば、ハイパースレッディングやSMTがついているCPUなんだな、と見分けることが出来ます。
ハイパースレッディングやSMTを切るにはUEFI(BIOS)から
Windowsを起動するときにF2やDelなどを連打すると出て来るマザーボードレベルの設定画面がUEFIです。
UEFI上でCPUの設定項目からハイパースレッディングやSMTを無効にすることが出来ます。詳しい設定方法はマザボの取説を読んでください。
これでWindows上では1コアで1つのスレッド(仕事)しかしなくなりますが、黒い砂漠のフレームレートが向上します。(注:同じ手順で戻せます)
もちろん、ハイパースレッディングを切ってしまうことの欠点もあります。
それは「時々両手で全力でやらせたいなあ」という時に、もう一度UEFIに入って戻さないといけないということです。
動画のエンコードなどでは全スレッドを100%上手く使えることがあるので、動画編集などをする人はあまりやりたくないはずです。
また、極々稀ですが、オフにしたら起動しなくなったことがあります。その場合、マザーボードの放電を行ってCMOSクリアなどをしないといけないのでかなり焦ります。
そういったトラブルの可能性もあるので、トラブル対応できる人向けです。
BIOSをいじらず、Windows上で使うコアを設定する方法
ハイパースレッディングやSMTをオンにしたまま、Windows上で黒い砂漠が利用するプロセッサ割り当てを変更するだけでもフレームレート上昇効果があります。
基本的な設定方法
- 黒い砂漠のランチャーを起動する(ゲームはまだ起動しない)
- タスクマネージャーを開く(タスクバーから右クリメニューなど)
- 詳細タブを開く
- BlackDesertPacher32.paeを選択する
- 右クリックで「プロセッサの関係」を選択
- 0,2,4,6,8,10,12,14...と1つ飛ばしにチェックを入れる
- OKを押す(この時点で反映される)
- すべてのBlackDesertPacher32.paeに5~7を設定
- ランチャーからゲームをスタートする
6の部分が謎だと思いますが、「CPU0,CPU1がコア1」「CPU2,CPU3がコア2」と言う風に1コアにつき2スレッドずつがセットになっているので、「1コア1スレずつね」と指定してあげているのです。
設定前のCPU使用率
ピンクで囲っているのは実際のコアです。0番スレッドと1番スレッドはコア1で処理、2番スレッドと3番スレッドがコア2で処理…という風に分かれています。
2番のスレッドが使用率が高いですね。もうほぼ限界です。ですが、同じコアが同時に処理している3番のスレッドも決して処理が軽いとは言えません。
これによってボトルネックが生じています。
設定後のCPU使用率
黒い砂漠を0,2,4,6,8,10,12,14に設定しました。他のタスクも動いているので完全に奇数を開放は出来ていませんが、2番3番スレッドに大きな変化があったのがわかると思います。
3番スレッドに割り振られていた仕事は別のスレッドに行きました。これによって2番スレッドに来ていた仕事だけガンガン処理すればよくなったので、CPU使用率はさらに限界近くまで上がりました。
もちろん他のプロセスは0~15を全部使わせることが出来るので、動画編集アプリなどには影響がありません。黒い砂漠のみCPUの使用方法が変わるわけです。
しかし、この方法にも弱点があります。
プロセス(黒い砂漠など)が立ち上がるたびにユーザーが自分で関係を設定しないといけないところです。ゲームやWindowsが設定を覚えていてくれないのです。
ちょっとめんどくさいので、Windows上ではProcess Lassoなどの補助ソフトを使って設定するのがおすすめです。
1. Process Lassoを利用する方法
Process Lassoという常駐ソフトは、CPU Affinity(CPUの関係)を設定するのにおすすめです。ブラウザなどの他のプロセスのCPU Affinityも設定出来るので便利です。
英語かつシェアウェアですが、支払わなくても使えます。
インストールは普通の流れなんで端折ります。次へ次へでOK。
CPU Affinityの設定
Process Lassoを起動するとこんな画面になります。
黒い砂漠のランチャーを立ち上げると、All processesタブにBlackDesertPatcher32.paeが現れます。
BlackDesertPatcher32.paeを右クリックし、CPU affinity(CPUの関係性) > Always(常時) > Disable Hyper-Threading(ハイパースレッディング無効)を選びます。
CPU affinity > Always > Select CPU affinityを選ぶと、タスクマネージャーの詳細タブで出来る、「関係の設定」と同様の画面になります。
Disable Hyper-Threading(ハイパースレッディング無効)を選択した場合、このように1つ飛ばしで全チェックになっていると思います。
その状態から、CPU0など、頭の方のチェックを外します。
8コア16スレッドのCPUではCPU2以降の7個(2,4,6,8,10,12,14)、10コア20スレッド以上のCPUの場合はCPU4以降を8個程度(4,6,8,12,14,16,18,20など)にチェックを絞ると良いと思われます。
CPU0~1は多くのプログラムが利用するので、そこに黒い砂漠を割り当てないことを狙っています。
CPUの種類や同時に利用するソフトなどの環境によるので、各自で研究し甲斐があるところだと思います。私もこれが一番!とは言えません。
OKを押して設定完了です。Process Lassoが常駐していれば、次回のランチャー起動時からも自動的に同じCPUルールが設定されるはずです。
設定を戻す時
CPU設定をデフォルトに戻す時は、同じようにランチャーを起動し、Process LassoでBlackDesertPatcher32.paeを右クリックし、CPU affinity(CPUの関係性) > Always(常時) > No Default affinityを選びます。
これは3つのPatcher32に対してそれぞれ行います。
セキュリティプログラムなど、他の常駐ソフトのCPU設定
XIGNCODE3やEasy Anti Cheatなど、後から起動するプロセスのCPU Affinityも記憶させることができる点がProcess Lassoの強みです。
もちろん、ブラウザなどのソフトにも設定可能です。
黒い砂漠以外のソフトが利用するCPUスレッドと黒い砂漠が使うスレッドは分けて設定するのがおすすめです。
黒い砂漠の場合、XIGNCODE3というセキュリティソフトが同時に動くことになっています。
プロセス名はxcoronahost.xemです。
動いていないといけませんが、そんなに頑張らなくていいプロセスなので
CPU affinity(CPUの関係性) > Always > Select CPU Affinityで、CPUの適当なところにチェックを入れてOKにします。今回は15にしました。
そうすると、XIGNCODE3は15番スレッドの中だけで動くようになります。
たまにビクン!としていますが、ゲームのメイン処理をする0番スレッドや2番スレッドと離れているので影響が少なくなります。多分ね。
2021/3/17以降はXIGNCODEではなく、Easy Anti Cheatのプログラムが動くようになります。同じように特定の1スレッドだけで動くように設定します。
ブラウザやMSI Afterburnerなど、黒い砂漠と同時に起動しているソフトなども、後ろの方の負荷の低いコアで動作させるように設定しても良いでしょう。
2. CPUの関係性を指定した起動バッチを作成する方法
Process Lassoを使いたくない場合の方法で、メモ帳などでランチャーの起動バッチファイルを作成します。
Process Lassoよりちょっと手間がかかります。
設定には使用したいCPUの関係を16進数化する必要があり、バッチファイルは「管理者として実行」を選択して起動する必要があります。
CPU Affinity Mask(CPUアフィニティマスク)を16進数化する
CPUのどのスレッドで動かすかを16進数で指定します。
タスクマネージャーの詳細タブで出来る、「関係の設定」の部分になります。
チェックボックスではなく、16進数で設定しないといけないので気を付けてください。
設定例
タスクマネージャーのパフォーマンスタブからCPUを選んで、コアと論理プロセッサをチェックして決めます。
こちらのサイトで使用したいCPUスレッドの番号にチェックを入れることで、16進数化の計算が可能です。
こちらもProcess Lassoとやることは同じで、CPUに合わせて大体6~8スレッドチェックを1つ飛ばしに入れておけば良さそうです。
バッチファイル化と起動
CPU Affinity Maskの値が決まったら、このような形でメモ帳に入力します。
cd "黒い砂漠インストールフォルダのパス"
start /affinity 16進数化したCPUアフィニティマスク BlackDesertLauncher.exe
インストールフォルダは各自のインストール先に変更してください。
ファイル保存時の名前は何でもいいですが、拡張子は.batにします。
デスクトップなどに保存して
右クリックから「管理者として実行」をします。
UACがコマンドプロンプトの起動許可を聞いてくるので、「はい」を押すと設定したCPUの関係性でランチャーが起動します。
CPU Core Parkingの設定
PCには「バランス」、「省電力」、「高パフォーマンス設定」という電源プランがあると思います。
実は電源を「高パフォーマンス設定」にしていてもCPUをちょこちょこ休ませる設定がWindowsによって働いています。
それを完全に「休まないで」と指定できるのがParkControlソフトになります。電気代は上がるかもしれませんがゲームをやる時には役立ちます。
Process Lassoのメーカーが作ったCPUのコア休憩機能を調整できるソフトParkControlを使用します。
ParkControlでは電源プランを選んで、それに対してCore Parking(コアの休憩)を有効にする(Enabled)か無効にする(Disabled)かを設定できます。
とりあえず全力にするなら電源プランを「Bitsum Highest Performance」にして、休憩設定は全部Disabledで100%にしてApplyです。
電源プランの横の「Make active」のリンクを押すと、その電源プランがアクティブになります。
つまり、PCの電源設定に「Bitsum Highest Performance」が設定されて有効状態になります。
下の方の「Power Options」のリンクを押すと電源オプションのウインドウが表示されます。
プラン設定の変更から、Bitsum Highest Performanceの詳細設定も変更が可能です。
ディスプレイは切っても良いけど、スリープにすると黒い砂漠の常駐に影響が出るかもしれないのでスリープにはしません。
詳細な電源設定の変更はめちゃくちゃ項目があるので今回は割愛します。私もそこまでいじってません。
Process Lassoと電源プランの連携
例えば「ゲームをやっている時だけ全開で、Web見たりのんびりしている時は省エネ設定にしたい」と言うことがあると思います。
その場合は、Windowsの通常プロファイルは省エネやバランスに設定しておいて、Process Lassoで頑張らせたいプログラムに対してApplication power profileを設定します。
ただこれはProcess Lassoに課金しないと使えない機能になっています。ここまで使いこなしたいなら支払う価値があるなと思います。
記事の内容は執筆、更新日時時点の情報であり、現在は異なっている場合があります。 記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
黒い砂漠 ©Pearl Abyss Corp. All Rights Reserved.
Black Desert ©2019 PEARL ABYSS CORPORATION. All Rights Reserved.
サイト上の黒い砂漠の著作物利用に関しましてはPEARL ABYSS社の公認をいただいております。
【今日のおすすめ】
【auひかり】最大10Gbpsの超高速通信!最大126,000円還元キャンペーンキャッシュバックで初期工事費も実質無料!