macOSでリアルタイムでフレームレート(fps)を計測する方法

画像のようにmacOS上で現在のフレームレート(fps)を計測する方法を紹介。

なお、本記事で扱うのはあくまでフレームレートであってリフレッシュレートではない。また、もし本記事の手順を実行している際にXcodeのインストールを求められたらApp Storeから最新版のXcodeをインストールしよう。

macOSでフレームレートを表示させる手順

まずこちらのリンクからAppleのデベロッパーページに飛ぼう。Apple IDでのサインインを求められるが別にAppleのデベロッパプログラムに登録している必要はない。

サインインしたら検索ボックスに「graphics」と入力してフィルターをかけよう。

「Additional Tools for Xcode〜」のリストが表示されるが、どのバージョンのXcodeでもいいので「View Details」をクリックして「Additional Tools for Xcode〜.dmg」というファイルをダウンロードしよう。

ダウンロードしたらdmgファイルをマウントして開こう。

Additional Toolsを開いたら「Graphics」フォルダを開く。

Graphicsフォルダを開いたら「Quarts Debug」アプリを起動する。なお、このアプリはアプリケーションフォルダなど好きな場所に移動しても構わない。

起動すると警告が表示されるが「開く」をクリック。

起動したらメニューバーの「Window」の項目をクリックして「FrameMeter」をクリック。

すると画面左下にスピードメーターのような表示が出るはずだ。

ここで表示されている値が現在のmacOSのフレームレート(fps)となる。

表示されるのはフレームレートであってリフレッシュレートではない

なお、Quartz DebugのFrameMeterで表示されるのは冒頭でも書いた通り、あくまでmacOSの現在のフレームレートであってリフレッシュレートではない。

macOSのディスプレイ設定でリフレッシュレートを可変にしているかどうかに関わらず、FrameMeterで表示されるのはmacOSのアニメーションのフレームレートなので、何もしていない時や画面上で頻繁な描画処理が行われていない場合はフレームレートは30を下回ることもある。

macOSのディスプレイ設定でリフレッシュレートが可変かどうかに関わらずフレームレートは変動する
macOSでは激しい描画処理が必要な場合はフレームレートが上がり、そうでない時は下がる

ただ、リフレッシュレートを例えば30Hzにすれば当然のことながらフレームレートも30が上限となるので、そういった点ではフレームレートはリフレッシュレートに左右されるが、FrameMeterの値はあくまでmacOSのアニメーションのフレームレートだということを頭に入れておこう。

まとめ

macOSでゲームをプレイする人は少数であり、仮にゲームをプレイするとしてもフレームレートの計測にはSteamのオーバーレイを使うという手があるので、こういったフレームレートの計測が必要な場面は限られるが、macOSの描画処理における負荷を計測するという場面でも使えるのでデベロッパの人などは覚えておくと役に立つかもしれない。