MikuMikuMoving v2 アルファゼロ版
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

MikuMikuMoving v2 アルファゼロ版

2014-04-12 15:44
  • 83
現在、DirectX11を使ったMikuMikuMovingを開発中です。

基本的にできることは変わりませんが、Windows XPもサポート終了した今、DirectX9にこだわる必要性は少なくなりました。
最近のグラフィックカードはDirectX11に最適化されている(はず)ですので、将来を見据えるとDirectX11対応のほうがパフォーマンスとして有利です。

まあ、動機としては純粋にDirectX11に興味があり、触りたかったというのが一番大きかったです。

ということで、アルファゼロ版です。
できることは非常に少ないです。ボーン操作や動画出力は残念ながらできません。
できるのはモデル読み込み->モーション読み込み->再生、ぐらいです。
その他は未検証ですので、エラーが出ても泣かないでください。

また、使用にはDirectX10.1以上に対応したグラフィックカードが多分必要です。
ご注意ください。

MikuMikuMoving v2 アルファゼロ
https://sites.google.com/site/mikumikumovingeng/MikuMikuMoving2_a0.zip

また、お願いがあります。
もちろん時間のあるときで構いませんので、以下の手順でパフォーマンス報告をしていただけると非常に助かります。

1. MikuMikuMoving v2を起動します。
2. MMDに標準添付されているあにまさ式初音ミクVer2.pmdを読み込みます。
3. CPUで変形処理したときのFPS値を取得します。
 3-1. リボンの「ファイル」、左端あたりにある「CPU」ボタンを押します。
 3-2. 数秒待ち、大体のFPS値をメモします(CPU FPS値)
4. GPUで変形処理したときのFPS値を取得します。
 4-1. 「CPU」ボタンの下にある「GPU」ボタンを押します。
 4-2. 数秒待ち、大体のFPS値をメモします(GPU FPS値)
5. GPU+StreamOutputで変形処理したときのFPS値を取得します。
 5-1. 「GPU」ボタンの下にある「GPU+SO」ボタンを押します。
 5-2. 数秒待ち、大体のFPS値をメモします(GPU FPS値)

6. ご自身のパソコンのCPUとグラフィックカードを添えて、この記事にコメントしてください。CPUやグラフィックカードが分からない方は、dxdiagで見てみてください。
 (dxdiag:http://faq.epsondirect.co.jp/faq/edc/app/servlet/relatedqa?QID=011044)

例:
CPU:Core 2 Duo E8400
グラフィックカード:ATI Radeon HD 3870
CPU FPS:約260
GPU FPS:約182
GPU+SO FPS:約119

なお、アルファゼロ版のエラー報告は不要です。
その他、もしご感想などありましたら是非お願いします。
また、メールでのご意見・ご要望も受けておりますので、よろしくお願いします。



==ここからちょっと技術的なお話==

DirectX11にしたことで、グラフィックカードのパフォーマンスを引き出せたり、テッセレーションといった新しい技術が使えるようになります。
ただ、モデルを動かして動画を出力するという中では、できることはあまり増えないかもしれませんので、期待は禁物です。

今回、StreamOutputというものを使ってみました(上のパフォーマンス報告のGPU+SOがそうです)。GPUによるスキニング結果を保存・再利用できるため、パフォーマンスの向上が期待できます。
が、私の環境では逆に遅くなってしまいました。多分グラフィックカードが最適化されていない、オーバーヘッドが思ったよりも大きい、といったことが原因と考えられます。
最近のDirectX11用カードではどうなるかを知りたかったので、パフォーマンス報告の中に入れさせてもらってます。

また、一部のフォームコントロールをDirect2Dで描画しています。
Radeonだからなのか不明ですが、私の環境ではかなり描画速度が向上しました。
NVIDIA系でも速くなるといいのですが。

あと気になるのはエフェクトですが、DirextX11では通常シェーダモデル4.0以上になります。
3.0以下も互換モードで動くようなのですが、すみません未検証です。
既存のMMEエフェクトが動くかどうかは、現段階では全く分かりません。

アルファゼロ版はコードによるパフォーマンス最適化をあまり行っていませんが、セルフシャドウもまだ入れていないので、まあこんなもんかなと思います。

DirectX11対応は結構大変でした。
まあ、ちゃんと分離できるように作ったおかなかった私が悪いのですが(´・ω・`)。

では、今後ともMMMをよろしくお願いいたします。
Mogg






広告
他73件のコメントを表示
×
CPU:Core i7-2600
グラフィックカード:GeForce GTX 560 Ti
CPU FPS:約555
GPU FPS:約950
GPU+SO FPS:約610
69ヶ月前
×
CPU:Core i7 2600K
グラフィックカード:GeForce GTX 560 Ti
CPU FPS:約275
GPU FPS:約530
GPU+SO FPS:約480
69ヶ月前
×
CPU:Corei7-620m
グラフィック:RADION HD4570m
CPU fps:約285
GPU fps:約300
GPU+SO fps:170
69ヶ月前
×
CPU: i5-3570 3.40GHz
グラフィックカード:NVIDIA GeForce GTX 660
CPU FPS: 約570
GPU FPS: 約1096
GPU+SO FPS:約747
69ヶ月前
×
CPU:A6-3420M APU
グラフィックカード:ATI Radeon HD 6520G
CPU FPS:約162.5
GPU FPS:約265.5
GPU+SO FPS:約149.1
69ヶ月前
×
CPU:Celeron E3300(2.5GHz → 3.3GHzにOC)
グラフィックカード:NVIDIA GeForce GTX 660(ドライバ:337.50β)
CPU FPS:約200
GPU FPS:約340
GPU+SO FPS:約320
68ヶ月前
×
初めまして、良ければ参考に

CPU:Core i7 960 3.20GHz
グラフィックカード:GeForce GTX 560ti
CPU FPS:470
GPU FPS:720
GPU+SO FPS:500
68ヶ月前
×
CPU:Core i7-2600K
グラフィックカード:GeForce GTX 660
CPU FPS:約580
GPU FPS:約1100
GPU+SO FPS:約760

MMMにいつもお世話になっております。
moggさんありがとう。
68ヶ月前
×
CPU:Core i7 4770K
グラフィックカード:GeForce GTX760
CPU FPS:約669
GPU FPS:約1253
GPU+SO FPS:約1015
68ヶ月前
×
CPU:Phenom II X6 1065T
グラフィックカード:ATI Radeon HD 7850
CPU FPS:約67
GPU FPS:約50
GPU+SO FPS:約50

GPUの負荷が0%から上がりません。
ドライバが原因かも?
68ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。