nanfps(何FPS?)

fpsとは何か|平均fpsと1% lowの違い、比較できる形で測る手順

fpsと性能執筆: nanfps 編集部

「このGPUなら何fps出ますか」という質問には、そのままでは答えられません。fpsはGPUの型番だけで決まる値ではなく、解像度・画質設定・アップスケーリングの有無・CPU側の上限・そのゲームのバージョンまで含めた条件の組み合わせに対して決まる値だからです。

条件を書かずに出された「◯◯で120fps」という数字は、自分の環境に当てはめられません。この記事では、fpsが何で決まるのかを分解したうえで、他の構成と比較できる形で自分の環境を測る手順までを扱います。

フレームレートの基本データ

Frame Rate
単位
fps(frames per second)
平均fps
計測区間の総フレーム数 ÷ 経過時間
フレームタイム
1フレームの所要時間(ミリ秒)60fps相当なら約16.7ms、144fps相当なら約6.9ms
1% low
フレームタイムが遅い側1%を集計した値体感のカクつきに直結するのはこちら
代表的な計測ツール
PresentMon(Intel、オープンソース)GPUベンダー製オーバーレイでも計測できる
出典: Intel Corporation (GameTechDev) フレームレートの詳細ページ →

1フレームが表示されるまでに何が起きているか

1枚の映像が画面に出るまでには、大きく2つの工程があります。

  1. CPU側:ゲームの内部状態を更新し、何をどこに描くかという命令をGPUへ渡す
  2. GPU側:受け取った命令に従って、実際に画素を塗り、1枚の画像を完成させる

この2つは流れ作業なので、遅いほうが全体の速さを決めます。GPUを上位のものに替えてもfpsが変わらないことがあるのは、CPU側の工程が先に上限に達しているからです。逆にCPUだけ替えても変わらないなら、GPU側が上限になっています。

ここで重要なのは、解像度を上げたときに増えるのはGPU側の仕事だけだという点です。画素数が増えても、「何をどこに描くか」という命令の数はほとんど変わりません。この非対称性が、構成を考えるときの土台になります。

ボトルネックの基本データ

Bottleneck
GPU側で頭打ちの目安
GPU使用率が高いまま張り付き、CPU使用率に余裕がある
CPU側で頭打ちの目安
GPU使用率が上がりきらず、特定のコアだけ高負荷になる
解像度との関係
解像度を上げるとGPU負荷だけが増える解像度を上げてfpsが変わらないならCPU側で頭打ちの可能性が高い
VRAM不足の場合
使用率ではなく、急な落ち込みとテクスチャの表示遅れとして出る
出典: Intel Corporation (GameTechDev) ボトルネックの詳細ページ →

平均fpsだけを見ると判断を誤る

fpsの計測結果としてまず出てくるのは平均値ですが、平均値は短時間の落ち込みを均してしまいます

平均が同じ100fpsの2つの構成があったとして、片方はほぼ一定の100fps、もう片方は普段130fpsで数秒おきに40fpsまで落ちる、ということが実際に起こります。プレイ中に不快に感じるのは平均値ではなく、この落ち込みの深さと頻度のほうです。

そこで一緒に見るのが 1% low です。これは計測区間のフレームを所要時間の遅い順に並べ、遅い側1%を集計した値で、「最も重かった瞬間がどのくらい重かったか」を表します。

  • 平均fpsと1% lowが近い → 安定している
  • 平均fpsは高いが1% lowが大きく離れている → 平均は良くても引っかかりを感じやすい

平均fpsだけが載っているデータを見たときは、安定性については何も言っていないデータだと扱ってください。

フレームタイムで見ると何が起きているか分かる

fpsは1秒あたりの枚数なので、1枚ごとのばらつきが見えません。1フレームにかかった時間(フレームタイム、ミリ秒)で記録すると、落ち込みが「何ミリ秒の引っかかりが何回起きたか」として直接読めます。原因を追うときは、fpsではなくフレームタイムを見るほうが早く進みます。

モニタ側の上限を先に確認する

見落とされがちですが、モニタのリフレッシュレートを超えて描いたフレームは表示されません。上限60Hzのモニタに200fps出す構成を組んでも、目に見える形で返ってくるものは限られます。

順番としては、先に「今使っているモニタが何Hzまで出せるか」を確認し、そこから目標fpsを決めるほうが、予算の使い方に無駄が出ません。モニタを買い替える前提なら、モニタとGPUのどちらに予算を割くかという比較になります。

