Steam版Fallout4を新PCで久しぶりに遊ぼうとしたところ、fpsの上限が48になってしまうという問題が起きました。備忘録としてこの解決法をまとめ、個人的な考察を加えます。
先に根本的な解決法の概要を書くと、
「High FPS Physics Fix」というModを導入し、そちらでfps上限を60などに設定する
という作業を行ったところ、fps上限48の問題を解決できました。僕が行った作業は記事本文にてまとめます。
【リンク】High FPS Physics Fix – NexusMods
結果的にModの導入で解決したものの、このModは今回の問題を直接解決するために作られたわけではありません。根本的な原因はゲームエンジンレベルの意図しない挙動にあると考えています。
作業環境など↓
- プラットフォーム Steam
- 作業日時 2024/02/24
- Fallout 4 英語版 Ver 1.10.163.0
- Mod管理ツール Mod Organizer 2 v2.5.0
- F4SE v0.6.23
- High FPS Physics Fix v0.8.6
PC、モニター↓
- CPU i5-12400
- GPU Radeon RX6600XT
- モニター LG製 FullHD 144Hz
fpsが48までしか出ない問題と原因
Steam版Fallout4(以下FO4)はModなしの状態だとfpsが60で動作するように作られています。fpsのリアルタイムの値は、Steam側で設定をすることで表示できます。
以前プレイしたときはふつうに60fpsで遊べていたにも関わらず、今回問題が起きた環境ではなぜか48fpsが上限になっていました。
このときは久しぶりに動作確認をしていた段階だったので、まだ他のModは入れていません。Fallout4は2024年から見ればもう古いゲームであるここと、最低画質で起動していたことから、PCスペックの問題でもありません。
最初は原因が全く分からず、グラフィックボードの管理ソフトから設定を変えたりもしましたが解決せず。
英語の情報も含めて調べてみたところ、FO4がリフレッシュレート(Hz)の高いモニターに対応しておらず、意図しない動作をする可能性があるという書き込みを見かけました。
そこで実際に試してみたところ、原因はさておき、その説と合致する現象が起きました。
まず、問題が起きた144Hzのモニターに接続してFO4を起動すると、48fps上限になってしまいます。これは既に書いたとおりです。
次に、他の条件を全く変えずに、サブで使っていた60Hzのモニターに接続したところ、今度は60fpsで動作しました。
この簡単な実験から、なるほどたしかにゲームとモニター(のHz数)の相性問題である可能性が高いと考えてよさそうです。これまでPCでたくさんのゲームをプレイしてModもたくさん入れてきましたが、こんな現象は初めてです。最初原因が全く掴めなかったのも無理はありません。
この仮説に従うと、「60Hzのモニターでプレイする」というのが1つの解決策になります。しかし、FO4をプレイするときだけ別なモニターを使うというのはあまりにもナンセンス。
なにかソフトウェアレベルの解決策があるはずということで試行錯誤してみたところ、「High FPS Physics Fix」というModが上手くこれを解決してくれることが分かりました。
このModはfpsの上限をなくすという機能が特徴的で、今回の問題にもそれが上手く流用できないかと思って試したら上手くいったという次第です。
High FPS Physics Fixの導入と設定
ここからは、High FPS Physics Fixを使って問題を解決していった手順をまとめます。しかしModの導入と設定に関して、今回の問題にのみ必要となるような特別なことは全くしていないため、参考にしやすいように要点だけまとめます。
まずはこのModに必要な「F4SE」を手動でインストール。(やり方はリンク先を参照)
【リンク】Fallout 4 Script Extender (F4SE)
その上で何かしらの形(Vortex,MO2など)でこのModをインストールし、「HighFPSPhysicsFix.ini」という、このMod専用の設定ファイルを見つけます。
(場所はModを導入した方法による。dllと同じ場所にあるはず)
うっかり間違って編集したときのためにバックアップを取ったあと、メモ帳で開きます。
Ctrl+Fで「Limiter」という項目を検索して、以下の記述を見つけます。
[Limiter]
## FPS limit in the game.
#
InGameFPS=60
fps上限を指定する「InGameFPS」の値をとりあえず60にしておきます。Modが正しくインストールされていれば、一応これだけで問題は解決するはずです。
ちなみにこれだけだと、果たしてModがきちんと動作しているのかfpsの値からしか判断できません。そこで、このModの機能でFPSなどをリアルタイム表示すると便利です。
上記と同じ要領で、iniファイルの中で「OSD」という項目を探して、以下のようにしてみます。太字が変えた部分。
[OSD]
## Enable the on-screen display (OSD).
#
EnableOSD=true
## Comma separated list of displayed stats.
(略)
#
FPS=true
Bare_FPS=true
FrameTime=false
Bare_FrameTime=false
Counter=false
VRAM=true
All=false
すると、画面上に計測値が出ている=Modが機能しているということが確かに分かります。
この記事の趣旨はあくまで「fps上限が48になる問題の対処法」であるため、Modの導入方法の詳細については割愛します。少なくとも僕のケースで問題の解決に必要だった根本部分の知識については、ここまでですべて網羅されているはずです。