フォト

Google AdSense

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

« 50,000HIT | トップページ | 日本の盆踊りはいまだに・・・ »

2004.08.03

NVPerfHUD 2.0

と、いうことでせっかくリリースになったので触れておこうかと思います。

ちなみにダウンロード先は下記
http://developer.nvidia.com/object/nvperfhud_home.html

このNVPerfHUDってのは自分(別に他人のでもよいが)のプログラムの各種分析をリアルタイムで行えるプログラムです。主に分析対象は、

・バージョンごとにシェーダのON、OFFをすることで動作速度の変化が見れる
・DrawPrimitiveのコール回数が分かる
・VRAMの使用状況
・CPUやGPUの利用状況

などですね。まあ、その他色々とオプションで変えられるんですけど、それはまたの機会に。

で、利用方法ですけどユーザーガイド(下のもまんま引用)に書いてありますが、対象とするプログラムに


HRESULT Res;

Res = g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,
         hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING,
         &d3dpp, &g_pd3dDevice );


のようなDirect3Dの初期化コードがあったときに下記のように書きかえればOKです。


// Set default settings UINT AdapterToUse=D3DADAPTER_DEFAULT; D3DDEVTYPE DeviceType=D3DDEVTYPE_HAL; #if SHIPPING_VERSION // When building a shipping version, disable NVPerfHUD (opt-out) #else // Look for 'NVIDIA NVPerfHUD' adapter // If it is present, override default settings for (UINT Adapter=0;AdapterGetAdapterCount();Adapter++) {        D3DADAPTER_IDENTIFIER9 Identifier;        HRESULT Res=        g_pD3D->GetAdapterIdentifier(Adapter,0,&Identifier);                if (strcmp(Identifier.Description,               "NVIDIA NVPerfHUD")==0)        {               AdapterToUse=Adapter;               DeviceType=D3DDEVTYPE_REF;               break;        } } #endif if (FAILED(g_pD3D->CreateDevice( AdapterToUse, DeviceType,         hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING,        &d3dpp, &g_pd3dDevice) ) ) {        return E_FAIL; }

あとは、下記のようにNVPerfHUDLauncher起動してOptionsのエディットボックスを適当なキーに設定します(Fig1ではCtrl + Z)。

nvperfhud2.jpg
Fig1.NVPerfHUDLauncherを起動したところ

設定が終わったらコードを書き換えてビルドした自分のプログラムの実行ファイルをNVPerfHUDLauncherにドラッグ & ドロップすればOKです。そんで、一回Optionsで指定したキーを押し(これをやることでNVPefHUD側にキーイベントが飛ぶようになる)て、その後にF1を押すとFig2みたくなります。

あとは、画面に表示された数字キーやらアルファベットやらのキーを押すと色々とできます。

そうそう、"NOT FOR BENCHMARKING"だそうです。まぁ、これを使うには使うためのコードをインプリメントせにゃいかんし、市販のソフトウェアで出荷版でコレ用のコードを残したままってことは無いだろうけど。

nvperfhud.jpg
Fig2.実行結果
(クリックすると大きいサイズになります)

« 50,000HIT | トップページ | 日本の盆踊りはいまだに・・・ »

Programming」カテゴリの記事

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

コメント

今更って感じもするんですが、どうやらNVperfHUDは2.0β以前のものだとコード書き換えをしなくてもドラッグ&ドロップで解析できたようですね、2004年の夏に4gamerで2.0βをベンチマークに用いていました。http://www.4gamer.net/specials/2004summer/bench/page2.html

書いてあるとおり、ゲームで解析されると問題が出てくるので2.0正式版で書き換え必須にしたようですが・・・個人的な利用で数値を見るだけなら2.0βがあると凄く便利なんですけど、今から手に入れることは出来るんでしょうかね

今となっては、公式サイトなんかで"latest version"みたいなダウンロード出来るわけではないので普通の方法では手に入らないんじゃないかと思います。

ただ手に入ったとしてもNVPerfHUD 2.0βがDirectX 9.0cとそれ以降に対応(たしか、当時はDirectX 9.0bだったと思います)できてるのかどうかというのも気になりますね。

たとえば、RADEON Xシリーズの3桁台のGPUではシェーダバージョンが2.0bですが、その辺とかを使われてしまうとNVPerfHUDがどうなるのかなどありますし。

コメントを書く

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

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

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2210/1112793

この記事へのトラックバック一覧です: NVPerfHUD 2.0:

« 50,000HIT | トップページ | 日本の盆踊りはいまだに・・・ »