マガジン

fpsとは:ゲームの滑らかさの数字

遊びを見つける

執筆にClaudeを使用しています。

ガラスの覆いの中でボールと振り子が静止し、ゲームの一時停止を表した写真風イメージ。
記事のテーマをもとに制作したAI生成イラスト。

ゲームの画面は、パラパラマンガと同じ仕組みで動いています。静止画を1秒間に何枚切り替えているかを示す数字が「fps(フレーム毎秒、frames per second)」です。この数字が大きいほど映像が滑らかに見え、小さいと動きがカクカクした印象になります。 「60fpsと30fpsって何が違うの?」という疑問は、ゲームを始めたばかりの人がまず直面する問いです。この記事では、fpsの意味を確認したうえで、どの値を目安にすればよいか、なぜ下がるのか、どう対処するかを順に説明します。

この記事の目次
  1. fpsとは何か
  2. 30・60・120fps それぞれの体感差
  3. fpsが下がる原因
  4. fpsを安定させるための考え方
  5. fpsを確認する方法
  6. 次の行動
  7. 参考資料

fpsとは何か

1秒間に表示される静止画(フレーム)の枚数が fps です。たとえば60fpsなら、1秒間に60枚の画像が切り替わります。人間の視覚は毎秒おおよそ24枚以上の画像を連続して見ると「動いている」と感じますが、その枚数が多いほど動きのつながりが滑らかに感じられます。

映画館のフィルム映画は一般に24fpsで撮影されています。一方、テレビ放送は日本では60i(インターレース方式)が基本です。ゲームでは30fps・60fps・120fpsといった値がよく使われ、インタラクティブな操作があるぶん、映像として見るだけの動画よりも高いfpsが体感差として現れやすい特徴があります。

30・60・120fps それぞれの体感差

fpsの値と体感の関係を整理します。

  • 30fps、よくある用途:家庭用ゲーム機の多くの作品、重い3Dゲーム、体感の特徴:動きは伝わるが、速い操作で遅れを感じることがある
  • 60fps、よくある用途:PCゲーム・スマートフォンゲームの標準、体感の特徴:操作への反応が素直に感じられ、視覚的な滑らかさも十分
  • 120fps以上、よくある用途:高リフレッシュレートモニター向け、競技向けゲーム、体感の特徴:カーソルや照準の追従感が一段上がる

体感差は題材によっても変わります。ターン制のカードゲームや静的なパズルゲームでは30fpsと60fpsの差をほとんど意識しません。一方、高速でキャラクターを操作するアクションゲームやシューティングゲームでは、60fpsと30fpsの差は操作感に直接影響します。

「60fps以上でないと遊べない」というわけではなく、ゲームのジャンルと自分の目的に合わせて判断するのが現実的です。

fpsが下がる原因

ゲームを動かしているデバイス(PC・スマートフォン・ゲーム機など)は、1秒間に処理できる計算量に上限があります。その上限を映像の生成処理が超えると、フレームを間に合わせて出力できなくなり、fpsが低下します。これを「フレーム落ち」や「フレームドロップ」と呼びます。

主な原因は次の三つです。

  1. 描画処理が重すぎる ― 3Dグラフィックスの解像度や影・反射などの視覚効果を高く設定しすぎると、GPU(映像処理を担うチップ)の負荷が上限を超えます。
  2. CPU処理の渋滞 ― キャラクターの動作計算・物理演算・AI処理などがまとめて重なると、CPU(全体の計算を担うチップ)がボトルネックになります。
  3. メモリや通信の遅延 ― 利用できるメモリが不足していたり、オンラインゲームでネットワーク遅延が起きたりすると、処理が止まってfpsに影響します。

ブラウザゲームの場合は、これらに加えて「ブラウザ自体の処理オーバーヘッド」も要因になります。JavaScript・WebGLなどの技術を使ってゲームを動かしているため、ネイティブアプリより処理コストが高くなる場面があります。

fpsを安定させるための考え方

プレイヤーとして設定を調整する場合と、ゲームを作る側として対処する場合で、アプローチが変わります。

プレイヤーとして設定を調整するとき

  • グラフィック設定を「低」または「中」に下げ、まず安定したfpsを確保してから、徐々に上げて限界を探ります。
  • 解像度を下げることが最もfpsへの効果が大きい傾向があります。
  • バックグラウンドで動いている別のアプリを閉じると、CPUとメモリの空きが増えてfpsが改善することがあります。

ゲームを作る側として対処するとき

  • 一度に描画するオブジェクトの数を減らす「カリング(視界外の描画を省く処理)」を取り入れます。
  • ループ処理の中で重い計算を毎フレーム行わず、数フレームに1回にまとめることで負荷を分散できます。
  • ブラウザゲームでWebGLを使う場合は、テクスチャのサイズや数を控えめにするだけで描画負荷が大幅に変わります。

「フレームレートを固定する」という選択肢もあります。たとえばゲーム内のロジックを「60fpsで動く」と決め打ちにしておくと、端末の性能差による動作速度のばらつきを防ぎやすくなります。端末によってキャラクターの移動速度が変わってしまう問題は、時間(秒)を基準に動きを計算する「デルタタイム方式」を使うことで回避できます。

fpsを確認する方法

自分が今見ているゲームのfpsを知りたいときは、以下の方法が使えます。

  • Windowsのゲームバー ― キーボードの「Win+G」でゲームバーを開くと、パフォーマンスタブにfpsが表示されます。
  • ブラウザの開発者ツール ― ChromeやEdgeでF12を押して「Performance」タブを開くと、フレームの記録と分析ができます。
  • ゲーム内の設定メニュー ― 多くのゲームにはfps表示をオンにするオプションがあります。
  • 専用ツール ― MSI AfterburnerなどのPC向けオーバーレイツールは、常時fpsをモニターするために広く使われています(最新の対応状況は公式サイトで確認してください)。

数値が常に安定しているかどうかも重要です。「平均60fps」でも瞬間的に20fpsまで落ちる場面があれば、プレイヤーにはカクつきとして感じられます。最小値や急落のタイミングを確認する習慣をもつと、問題の原因を特定しやすくなります。

次の行動

まずは今使っているデバイスで気になるゲームを動かし、開発者ツールやゲームバーでfpsを確認してみてください。安定しているか、特定の場面で落ちているかを観察するだけで、改善の糸口が見えてきます。自分でブラウザゲームを作っている場合は、アソバースにZIPまたはHTMLで投稿して実際のブラウザ環境でfpsを計測してみると、手元の開発環境との差も確認できます。

参考資料

  • MDN Web Docs(Mozilla)— requestAnimationFrame、WebGL の解説
  • Chrome Developers — DevTools Performance パネルの使い方