2012年

3月

23日

lat式ミクとXNAで簡易ベンチマーク

私の開発用PCの限界を調べてみた。

前回作ったMMDコンテンツパイプラインで読み込んだモデルがどれだけ表示できるのか確認してみました。

 

試してみたい方はコチラからダウンロードしてください↓

ダウンロードリンク

 

最終的にインターフェースはこんな感じになりました。

実行環境:

OS:Windows XP SP3

GPU:ATI Radeon4670

バックバッファ800×600 32bit

深度バッファ 24bit ステンシルバッファ 8bit

アンチエイリアス マルチサンプル 8個

ミップマップなし

描画内容 MMD風描画シェーダ、エッジシェーダ、ステンシルシャドウ

アニメーション付

 

・lat式ミクVer2.3 Normal

頂点数 15,847

ポリゴン数 23,084

材質数 28

ボーン数 131

 

・sweetmagic-left

再生時間 3分33秒267

キーフレーム数 26,975

まずは10体。37fps出た。30fpsのゲームであれば十分な速度は出てます。

20体。fpsは18.7。ちょっと重いです。

ステンシルシャドウを切ると28fpsまであがりました。

エッジも切ってみましたが、あまり影響がないようですね。

50体。fpsは8.35。そろそろ無理があります。

アニメーションとシェーダを切ったら55fpsまで跳ね上がりました。

アニメーションとシェーダ無しで100体。30fps出てます。充分な速度です。

アニメーション付+シェーダ有りで100体。

一気に飛んで1000体。0.4fps。

アニメーションしてもフリーズして動きません。

アニメーションとシェーダを切って1000体。

こちらも限界ですね。1.97fpsです。

私の環境でアニメーション+シェーダ有りで60fpsを維持するには6体が限界でした。

処理の重さは「アニメーション>ステンシルシャドウ>MMD風描画>エッジ」の順です。随所で高速化する必要がありますね。

 

特にhlsl。ピクセルシェーダでif文を何回か使ってるので何とかしたいです。

コメントをお書きください

コメント: 4
  • #1

    Bancho (木曜日, 29 3月 2012 03:03)

    すみません…

    記事にあったのとアップされたのとで
    差異がありますが…

    特にアップされてたのは
    200体までしか表示できないので
    1000体出した時のテストができないのが
    残念だったり…

    あと余談ですが、つい最近RADEON HD7850に替えましたが
    200体出しても9FPSを維持してました…

  • #2

    z10 (木曜日, 29 3月 2012)

    >Bancho様

    申し訳ないです。すみませんでした。
    1000体はネタというか、あまりにもモデル数が多いので配布の時点であえて200体まで制限してリリースしました。

    最大で1000体まで表示できるように修正したので是非お試しください。新しい操作も付け加えています。少々ファイルデータが増えているのでお気をつけください。

    200体で9fpsとは・・・速いですね。
    私の環境で200体だと2.2fpsでした。55体程度でようやく9fpsです。うらやましいです。

  • #3

    Bancho (木曜日, 29 3月 2012 23:41)

    こちらこそ申し訳ありません…

    こっちも1000体やってみましたが、
    シャドウ+エッジありだと大体1.89fps、
    シャドウエッジなしだと大体2.63fpsでした。
    (いずれもフィールドマップoffで)

    GPUの恐竜的進化恐るべし…

  • #4

    FCS (金曜日, 21 9月 2012 22:42)

    はじめまして
    最近のGPUがどれくらいの実行ポリゴン数で動くのかを調べる際にこちらのベンチマークを見つけました

    テストしてみた感じ、普通のPCだとCPUが先にボトルネックになるようです
    CPU:I7-2600K@5GHz GPU:Geforce GTX 680
    130体までならアニメ・シェーダ・シャドウ有りで60fpsを維持できますが
    それ以上になるとGPU使用率が低下していきます
    CPU使用率は1コアのみ最大に張り付いているので、マルチスレッド化されれば170体位までは60fpsを維持できるのではないかなと
    シェーダ・シャドウを無しにして180体辺りでfpsが落ち込みはじめるのでおそらくは

    1000体はシェーダ・シャドウ有りで7~8fps、無しで11~12fps位でした
    CPUがネックにならなければ、1億ポリゴン/秒位は出そうです