gen*_*sys 1 c++ profiling verysleepy
我正在进行一些刚体模拟.我使用Irrlicht引擎进行显示,使用openMesh来处理网格.
现在我使用VerySleepy描述了我的应用程序并发现大部分时间都花在以下函数中(不包括在子函数中花费的时间):
RtlCompareMemoryUlong模块"ntdll"源文件中的30%"未知"
KiFastSystemCallRet在模块"ntdll"源文件"未知"内21%
RtlFillMemoryUlong模块"ntdll"源文件中的9%"未知"
所以50%的时间花在这些功能上,我不会在我的代码中的某个地方调用它们,我不明白它们在做什么.我怀疑它与图形有关,因为我只显示非常简单的网格.
有人能给我一个提示,告诉我如何找出为什么调用这些函数以及如何摆脱它?
谢谢!
ntdll是NT内核函数.机会是那些被称为内部的其他功能来执行低级别操作,因此为什么你会花费大量时间在它们上面 - 它们是更高级别功能的子构建块.忽略它们并查看其他地方(在callstack上)以进行性能调整; 你不太可能从你的应用程序中删除操作系统调用.;)