При профилировании большую часть времени проводят в nvoglv64.dll. Что я должен сделать вывод? - PullRequest
3 голосов
/ 24 октября 2011

Я профилирую приложение C ++ с Intel VTune Amplifier. Большая часть времени, по-видимому, проводится в nvoglv64.dll, точнее в DrvPresentBuffers и / или KeSynchoronizeExecution. Обратите внимание, что у меня есть графическая карта NVIDA GeoForce.

Я новичок в приложении, которое я профилирую, и ищу узкое место и низко висящие плоды оптимизации. Поскольку большая часть времени, по-видимому, проводится в этой dll NVIDIA, я не знаю, как декодировать результаты профилирования.

Я хотел бы знать, куда звонят эти пользователи со стороны приложения, чтобы получить знания о моем приложении. Может ли кто-нибудь дать мне подсказку для начала:

  • Когда именно приложение вызывает DrvPresentBuffers, на какой вызов я должен смотреть (со стороны приложения)
  • Где я могу получить больше информации о том, как профилировать, понимать и оптимизировать приложения, где узкие места находятся в графической карте DLL.

1 Ответ

5 голосов
/ 24 октября 2011

DrvPresentBuffers является частью кода отрисовки для openGL.Этот nvoglv64.dll является 64-битным драйвером openGL для вашей карты nVidia.Существует известная проблема производительности для 64-битной Windows 7, и эта функция на многих драйверах.Не удалось найти ссылку, но вы можете выполнить поиск по форуму nVidia, если у вас возникли проблемы.Если в этом нет ничего плохого или что-то ужасно медленное, то я не уверен, что именно с этой оптимизации можно начать знакомство с новым приложением.

...