4

在使用 Very Sleepy 进行分析时看到它是评分最高的项目后,我搜索了它,似乎每个人都得到了答案“这是一个系统功能,忽略它”。但是 Sleepy 对函数的提示说:

提示: KiFastSystemCallRet 通常意味着线程正在等待其他事情完成。可能的原因可能是磁盘 I/O、等待事件,或者只是调用 Sleep()。

现在,我的应用程序绝对在消耗 CPU,所以 33% 的时间都花在等待某件事发生上,这有点奇怪。

我真的只是忽略它吗?

编辑:显然,77% 的调用来自模块 nvd3dnum 中的 QueryOglResource (?)。我认为这可能是 nvidia Direct3D 的东西,即渲染。

4

2 回答 2

2

不要忽视它。找出它是如何被调用的。如果您将调用堆栈回溯到它进入代码的位置,那将告诉您问题出在哪里。随机停止它很重要(而不是断点),这样实际上花费大量时间的堆栈跟踪将最有可能出现。

于 2010-04-13T00:09:32.673 回答
1

该功能对于分析器来说毫无意义,它基本上是整个系统功能范围的逻辑终点。你有什么功能调用它?等待多个对象?异步读取?

于 2010-04-12T20:25:42.917 回答