フォト

Google AdSense


  • AdSense
無料ブログはココログ

« GPU ShaderAnalyzer for GCN | トップページ | 続・DirectXMeshの最適化のパフォーマンスとVisual Studio 2013の分析機能の話 »

2014.12.11

DirectX Meshのメッシュ最適化やってみた

Opti />

DirectXMeshのメッシュ最適化機能を試してみたくて、以前書いたFBX LoaderにDirectXMeshの最適化を入れてみました。最適化のアルゴリズムがどういうものかはちょっと資料がみつかってないのですが、通常はGPUの頂点キャッシュなどにやさしい並びに頂点やインデックスを並べることが多いと思います。

DirectXMesh
https://directxmesh.codeplex.com/

使い方
https://directxmesh.codeplex.com/wikipage?title=OptimizeVertices&referringTitle=Mesh+optimization

ソース
https://github.com/shaderjp/FBXLoader2015forDX11

とりあえず、無事に表示できたわけですが本当にパフォーマンス向上してるの?ということで、Visual Studio 2013のグラフィックス診断のVisual Studio Graphics Anlyzerで計測をしてみました。実際にキャプチャしたのは上のスクリーンショットの状態です。それぞれのメッシュは、10,000頂点で、30,000インデックスあります。

下の例では、最適化なしとありを並べています。Windows 8.1とVisual Studio 2013 Pro(Community Editionでも行けると思います)だとこういう計測ができます。Windows 7だと計測できないのは残念ですね。

最適化無し
Model00 59.56 μs
Model01 68.63 μs
Model02 65.81 μs

最適化あり
Model00 59.15 μs
Model01 64.52 μs
Model02 63.48 μs

PCスペック
Intel Xeon W3530 2.80GHz 4コア 8スレッド
GPU Radeon HD 7950 3GB

Perf
クリックすると大きなサイズになります

結果としては、わずかにパフォーマンスが向上しているようです。最適化かけて遅かったらどうしよう...と思ったのですが一応パフォーマンス向上が見えてます。

このデータだとシンプルすぎてあまり差が出ないので再度別なデータで試してみたいですね。

« GPU ShaderAnalyzer for GCN | トップページ | 続・DirectXMeshの最適化のパフォーマンスとVisual Studio 2013の分析機能の話 »

Programming」カテゴリの記事

画像付き」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« GPU ShaderAnalyzer for GCN | トップページ | 続・DirectXMeshの最適化のパフォーマンスとVisual Studio 2013の分析機能の話 »