DirectX-Graphics-Samplesの実行結果

どれくらいのパフォーマンス(FPS)が出るのかを自分の環境で試した結果を書きます。ビルドのやり方については前回の記事に書きました。このときと同じ動作環境ですが、一応ここにも書いておきます。

実行環境

CPU:Core i7-8700K

GPU:GeForce GTX 1080 Ti(ドライバ:398.82)

OS:Windows 10 Home(バージョン:1803)

Visual Studio Community 2017(バージョン15.8.1)

結果

Visual Studio上でReleaseを選んで実行させたときの結果です。

サンプル名 FPS
Hello World 940.07
Simple Lighting 838.94
Procedural Geometry 96.78
MiniEngine 99(小数以下は四捨五入。Hzと表記されている)

Million Primary Rays/s というパフォーマンスを表す値が表示されているのですが、これはスクリーンのピクセル数とFPSの積を100万で割った値のようです。1ピクセルに1本のPrimary Rayが投げられるとすると、何本のレイを投げられるのかを示しているのでしょう。

以下はスクリーンショットを撮ってみたものです。ウィンドウのタイトル部分にパフォーマンスの表示があります。

MiniEngineのサンプルは描画方法をいろいろ変更できます。デフォルトだとDiffuse&ShadowMapsモードになっていて、diffuse ligthingとシャドウマップの作成をレイが行っているようです。Back Spaceキーを押してデバッグメニューが開くので、それで設定をいじれます。WASDで移動もできます。

以下はReflection Raysモードのスクリーンショットです。床に風景が写り込んでいるのがわかります。(床を見やすくするため、すこしカメラを前進しています。)Diffuse&ShadowMapsモードよりもパフォーマンスが2倍程度よく、シャドウマップの作成をレイで行ってない影響だと思います。

60FPSは余裕で越えていて、しかも反射はきれいに表示されていたのでリアルタイムレイトレーシングは今年中にゲームでも採用されるのではないかと思いました。全部レイトレーシングでなく、一部レイトレーシングで行うと現行のGPUでも使えると思います。