フォト

Google AdSense

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

« SHIELD TABLET予約開始 | トップページ | Kinect v2センサー届きました »

2014.07.24

グラフィックス診断用のユーザー定義イベントマーカーの挿入

個人的にDirect3D11プログラムの開発をしているときには、グラフィックスデバッグや負荷分析にグラフィックス診断を使っています。

その際に、グラフィックス イベント一覧でAPIのコールのリストにユーザー定義のイベント マーカーを入れたいなと言うことで下記のドキュメントを読んでいました。

http://msdn.microsoft.com/ja-jp/library/hh873200.aspx

とりあえず、下記のID3DUserDefinedAnnotation interfaceを使えばよいようですね。

http://msdn.microsoft.com/library/windows/desktop/hh446881(v=vs.85).aspx

このインターフェイスを使うには、ID3D11DeviceContext::QueryInterfaceをすればよいみたいなので、下記のような感じで生成すればよいようです。

// グラフィックス診断用
ID3DUserDefinedAnnotation* g_pUserAnotation = nullptr;

g_pImmediateContext->QueryInterface( __uuidof(ID3DUserDefinedAnnotation), (void**)&g_pUserAnotation);

g_pUserAnotation が生成できたらBeginEventとEndEventでくくればOKですね。

そんなわけで、Githubにアップしているコードを仕込みました。FBX2015Loader4DX11.cppにコードを入れたのでID3DUserDefinedAnnotationを検索してどこで使ってるか調べてみてください。

https://github.com/shaderjp/FBXLoader2015forDX11

仕込んだ結果が下記です。イベント一覧や負荷分析機能の方でユーザー定義のマーカーが出てきてグループ化することができました。

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

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

これを仕込んでいくとグラフィックス処理のデバッグがやりやすくなりますね。

« SHIELD TABLET予約開始 | トップページ | Kinect v2センサー届きました »

Programming」カテゴリの記事

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

コメント

コメントを書く

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

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

« SHIELD TABLET予約開始 | トップページ | Kinect v2センサー届きました »