マルチカードグラフィックスの問題とその解決策: Nvidia の FCAT
現在でも、業界ではFrapsなどのソフトウェアベースのツールや、グラフィックカードのメモリから毎秒フレームをキャプチャするゲーム内カウンターを用いて、1秒あたりのレンダリングフレーム数を測定しています。一見すると、これは正確なデータを生成するための優れた方法のように思えます。
問題は、ゲームエンジンの出力とモニターに表示される内容に大きな乖離が生じる可能性があることです。さらに、シングルGPU構成で起こり得る問題を超えて、複数のグラフィックプロセッサが協調して動作する複雑さを考慮すると、さらに2つの変数がゲーム体験に影響を与えます。それは、フレーム落ちと、NVIDIAが「ラントフレーム」として導入しているものです。
簡単に言うと、フレームがメモリにロードされた後も、グラフィックスパイプラインではまだ多くの作業が行われており、時間がかかります。その結果、一部のフレームは画面に表示される前にドロップされます。他のフレームは表示されますが、画面のごく一部にしか表示されません。NVIDIAの定義では、モニター上の21スキャンライン未満に表示されるフレームを指します。
フレームのドロップやラントは、ゲームプレイ中に画面に表示される内容には何らプラスの影響を与えません。しかし、ベンチマークツールではカウントされます。これは特に、ハードウェアの組み合わせが一貫性を考慮せずに可能な限り高速にレンダリングしている場合に問題となります。ドロップやラントが多ければ多いほど、Frapsのようなユーティリティの精度は低下します。幸いなことに、これら2つの問題はマルチGPU構成でのみ問題となるほどです。シングルカードテストでは、Frapsと私たちが使用するゲーム内指標ははるかに正確です。
では、ラントやドロップ フレームが結果に干渉することなく、AMD CrossFire および Nvidia SLI ベースのセットアップからフレーム レート データをキャプチャするにはどうすればよいでしょうか。
ディスプレイ出力を記録し、フレームごとに分析します。大変な作業のように聞こえますか?実際、非常に時間がかかるため、Nvidiaはこれを可能にする独自のツールスイートを開発しました。
私たちが使用しているものの中には、市販のオープンソースのものもあります。例えば、ベンチマーク対象のシステムはGefenのデュアルリンクDVI分配器に接続されており、そこからモニターと、2台目のマシンに接続されたDatapath LimitedのVisionDVI-DLキャプチャカードに出力されます。正確な分析を行うには、録画されたビデオがフレーム落ちのない完璧なものでなければなりません。そこで、非圧縮ストリーム(カードの最高解像度で最大650MB/秒)に対応できるストライピングSSDを3台使用しています。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
テスト対象のシステムはオーバーレイを実行し、グラフィックカードからの各フレームに16色のカラーバーを繰り返し表示します。このソフトウェアはNVIDIA製ですが、分析を自動化するためには不可欠です。同社の担当者によると、Beepaの開発者は、このオーバーレイ機能をFrapsに追加し、NVIDIAを介さずに済む可能性があるとのことです。
オーバーレイバー付きのゲームプレイは、VirtualDubによってソリッドステートストレージにキャプチャされます。そこから別のNVIDIAアプリがビデオを読み込み、ビデオのフレームを分析してカラーバーのシーケンスを探すことで、情報豊富なExcelスプレッドシートを作成します。このユーティリティは、予測値を把握しているため、フレームの欠落(色の欠落)や、フレームが画面上の21走査線未満しか占めていない(ラント)かどうかを簡単に判断できます。
Excelファイルでさえ、データ量が非常に多いです。そこでNvidiaは、情報を解析し、フレームレート/フレームタイム分析と、その情報を反映したグラフを作成できる一連のPerlスクリプトを開発しました。
Nvidiaはこの包括的なパッケージを、フレームキャプチャ解析ツール(FCAT)と呼んでいます。FCATによって得られるパフォーマンスデータは、現在報告されているレポートからドロップフレームやラントフレームを除外するように修正されており、ゲーマーが実際に目にするデータとより一致するはずです。
ドン・ウォリグロスキーは、Tom's Hardwareの元シニアハードウェアエディターです。CPU、GPU、システム構築、新興技術など、PCハードウェアに関する幅広いトピックをカバーしています。