はじめに
Nintendo Switchのゲームをプレイしていて、「もう少し滑らかな映像で遊びたい」「30FPSに制限されているゲームを60FPSで動かしたい」と思ったことはないでしょうか。
そんなときに役立つのが、Switch向けのオーバーレイツール「FPSLocker」です。
FPSLockerは、バックグラウンドで動作するプラグイン環境「SaltyNX」と連携することで、対応するゲームのフレームレート(FPS)やディスプレイのリフレッシュレートを自由にカスタマイズできるツールです。ゲームによっては、本来30FPSに制限されているタイトルであっても、専用のパッチを適用することで30FPSを超える高フレームレートでの動作を目指せます。
また、単純なFPSの変更だけでなく、携帯モードやTVモードでの画面リフレッシュレートの変更、バッファリング方式の調整など、映像表示に関する細かなチューニングにも対応しています。
この記事では、FPSLockerの特徴や導入に必要な環境、基本的な使い方をわかりやすく解説します。記事の後半では、実際に「FPSLocker Warehouse」に設定ファイルが用意されている『ロマンシング サガ2 リベンジオブザセブン』を例に挙げ、ゲームごとのパッチ適用・設定方法も具体的に紹介します。
FPSLockerとは?

FPSLockerは、Nintendo Switchのゲームに対して、FPS(フレームレート)と画面のリフレッシュレートをリアルタイムにカスタマイズできるオーバーレイツールです。開発者は、Switch向けの各種Homebrew(自作ソフト)を数多く手がけているmasagrator氏です。
主な機能
FPSLockerには、映像表現や動作の滑らかさを調整するための多彩な機能が用意されています。
| 機能 | 内容 |
| FPS変更 | ゲームの目標フレームレート(FPS)を任意の値に設定 |
| リフレッシュレート変更 | Switch本体ディスプレイや外部ディスプレイの更新頻度(Hz)を変更 |
| FPS確認 | 現在動作しているゲームのリアルタイムFPSを表示 |
| Interval Mode | VSync(垂直同期)の動作間隔を調整 |
| Buffering変更 | ダブルバッファ・トリプルバッファなどの描画バッファ方式を切り替え |
| ゲーム別パッチ | ゲームやバージョンに応じた専用パッチを作成・適用 |
| Dynamic Resolution対応 | ゲームの目標FPSに合わせて内部のフレーム時間予算(動的解像度設定)を調整 |
特に便利なのが、ゲームごとに異なる内部のFPS制限へ柔軟に対応できる点です。
Switchのゲームには、システムやエンジン側でもともと上限が30FPSに固定されているタイトルが少なくありません。FPSLockerは、ゲームが使用しているグラフィックスAPIなどを検出してFPSを制御しますが、ゲーム内部に独自のFPS制限やゲームスピード連動処理が組み込まれている場合、通常の目標値変更だけでは30FPSを超えられないことがあります。
そのようなタイトルでは、公式リポジトリである「FPSLocker Warehouse」で配布されているゲーム専用の設定ファイル(Config)を利用し、専用パッチを生成・適用することで制限を突破できます。ただし、すべてのゲームが対応しているわけではなく、ゲームのタイトルやアップデートバージョンによって利用できるパッチが異なる点には注意が必要です。
FPSLockerとSaltyNXの関係
FPSLockerを利用するうえで欠かせないのが、「SaltyNX」との連携です。
FPSLocker自体は画面上にメニューを表示して設定を操作するための「オーバーレイ(フロントエンド)」であり、実際にゲームプロセスへ介入してFPSを制御する役割はバックグラウンドで動く「SaltyNX(およびNX-FPSプラグイン)」が担っています。
つまり、「SaltyNXがゲーム内のFPS制御を担当し、FPSLockerからその設定値をリアルタイムに変更する」という仕組みになっているため、FPSLocker単体を導入しても動作しません。また、ゲームによってはSaltyNX側の対応状況により利用できない場合もあります。
FPSLockerの導入に必要なもの
FPSLockerを動作させるには、あらかじめ以下の環境をSwitchに構築しておく必要があります。
| 必要なもの | 用途・役割 |
| Atmosphère | SwitchのCFW(カスタムファームウェア)環境 |
| SaltyNX(2.1.0以降) | ゲーム内のFPS制御を行うバックグラウンドモジュール |
| Ultrahand Overlay | オーバーレイメニュー(.ovl)の管理・起動環境(Tesla環境でも可) |
| オーバークロック環境 | 高FPS維持のためにCPU・GPU・メモリクロックを引き上げる環境(Horizon OC、sys-clkなど) |
※SwitchへのCFW導入方法については、こちらの記事をご参照ください。
※SaltyNXの導入方法については、こちらの記事をご参照ください。(改めて別記事で整理します)
※Ultrahand Overlayの導入方法については、こちらの記事をご参照ください。
FPSLockerの導入方法
ここからは、FPSLocker本体のファイルをSDカードへ配置し、起動するまでの手順を解説します。
1. FPSLocker本体の配置
SaltyNXおよびオーバーレイ環境(Ultrahandなど)が導入されていることを前提として、FPSLocker本体を導入します。
- FPSLockerのGitHub Releasesページにアクセスします。
- 最新版のリリースから、
FPSLocker.ovlをダウンロードします。
- ダウンロードした
FPSLocker.ovlを、SDカード内のswitch/.overlaysフォルダにコピーします。
ファイル配置後のSDカード内のディレクトリ構成イメージは以下のとおりです。
SDカード
├── atmosphere
├── SaltySD
└── switch
└── .overlays
└── FPSLocker.ovl
ファイルのコピーが完了したら、SDカードをSwitch本体に戻して起動(または再起動)します。
2. オーバーレイの起動と動作確認
Switchが起動したら、以下のボタンを同時に押してオーバーレイメニューを呼び出します(デフォルトのキーコンボの場合)。
- Lボタン + 十字キー下 + Rスティック押し込み
オーバーレイメニューの一覧に 「FPSLocker」 が表示されていれば、本体の導入は完了です。
なお、任意のゲームを起動した状態でFPSLockerを開き、メニューの最上部に NX-FPS plugin is running と表示されていれば、SaltyNX側のプラグインが正常に読み込まれて動作している目安になります。もしこの表示が出ない場合は、SaltyNXの導入状態や配置フォルダ、およびそのゲームがSaltyNXに対応しているかを確認してください。
FPSLockerの基本的な使い方
FPSLockerは、「ゲームを起動している状態」と「ゲームを起動していない状態(HOMEメニューなど)」で表示されるメニュー項目が異なります。ここでは、ゲーム起動中に利用できる主な機能と設定項目を詳しく紹介します。
FPSの変更
FPSLockerの最も基本となる機能が、ゲームの目標フレームレートを変更する機能です。ゲーム起動中にオーバーレイメニューを開くと、Custom FPS Target などのFPSに関する設定項目が表示されます。
| 項目 | 内容 |
| Custom FPS Target | 現在設定されているゲームの目標FPSを表示 |
| FPS | 現在のゲームの実測FPSをリアルタイム表示 |
| Increase FPS target | FPS目標値を「5」ずつ増加 |
| Decrease FPS target | FPS目標値を「5」ずつ減少 |
| Change FPS target | FPSの設定候補一覧を表示して選択(TVモード時など) |
| Disable custom FPS target | FPSのカスタム設定を無効化し、ゲーム本来の動作に戻す |
- 携帯モードの場合:
Increase FPS target/Decrease FPS targetを使って、FPSの目標値を 5FPS刻み(設定範囲:15~60FPS) で変更できます。 - TVモードの場合:
Change FPS targetから目標とするFPSの候補を選択できます。初期状態では 15~60FPS が用意されており、ディスプレイやドック側の設定によっては最大 120FPS まで拡張可能です。
ただし、ここで設定したFPSはあくまで「目標値(上限)」です。Switch本体の処理能力(CPU・GPU・メモリ帯域)が不足している場合、目標値を60FPSに設定しても実際の動作が60FPSで安定するとは限りません。
Interval Mode(垂直同期の間隔調整)
Interval Mode は、NVNやEGLといったグラフィックスAPIを使用するゲームにおいて、VSync(垂直同期)の動作間隔を調整する項目です。
- 設定値:
1~4(未設定状態を示す0は1と同じ扱いになります)
例えば、60Hzのディスプレイ表示時に Interval Mode を 2 に設定すると、1フレームあたりの表示間隔が通常の2倍になるため、最大フレームレートは半分の 30FPS に制限されます。単純に目標FPS数値だけを指定する機能とは異なり、ディスプレイの画面更新とフレーム描画の同期タイミングに直接関わる設定のため、ゲームの挙動に合わせて調整する必要があります。
Buffering(バッファリング方式)の変更
FPSLockerでは、ゲームの映像描画におけるバッファリング方式を変更できます。主な方式は以下の2種類です。
| バッファリング方式 | 内容・特徴 |
| Double Buffer(ダブルバッファ) | 2つの描画領域を切り替える方式。遅延は少ないが、目標FPSを割り込むとフレームレートが急落しやすい |
| Triple Buffer(トリプルバッファ) | 3つの描画領域を使用する方式。フレームペーシングが安定しやすく、スタッター(カクつき)を抑えやすい |
ゲームによっては、標準のダブルバッファが原因でフレームペーシング(フレーム間隔の均一性)が不安定になったり、逆に特定の環境で入力遅延が大きくなったりする場合があります。そのようなゲームでは、トリプルバッファに変更することで滑らかさの改善が期待できます。
設定は、FPSLocker内の Advanced Settings にある Set Buffering から変更可能です。開発者が推奨している変更例として、画面上に以下のように表示されているケースが挙げられます。
Set / Active / Available Buffers
2 / 2 / 3
このように Available Buffers(利用可能なバッファ数)が「3」あるにもかかわらず、Active(現在有効なバッファ数)が「2」になっている場合は、Set Buffering から Triple (force) を選択することでトリプルバッファを有効化できます。
バッファリング変更時の注意点
すべてのゲームにトリプルバッファが適しているわけではありません。
- FPSが全く安定しない重いゲームで無理にダブルバッファへ変更すると、かえってFPSの低下幅が大きくなる場合があります。
- ゲームによっては、バッファリング設定の変更を反映するためにゲームの再起動が必要です。
- 特に、
Set / Active / Available Buffersが0 / 2 / 2と表示される一部のダブルバッファ専用ゲームで無理にトリプルバッファを強制すると、ゲームが起動しなくなったり、プレイ中にクラッシュしたりする危険性があるため注意してください。
Advanced Settings(詳細設定)
Advanced Settings には、ゲームごとのより踏み込んだ詳細設定やパッチ管理機能がまとめられています。
| 項目 | 内容 |
| Window Sync Wait | ダブルバッファ使用時のVSync待機動作に関する設定(要注意項目) |
| Set Buffering | 前述のバッファリング方式(Double / Triple)を変更 |
| Convert config to patch file | ダウンロードした設定ファイル(.yaml)から実行用パッチ(.bin)を生成 |
| Delete patch file | 作成済みのゲーム用パッチファイルを削除 |
| Check/download config file | FPSLocker Warehouseから起動中ゲーム用の設定ファイルを確認・ダウンロード |
| Halt unfocused game | HOMEメニューなどに移動してゲーム画面からフォーカスが外れた際、ゲーム処理を一時停止するかを制御 |
この中で特に重要なのが、Check/download config file と Convert config to patch file の2つです。ゲーム固有の30FPS制限などがある場合、このメニューから「FPSLocker Warehouse」にある対応設定ファイルを取得し、パッチファイルに変換することで60FPS化などを実現できます(具体的な手順は後述します)。
なお、Window Sync Wait については、無効化することでパフォーマンスの改善が見込めるタイトルも一部存在しますが、多くのゲームでクラッシュを引き起こす可能性がある危険な設定です。対応タイトルであることを事前に確認せずに変更することはおすすめしません。
リフレッシュレートの変更方法
FPSLockerの大きな強みとして、ゲーム内のFPSだけでなく、Switch本体のディスプレイやドック接続した外部ディスプレイのリフレッシュレート(Hz)を変更できる機能があります。
リフレッシュレートとは、「ディスプレイが1秒間に画面を書き換える回数」を示す数値です。例えば60Hzのディスプレイは、1秒間に最大60回画面を更新します。ゲームの「目標FPS」とディスプレイの「リフレッシュレート」を適切に一致させることで、60FPSには届かないゲーム(例:40FPSや45FPS動作)でも、ティアリングやカクつきのない非常に滑らかな映像表示を実現できます。
携帯モードのリフレッシュレート設定
携帯モードでは、以下のメニュー項目から本体画面のリフレッシュレートを制御できます。
| 項目 | 内容 |
| Increase refresh rate | 本体ディスプレイのリフレッシュレートを上げる |
| Decrease refresh rate | 本体ディスプレイのリフレッシュレートを下げる |
| Handheld Display Sync | ゲームの目標FPSに合わせて、本体画面のリフレッシュレートを自動変更する |
| 60 HZ in HOME Menu | ゲーム中以外(HOMEメニュー移動時)はリフレッシュレートを標準の60Hzに戻す |
変更可能なリフレッシュレートの範囲は、Switch本体のディスプレイパネルの種類によって異なります。
| ディスプレイモデル | 対応リフレッシュレート範囲 |
| 通常モデル / Lite(LCDパネル) | 40Hz ~ 60Hz |
| 有機ELモデル(OLEDパネル) | 45Hz ~ 60Hz |
Switch有機ELモデル(OLED)は 45Hzが下限 となっており、LCDモデル(40Hz下限)とは設定できる範囲が異なります。
携帯モードでの画面表示に関する注意点
- OLEDモデルの色味変化: 有機ELモデルではリフレッシュレートを変更した際に自動でガンマ補正が行われますが、完全に元の60Hz時の色味を再現できるわけではありません。開発者によると、特に「45Hz・画面の明るさ60%」といった条件下などで、色味に多少の違いが発生することがあります。
- LCDモデルのちらつき: LCDモデルにおいても、搭載されている一部の液晶パネルの個体差によっては、40Hzに設定した際に画面の四隅がわずかにちらつく(フリッカーが起きる)という報告があります。
TVモードのリフレッシュレート設定
TVモード(ドック接続時)では、接続している外部モニターやテレビの性能に合わせて、Change refresh rate からリフレッシュレートの候補を選択できます。
ただし、実際に利用できるリフレッシュレートは、接続先のディスプレイ、ドックの仕様、およびHDMIの映像信号帯域幅によって制限されます。例えば、フルHD(1080p)解像度で75Hzを超える映像出力を行うには、ハードウェアや接続環境による制約が伴います。
なお、Switch有機ELモデル付属のドック環境などでは、別途 sys-dock を併用することでドック接続時の120Hz出力に関する制限を解除できます。ただし、ディスプレイ表示を120Hzに設定できたとしても、すべてのゲームが120FPSで動作するわけではない点には留意してください。
Display Sync(FPSとリフレッシュレートの自動連動)
FPSLockerを使ううえで非常に便利な機能が、Handheld Display Sync(携帯モード用) と Docked Display Sync(TVモード用) です。
これを有効にすると、設定したゲームの目標FPS(FPS Target)に合わせて、ディスプレイのリフレッシュレートが自動的に同じ数値へ変更されます。 例えば、FPS Targetを「45FPS」に設定した場合、ディスプレイ側のリフレッシュレートも自動的に「45Hz」へと同期される仕組みです。細かな手動調整を省いて滑らかな表示を得たい場合は、基本的にこちらを有効にしておくとよいでしょう。
ただし、Display Syncに関して以下の仕様・注意点があります。
- Display Syncを無効(OFF)にして手動でカスタムリフレッシュレートを設定している状態では、Switch本体を一度スリープさせると、スリープ復帰後にカスタムリフレッシュレートが自動復元されません。
- リフレッシュレートを低く設定すると、それに連動してSwitchのHOMEメニューやTesla / Ultrahand系オーバーレイメニューのアニメーション速度も遅くなるため注意してください(気になる場合は
60 HZ in HOME Menuの活用を検討してください)。
FPSLocker Warehouseからゲーム別パッチを取得する方法
FPSLockerの真価を引き出すうえで重要なのが、公式の設定ファイルリポジトリである「FPSLocker Warehouse」です。
ゲームによっては、FPSLockerの標準機能だけでは30FPSの上限を解除できなかったり、無理にFPSを変更するとゲームスピードが倍速化・スロー化したり、物理演算やイベント進行に不具合が発生したりします。FPSLocker Warehouseでは、そうしたゲーム固有の制限や不具合を解消するための専用設定ファイル(YAML形式)がタイトル・バージョン別に公開されています。
設定ファイルの取得とパッチ変換手順
ゲーム別の設定ファイルは、PCを使わずにSwitch上のFPSLockerメニューから直接ダウンロードして適用できます。
- Switch本体をインターネットに接続します。
- パッチを適用したい対象のゲームを起動します。
- オーバーレイメニューを呼び出し、
FPSLockerを開きます。 Advanced Settingsを選択します。Check/download config fileを選択します。- 起動中のゲームと現在のバージョン(Build ID)に対応した設定ファイルがWarehouse上に存在する場合、自動的にダウンロードされます。

