从nvoglv64.dll调用gdi32.dll

时间:2015-07-10 10:48:42

标签: c++ opengl profiling

我正在尝试使用MSVS 2013探查器(CPU采样)分析64位OpenGL应用程序。根据Sysinternals Process Explorer,我的应用程序似乎只使用60%的GPU资源但100%的CPU核心(因为它暂时只有单线程),因此CPU代码似乎是瓶颈。现在我试图弄清楚热点是什么,以便优化/并行化我的代码。

然而,分析结果表明,nvogl64v.dll花费了98%的时间 - 更值得注意的是,gdi32.dll中有75%,KernelBase.dll中有6%。

我不知道如何处理这些信息以及我的代码中的优化可以提供哪些帮助。我可以从中得出什么结论?我使用freeglut进行窗口化,分析器在freeglut.dll中花费的可忽略不计的2%,因此在我的空闲和显示函数中,所以我不确定我的更新和绘制循环中的任何更改是否会产生任何影响。 / p>

任何提示?

编辑: 我现在想出如何从MS Symbol服务器加载调试symobols,现在我可以更深入到callstack:结果,gdi32.dll的部分主要用于NtGdiDdDDIEscape(55%)和NtGdiDdDDIGetDeviceState(17%) ,而KernelBase.dll部分是由于SwitchToThread

0 个答案:

没有答案
相关问题