リフレッシュレートと同期技術の基本データ

Refresh Rate / Variable Refresh Rate
単位
Hz(ヘルツ)
表示の上限
リフレッシュレートを超えて描いたフレームは表示されない
可変リフレッシュレートの規格
VESA Adaptive-Sync / AMD FreeSync / NVIDIA G-SYNC
VESAの認証区分
AdaptiveSync Display / MediaSync DisplayVESAが定めるディスプレイ認証プログラムの区分

ポイント先に確認する順番

モニタの最大リフレッシュレート → その解像度でその値を出せる端子がGPU側にあるか → ケーブルが必要な帯域に対応しているか。この3つが揃って初めて、モニタの仕様値どおりに動きます。

比較できる形で測る

自分の環境を測ること自体は難しくありませんが、他の構成と比較できる形で測るには、記録しておくべき条件があります。逆に言えば、この条件が書かれていない計測結果は比較に使えません。

計測ツールとしては、Intelが公開している PresentMon がオープンソースで、フレームタイムを含めた記録を取れます。GPUメーカー各社のオーバーレイ機能でも平均fpsは確認できます。

記録する条件

項目なぜ必要か
ゲーム名とバージョンアップデートで性能特性が変わるため
GPUドライバのバージョン特定タイトルの最適化が入ることがあるため
解像度と画質プリセットfpsに最も大きく効くため
アップスケーリングの種類とモード内部解像度が変わり、条件がまったく別物になるため
フレーム生成の有無表示上のfpsだけが増えるため、有無が違うと比較にならない
計測した場所と経路シーンによって負荷が数倍違うため
同時に動かしていたソフト録画・配信・ブラウザはCPU側を占有するため

計測の手順

  1. 計測したいシーンを1つ決める(同じ経路を同じ速度で歩けるところがよい)
  2. 計測ツールを起動し、記録を開始する
  3. 決めた経路を60秒ほど動く
  4. 平均fpsと1% low、フレームタイムのグラフを保存する
  5. 設定を1項目だけ変え、同じ経路で繰り返す

一度に複数の設定を変えないことが最も重要です。2項目同時に動かすと、どちらが効いたのか分からなくなり、その計測は判断材料になりません。

注意計測結果の再現性について

同じ構成・同じ設定でも、計測ごとに数%の差は出ます。バックグラウンドの処理、GPUやCPUの温度による動作クロックの変動、メモリの状態が影響するためです。数%の差を根拠に結論を出さず、明確な差が出たときだけ判断に使ってください。

「何fps必要か」に一律の答えはない

必要なfpsは、遊ぶタイトルの種類とモニタの上限で決まります。素早い操作を競うタイトルと、映像を楽しむタイトルとでは、同じfpsでも意味が違います。

判断の順番としては次のようになります。

  1. 使っている(または買う予定の)モニタの解像度とリフレッシュレートを確定させる
  2. その解像度で、遊びたいタイトルをどの画質設定で動かしたいかを決める
  3. その条件を満たす構成を探す

この順番を逆にして、先にGPUを決めてから条件を考えると、モニタ側で頭打ちになって性能が使われないか、逆に解像度に対して足りないという結果になりがちです。

まとめ

  • fpsはGPUの型番ではなく、条件の組み合わせに対して決まる
  • 解像度を上げて増えるのはGPU側の負荷だけ。これが切り分けの手がかりになる
  • 平均fpsと1% lowは必ずセットで見る。平均だけでは安定性が分からない
  • 比較できる形で測るには、ゲームのバージョン・設定・アップスケーリング・計測場所まで記録する
  • 目標fpsはモニタの上限から逆算する

参考文献・出典

  1. PresentMonIntel Corporation (GameTechDev)
  2. NVIDIA GeForce 公式サイトNVIDIA
  3. VESA (Video Electronics Standards Association)VESA

この記事で使った判断基準

この記事を書いた人

nanfps 編集部

PCパーツの仕様は各メーカー・規格団体が公表している一次資料のみを参照し、フレームレートは計測条件を明記できるものだけを扱っています。参照した資料は記事末尾にすべて明示し、実測していない性能の序列付けや、出典を示せない数値は書かない方針で運営しています。

当サイトの編集方針・運営者情報はこちらをご覧ください。

関連記事