2010-04-12 52 views
4

我在使用Very Sleepy進行性能分析時發現它是最受好評的產品,並且似乎每個人都能得到答案:「這是一個系統功能,忽略它」。但困對功能提示說:C++性能分析:KiFastSystemCallRet

提示:KiFastSystemCallRet往往意味着 線程在等待什麼 別人來完成。可能的原因 可能是磁盤I/O,正在等待 事件,或者可能只是調用Sleep()。

現在,我的應用程序絕對是顛簸CPU,所以它有點奇怪33%的時間都花在等待發生的事情上。

我真的只是忽略它嗎?

編輯:顯然,77%的調用來自於模塊nvd3dnum中的QueryOglResource(?)。我想認爲這可能是NVIDIA的Direct3D的東西,即渲染。

+3

進一步檢查調用堆棧以查看其*來自*的位置。 – jalf 2010-04-12 21:20:20

回答

1

該功能對於探查器來說是毫無意義的,它基本上是整個系統功能範圍的邏輯終點。你有什麼功能叫它? WaitForMultipleObjects的? Asynch讀取?

2

不要忽視它。 Find out how it's being called。 如果您將回調堆棧回放到您的代碼中, 會告訴您問題出在哪裏。 隨機停止它(非斷點)非常重要,以便實際花費大量時間的堆棧跟蹤最有可能出現。