2008年7月16日 星期三

Graphic Debugger ( Part II )

現在我們可以開始來看PIX的測試結果。
首先是Time line圖表。


Time line圖表有四個部分,灰色的Bar是CPU 負載圖,第二條Bar是GPU 負載圖(在Vista作業系統下才有這條Bar,XP是沒有的),底下的線圖會顯示每個Frame D3D 呼叫所統計出來的數值,最下方有四個下拉式選單,可以選擇在線圖上所要顯示的數值。選單右邊有Zoom in, Zoom out的按鈕,可以調整時間比例。

CPU 的負載Bar用黑色邊框圍起來的灰色長方形表示一個Frame,上面這張圖裡面,在左邊的箭頭處,我們看到一個花了很長時間的Frame,通常這是初始化的階段會有的現象,中間的箭頭,我們看見幾個分佈很平均的方塊,時間也不長,負載還算不錯,右方的箭頭所指的,是一條比較粗的黑線,這表示這個Frame的時間非常短。另外,在初始化的Frame之後,有一小段空隙,這段空隙表示CPU在這時候是空閒的。

GPU的負載Bar稍為複雜些。黑色邊框裡面的長方形會有三種顏色,藍色表示GPU正在執行所交付的工作,灰色表示GPU在idle狀態,等待CPU交代工作,如果出現紅色,就表示某些GPU執行工作所需要的資源被鎖住,以致GPU必須等待資源被釋放出來。

這兩條Bar最主要的用途在於效能分析,從線圖裡我們可以查看到CPU與GPU的相對負載狀況。


這裡我們看到一個狀況,CPU是持續負載的,而GPU負載則斷斷續續的,有不少的空閒時間。所以如果我們能夠找到一些工作,從CPU運算轉到GPU運算上的話,整體的效能就會上升。

至於數值統計線圖的部分,主要的功用在檢查是否有不尋常的數值變化,還有就是查看每個Frame的D3D API的呼叫次數、資源使用量等等的數值是否合理。這些都可以很簡單的從線圖上看出來,所以也不用多做什麼解釋。

Time line線圖的說明就到這邊,後面還有更好玩的數據資料圖表。

沒有留言: