When profiling, most of the time is spent in nvoglv64.dll. What should I deduce?

4k Views Asked by At

I am profiling a C++ application with Intel VTune Amplifier. Most of the time seems to be spent in nvoglv64.dll more precisely in DrvPresentBuffers and/or KeSynchoronizeExecution. Note that I have a NVIDA GeoForce graphic card.

I am new to the application I am profiling and looking for bottleneck and low hanging fruits of optimization. Since most of the time seems to be spent in this NVIDIA dll, I do not know how decode the profiling results.

I would like to know where are those call from my application side in order to build a knowledge of my application. Can someone give me some hint to start :

  • When exactly do an application call DrvPresentBuffers, what kind of call should I look at (on my application side)
  • Where can I get more info about how to profile, understand and optimize applications where bottlenecks are in the graphic card dll's.
1

There are 1 best solutions below

1
On BEST ANSWER

DrvPresentBuffers is part of the draw code for openGL. That nvoglv64.dll is the 64bit openGL driver for your nVidia card. There is a known performance issue for 64bit Windows 7 and this function on many drivers. I couldn't find a link but you can search the nVidia forum if you are experiencing problems. If there is nothing wrong or nothing going horribly slow then I'm not sure optimization is where I would start when familiarizing myself with a new application.