2
我有一些例程繪製一個場景,然後交換緩衝區,因爲我已經交換等待設置爲1,該調用可能會阻止等待垂直同步。Discerne之間的抽獎時間和交換等待
是否可以測量繪製場景花費了多少時間,以及等待垂直同步有多少?我試圖做到以下幾點:
start = clock();
drawstuff();
glFinish();
end = clock();
SwapBuffers();
swapend = clock();
,但它似乎沒有工作,至少與我的硬件和驅動程序,因爲end
和swapend
都是一樣的。
我一直在嘗試幾乎相同的事情,我得到了不同的顯卡型號不同的結果(特別是與不同的品牌 - 我得到了ATI HD 4250M,ATI HD 4650,Nvidia GT 640和Nvidia GTX 680)。我得出的結論是,這是依賴於實現的,或者如果沒有特定的解決方案直接從驅動程序中檢索時間,就無法獲得這些時間。 –
你也得到了'swapend == end'嗎? –
是的,在4250M。 GT 640我有不同的價值。其他人我現在無法改變,因爲他們是更高端的牌,我沒有真正關注他們的基準。 –