- ダウンロード完了後、メニューに
Convert config to patch fileが表示されるため、これを選択して設定ファイルをパッチ(バイナリ)に変換します。
- 変換が完了したら一度ゲームを再起動し、再度FPSLockerを開いて目標FPS(60FPSなど)を変更します。

なお、設定ファイルはゲームのアップデートバージョンごとに厳密に管理されています。そのため、最新バージョンのゲーム向けにパッチが用意されていても、古いバージョンのままでは利用できない(またはその逆の)可能性があります。
パッチファイルの保存先
変換して作成されたパッチファイル(.bin)は、SDカード内の以下のディレクトリに自動保存されます。
SaltySD
└── plugins
└── FPSLocker
└── patches
└── <ゲームのTitle ID>
└── <ゲームのBuild ID>.bin
このようにゲームごとの Title ID と、バージョン固有の Build ID の階層で管理されるため、別のゲームや異なるバージョンのパッチが誤って適用されるのを防ぐ安全な設計になっています。
設定ファイルが見つからない場合
画面上に Patch file doesn't exist. と表示される場合は、「対象のゲームで高FPS動作を実現するには専用パッチが必要と判断されているものの、現在適用できるパッチファイルが存在しない」状態を示しています。
Warehouse側にそのゲーム自体の設定ファイルがまだ登録されていない場合や、現在プレイしているゲームのバージョン(Build ID)に対応するファイルが作られていない場合は、パッチを生成できません。そのため、FPSLockerが起動できるゲームであっても、必ずしもすべてのタイトルを30FPS以上で動作させられるわけではありません。
『ロマンシング サガ2 リベンジオブザセブン』の設定例
ここからは、FPSLockerを利用した具体的なゲーム別設定例として、『ロマンシング サガ2 リベンジオブザセブン』を取り上げます。
本作はFPSLocker Warehouseに専用の設定ファイルが公開されており、パッチを適用することでゲーム内部のFPS制限解除やDynamic Resolution(動的解像度)のフレーム時間調整に対応できます。
本作の対応状況
Warehouse上で確認できる本作の設定ファイル情報は以下のとおりです。
| 項目 | 内容 |
| ゲーム名 | Romancing SaGa 2: Revenge of the Seven(ロマンシング サガ2 リベンジオブザセブン) |
| Title ID | 010045301B86C000 |
| 対応バージョン | 1.1.0 |
| Build ID | D7A32C718E9D6363 |
| パッチ公開状況 | 公開済み |
| 設定ファイル名 | D7A32C718E9D6363.yaml |
専用パッチの処理内容
本作向けの設定ファイル(D7A32C718E9D6363.yaml)では、Unreal Engineのコンソール変数や内部タイミングに対して主に以下の処理が行われています。
| 設定対象 | 処理内容 |
r.VSync | エンジン内部のVSync(垂直同期)を無効化 |
r.DynamicRes.FrameTimeBudget | FPS目標値に合わせて動的解像度のフレーム時間予算を自動調整 |
t.MaxFPS | FPSLockerで設定した目標FPSをゲームエンジン内部の上限値に反映 |
| Timing | ゲーム内のタイミング処理に関する調整 |
ここで特に注目したいのが、Dynamic Resolution(動的解像度)に関する設定(r.DynamicRes.FrameTimeBudget)です。
Dynamic Resolutionとは、ゲームの描画負荷に応じて内部解像度をリアルタイムに上下させ、フレームレートの低下を防ぐ機能です。本作の設定ファイルでは、FPSLocker側で設定した目標FPSをもとに、1フレームあたりに許容される描画時間(フレーム時間予算)を自動計算して書き換えるよう設計されています。
例えば、60FPS を目標にする場合、1秒(1000ms)を60フレームで割るため、1フレームあたりに使える処理時間は 約16.67ms です。
$$1000 \div 60 \approx 16.67\text{ ms}$$
一方、標準の 30FPS の場合は1フレームあたり 約33.33ms となります。このように、目標FPSに合わせて内部のフレーム時間設定を適切に連動させることで、高いFPSを目指す際にもDynamic Resolutionが正しく機能するよう配慮されています。
また、t.MaxFPS によってゲーム内部のFPS上限もFPSLockerの目標値に同期されます。設定ファイル自体は ALL_FPS として定義されているため、60FPS固定だけでなく、40FPSや45FPSなどFPSLocker側で指定した任意の目標値に応じて柔軟に処理が適用される構成となっています。
本作にパッチを適用する手順
本作の設定ファイルはWarehouseに公開されているため、Switch本体のFPSLockerから直接取得・変換が可能です。
- ゲームのアップデートを適用し、バージョンを
1.1.0にします。
- 『ロマンシング サガ2 リベンジオブザセブン』を起動します。
- オーバーレイメニューから
FPSLockerを開きます。 Advanced Settingsを開きます。Check/download config fileを選択して設定ファイルをダウンロードします。- ダウンロード完了後、表示された
Convert config to patch fileを選択してパッチに変換します。 - 一度ゲームを再起動します。
これで本作向けの専用パッチを利用する準備が整いました。
重要なポイントは、「ゲームのバージョン」と「Build ID」が設定ファイルと完全に一致していることです。上記の設定ファイルはバージョン 1.1.0(Build ID:D7A32C718E9D6363)向けのため、異なるバージョンで利用する場合は対応する設定ファイルが存在するかを確認してください。
おすすめのFPS設定例と調整のコツ
パッチ適用後は、FPSLockerのメインメニューから目標FPS(Custom FPS Target)を変更します。
本作のような3Dグラフィックスを多用するタイトルでは、いきなり60FPSに設定するのではなく、負荷と安定性を見ながら段階的に試す方法がおすすめです。例えば、以下のような順番で動作を確認していきます。
| 設定段階 | 目標FPS | 確認内容・目的 |
| 基準設定 | 30FPS | 標準的な動作・画質との比較、パッチ適用後の正常動作確認 |
| 中間設定 | 45FPS | フレームレート向上の体感と、無理のない安定性のバランス確認 |
| 高FPS設定 | 60FPS | オーバークロック(Horizon OC、sys-clk等)も併用したうえでの最大パフォーマンス確認 |
※上記は動作確認用の設定ステップ例であり、45FPSや60FPSでの完全な安定動作を保証するものではありません。
特に60FPSを目標にする場合、Switch本体の定格クロックのままでは処理能力が不足し、実際のFPSが目標値に届かない場面が多くなります。FPSを引き上げるほどCPU・GPU・メモリへの負荷も増大するため、高FPSを維持したい場合は などのオーバークロックツールで動作クロックを調整する必要が出てきます。Horizon OC、sys-clk
なお、筆者の環境ではCPU・GPUを以下のクロックにすることで、60FPSに到達できました。
また、携帯モードでプレイする場合は Handheld Display Sync を有効にしておくと、目標FPSに合わせてリフレッシュレートも自動調整されるため非常に快適です。例えば目標を「45FPS」にした場合、画面も「45Hz」で駆動するため、60FPSに届かなくてもスタッターのない滑らかな映像で遊べます。Switch有機ELモデル(OLED)でも45Hzがリフレッシュレートの下限となっているため、この「45FPS / 45Hz」という中間設定は実用性の高い選択肢となります。実際のFPS表示を確認しながら、フィールドや戦闘でフレームレートが安定しない場合は目標値を少し下げてバランスを取ってみてください。
FPSLockerを利用する際の注意点
FPSLockerは非常に強力で便利なツールですが、安全かつ快適に利用するために押さえておくべき注意点がいくつかあります。
1. 60FPSチートやFPS MODとの併用は避ける
開発者は、FPSLockerと従来の「60FPSチートコード」や「FPS変更MOD」を同時に利用することを推奨していません。
どちらもゲーム内のFPS制御やタイミング処理に介入するため、併用すると処理が競合し、フレームレートがおかしくなったりゲームがクラッシュしたりする原因になります。基本的にはどちらか一方のみを利用してください。
2. すべてのゲームが高FPSに対応するわけではない
FPSLockerはグラフィックスAPIのフックを通じて汎用的にFPSを制御しますが、ゲームエンジン内部に独自の制限やフレームレート依存の処理が存在する場合は専用パッチが不可欠です。
また、仮にFPS上限を解除できたとしても、ゲームによっては「ゲーム全体の速度が倍速になる」「物理演算が破綻する」「UIやアニメーション表示に不具合が出る」といった問題が発生するケースがあります。利用前にFPSLocker Warehouseで対象タイトルの対応状況や既知の問題点(Notes)を確認することをおすすめします。
3. 高いFPSの維持にはオーバークロックが必要になる場合がある
Switchのハードウェア性能上、多くのゲームでは定格動作のままCPU・GPU・メモリの余裕だけで60FPSを維持することは困難です。特に描画解像度が上がるTVモードで60FPSを安定させるのは簡単ではありません。
開発者も「一般的な高クロック設定だけでは60FPSに固定できないゲームが多い」と説明しています。無理に極端なオーバークロックを行うのではなく、実測のFPSや本体の発熱・バッテリー消費状況を確認しながら、40FPSや45FPSといった中間設定も含めて現実的なラインで調整しましょう。
4. リフレッシュレート変更による画面表示の不具合と自己責任
携帯モードでディスプレイのリフレッシュレートを標準(60Hz)から変更すると、パネルの種類や個体差によって色味の変化やちらつきが発生する可能性があります。
- Switch有機ELモデル(OLED): リフレッシュレート変更時にガンマ補正が行われますが、60Hz時と完全に同じ色味にはならない場合があります。
- Switch通常モデル / Lite(LCD): 一部のパネル個体において、40Hz設定時に画面端のちらつきが報告されています。
なお、開発者はREADMEにおいて「リフレッシュレート変更機能の使用によって生じたいかなるハードウェアの故障・損害についても責任を負わない」旨を明記しています。機能を十分に理解したうえで、自己責任で利用してください。
5. 高リフレッシュレートのTVモードにはシステム上の制限がある
TVモードでは外部ディスプレイやドックの性能に応じて高いリフレッシュレートを選択できますが、高リフレッシュレート(特に100Hz以上)に設定した場合、SwitchのHOMEメニューやシステムアプレットの動作が不安定になり、ゲームやシステムがクラッシュする可能性があります。高Hz出力を試す際は、こうしたシステム側の制約がある点に注意してください。
おわりに
今回は、Nintendo Switchのゲームのフレームレート(FPS)や画面のリフレッシュレートを自在にカスタマイズできるオーバーレイツール「FPSLocker」について、導入方法から詳しい使い方まで解説しました。
FPSLockerはSaltyNXと連携することで、ゲームを起動しながらリアルタイムに目標FPSを変更できる非常に便利なツールです。さらに「FPSLocker Warehouse」で公開されているゲーム別の設定ファイル(専用パッチ)を組み合わせれば、標準では30FPSに制限されているタイトルでも、動的解像度やタイミング処理を最適化しつつ高フレームレートでの動作を目指せます。
また、単なる60FPS化だけでなく、ディスプレイのリフレッシュレート変更(Display Sync)やトリプルバッファリングへの切り替えを活用することで、40FPSや45FPSといった中間フレームレートでも驚くほど滑らかなゲーム体験が得られるのが大きな魅力です。
今回具体例として紹介した『ロマンシング サガ2 リベンジオブザセブン』のように、人気タイトル向けの設定ファイルが多数公開されているので、手持ちのゲームが対応しているかぜひ一度Warehouseを確認してみてください。高いFPSを設定すれば必ず快適になるとは限らないため、Switch本体の処理能力や動作の安定性を見極めながら、自分の環境にぴったりの設定を見つけてみてください。

コメント