2010-04-12 54 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。 如果您将回调堆栈回放到您的代码中, 会告诉您问题出在哪里。 随机停止它(非断点)非常重要,以便实际花费大量时间的堆栈跟踪最有可能出现。