2008年7月8日 星期二

Graphic Debugger ( Part I )

這幾天在玩DirectX SDK中的一個工具程式,PIX。

PIX有幾個主要的用途:效能分析、資源使用分析、以及 Graphic Debugger。


第一個選項"Statistics for each frame, using counterset"的主要用途是做效能分析。PIX會統計每個Frame D3D Call的數量,例如:DrawPrimitive, SetRenderState, Buffer lock/unlock 等等。

第二個選項"A single-frame capture of Direct3D whenever F12 is pressed",則是當我們按下F12時,PIX就會將這個Frame的所有D3D call記錄下來,而且是鉅細靡遺,等會兒說了就知道。

簡單的操作步驟,
1. 最上面的Program Path先選擇所要測試的程式。
2. 兩個選項擇一。
3. 按下右下角的"Start Experiment",所要測試的程式就會執行起來。
4. 執行結束後,PIX會給我們一個資料畫面。

選擇"Statistics for each frame, using counterset"會得到類似這樣的圖表

最上面的一個圖表是"Time line",也是每個frame資料統計顯示的地方。中間"Objects"圖表的和右下的"Details"圖表在這個統計資料裡是空的。左下的圖表是"Events",這裡會將每個Frame的統計資料數值列出來。

如果選擇的是"A single-frame capture of Direct3D whenever F12 is pressed",就會得到底下這樣的圖表

在這個測試裡,Time line沒什麼用處,因為只是一個frame的結果。但其他的三個圖表用處就非常大了。所謂的鉅細靡遺,就是指這三個圖表給我們的資訊。

這些圖表怎麼用?

我們下次再說.....

沒有留言: