C ++ profiling: KiFastSystemCallRet

I searched for this when I saw that it was the highest rated element when profiling using Very Sleepy, and it seems that everyone gets the answer "this is a system function, ignore it." But a sleepy hint of function says:

Hint: KiFastSystemCallRet often means a thread was waiting for something else to finish. Possible reasons may be an I / O disk waiting for an event, or maybe just call the Sleep () function.

Now my application completely crashes the processor and therefore it’s a little strange that 33% of the time is spent for something to happen.

Am I just ignoring him?

EDIT: apparently 77% of the calls to this come from QueryOglResource (?), Which is located in the nvd3dnum module. I think it could be nvidia Direct3D, i.e. rendering.

+4
source share
2 answers

Do not ignore it. Find out what it's called . If you look at the backup of the call stack to where it gets into your code, that will tell you where the problem is. It is important to stop this accidentally (not with a breakpoint), so stack traces that actually cost a lot of time will most likely appear.

+2
source

This function is pretty pointless for the profiler; it is basically a logical endpoint for a number of system functions. What functions do you call? WaitForMultipleObjects? Does Asinch read?

+1
source

Source: https://habr.com/ru/post/1306738/


All Articles