平均FPSが同じでもフレーム間隔の並びは異なります

更新日

平均が同じでも、フレーム間隔の数列が同じとは限りません。要約値には時折生じる長い間隔が隠れ、パーセンタイルにもそれが起きる位置は表れないことがあります。以下は意図的に作った数列です。特定のゲームやパソコンの滑らかさではなく、要約の限界を説明します。

数列全体から平均を計算する

10ミリ秒の間隔を1000個用意します。合計は10000ミリ秒なので、数列全体のレートは100 FPSです。間隔数に1000を掛け、合計ミリ秒で割ります。平均間隔は10ミリ秒です。この定義では、各間隔の逆数から得たレートの算術平均を取るのではなく、個数と経過時間を対応させます。

次に、9ミリ秒の間隔990個と109ミリ秒の間隔10個から別の数列を作ります。合計も10000ミリ秒で、数列全体の平均も100 FPSです。大部分の間隔は短い一方、一部はかなり長くなります。ここで平均が等しいことは、全体の時間当たりの個数が等しいという意味で、分布が等しいという意味ではありません。

パーセンタイルだけでは全体が分からない理由

標本が1000個なら、最近順位法のP99は昇順に並べた990番目の値を選びます。一定の数列では10ミリ秒です。混合数列ではその順位も990個の短い間隔に含まれるため9ミリ秒ですが、最大値は109ミリ秒です。この人工的な例では、低いP99と長い極端な間隔が両立します。

これは混合数列の体感がよいという証明ではありません。P99だけで滑らかさを完全に判定できるという考えへの反例です。定義、標本数、最大値も確認してください。計算方法が実際に一致すると文書で確認できない限り、このパーセンタイルを別名の低FPS指標に読み替えないでください。

間隔の個数割合と時間割合を比べる

60 FPSに対応する約16.67ミリ秒を分類の基準に選びます。混合数列では10個の長い間隔がこの基準を超えます。個数の1パーセントですが、それらの全持続時間は1090ミリ秒で、数列全体の時間の10.9パーセントです。個数割合と時間割合は別の問いに答えます。

この時間割合は、基準を超えた分だけではなく、超過した間隔の全持続時間を数えます。また、知覚されるカクつきの深刻さを測定したスコアでもありません。選ぶ基準を変えると同じ数列の分類は変わりますが、数列自体が速くなるわけでも、すべてのプレイヤーに共通する境界を示すわけでもありません。

連続する長い間隔を調べるときは順序を保つ

長い間隔を離して配置した版と、末尾にまとめた版を作ります。両方の値、平均、最近順位法のP99、最大値は同じですが、順序は異なります。選んだ基準では、基準を超える最長の連続区間は分散した版で1個、集中した版で10個です。

並べ替えた分布からは、この発生時点の違いは分かりません。実際の記録を比較するときは元の順序を見て、作業の状況も記録します。場面の切り替わりで集中する長い間隔と、動いている最中に散発する長い間隔は調べるべき別の観察です。ただし、グラフだけで原因を特定したり、全員の体験を予測したりはできません。

ひとつの問いに答える比較を計画する

実際に比較するなら、変更前にゲーム内の作業、取得方法、測定する間隔の種類、設定、関連する環境を定めます。同種の作業を比較し、無関係な条件は可能な範囲で一定に保ちます。短いメニューの記録と長い高負荷場面の記録は、両方から平均FPSが出るというだけでは置き換えられません。

作業を繰り返した場合は、最もよく見える記録だけを選ばず、比較対象として予定した記録をすべて残します。持続時間や切り替わりの違いも説明してください。長さの異なる記録のレートを、同じ経過時間を代表するかのように単純平均しないでください。全数列を合わせたレートは個数と経過時間を対応させて計算し、文脈を確認できる元の記録を残します。

ハードウェアを診断する前に観察を報告する

条件をそろえた比較で何が変わったかを述べます。平均、分布、極端な間隔、その順序などです。設定変更後の突出した間隔は調査の問いになりますが、自動的にハードウェアの制約やドライバーの不具合を特定しません。表示された数値を原因と見なす前に、測定の定義と作業の状況を確かめてください。

プレイヤーが体感の違いを報告したら、要約値から機械的に導かず、追加の観察として記録します。与えた間隔以外にも入力、表示、ゲーム内の作業が関係します。有用な結果は範囲を明確にした比較と次の調査であり、ひとつの統計ですべての不均一な動作を診断できるという約束ではありません。

平均FPSは経過時間当たりの個数を示し、パーセンタイル、最大値、時間割合、元の順序は数列の別の面を示します。定義をそろえ、同種の作業とともに読みましょう。同じ平均でも重要な違いが隠れますが、その違いだけでは原因や万人共通の滑らかさのスコアは確定しません。