分析时,大部分时间都花在 nvoglv64.dll 中。我应该推断啥?

Posted

技术标签:

【中文标题】分析时,大部分时间都花在 nvoglv64.dll 中。我应该推断啥?【英文标题】:When profiling, most of the time is spent in nvoglv64.dll. What should I deduce?分析时,大部分时间都花在 nvoglv64.dll 中。我应该推断什么? 【发布时间】:2011-12-14 07:00:38 【问题描述】:

我正在使用英特尔 VTune 放大器分析 C++ 应用程序。大多数时间似乎都花在了 nvoglv64.dll 中,更准确地说是在 DrvPresentBuffers 和/或 KeSynchoronizeExecution 中。请注意,我有一个 NVIDA GeoForce 显卡。

我是我正在分析的应用程序的新手,我正在寻找优化的瓶颈和低悬的果实。由于大部分时间似乎都花在了这个 NVIDIA dll 上,我不知道如何解码分析结果。

我想知道我的应用程序端的那些调用在哪里,以便了解我的应用程序。有人可以给我一些提示吗:

应用程序何时调用 DrvPresentBuffers,我应该查看哪种调用(在我的应用程序端) 我可以从哪里获得有关如何分析、理解和优化显卡 dll 中存在瓶颈的应用程序的更多信息。

【问题讨论】:

【参考方案1】:

DrvPresentBuffers 是 openGL 绘制代码的一部分。该 nvoglv64.dll 是您的 nVidia 卡的 64 位 openGL 驱动程序。 64 位 Windows 7 存在一个已知的性能问题,并且此功能在许多驱动程序上。我找不到链接,但如果您遇到问题,可以搜索 nVidia 论坛。如果没有任何问题或没有任何进展非常缓慢,那么我不确定在熟悉新应用程序时我会从哪里开始优化。

【讨论】:

我在 windows7 32b 上试过,在 nvoglv32.dll 上的相应调用不是我的瓶颈。感谢您提供信息,我将尝试了解此性能问题。

以上是关于分析时,大部分时间都花在 nvoglv64.dll 中。我应该推断啥?的主要内容,如果未能解决你的问题,请参考以下文章

我的程序大部分时间都花在 objc_msgSend 上。这是不是意味着 Objective-C 的性能很差?

如何分析烧瓶端点?

软件上线

iPhone 分析和优化

这种优化有名称吗?

SQL优化技巧