2011-10-24 2 views
3

Je profile une application C++ avec Intel VTune Amplifier. La plupart du temps semble être passé dans nvoglv64.dll plus précisément dans DrvPresentBuffers et/ou KeSynchoronizeExecution. Notez que j'ai une carte graphique NVIDIA GeoForce.Lors du profilage, la plupart du temps est passé dans nvoglv64.dll. Que devrais-je déduire?

Je suis nouveau dans l'application que je suis en train de profiler et à la recherche de goulot d'étranglement et de fruits d'optimisation. Comme la plupart du temps semble être passé dans cette DLL NVIDIA, je ne sais pas comment décoder les résultats de profilage.

Je voudrais savoir où sont ces appels de mon côté de l'application afin de construire une connaissance de mon application. Quelqu'un peut-il me donner une indication pour commencer:

  • Quand exactement faire une DrvPresentBuffers d'appel d'applications, quel genre d'appel que je devrais regarder (sur mon côté application)
  • Où puis-je obtenir plus d'informations sur la façon de profil , comprendre et optimiser les applications où les goulots d'étranglement se trouvent dans les DLL des cartes graphiques.

Répondre

5

DrvPresentBuffers fait partie du code de dessin pour openGL. Que nvoglv64.dll est le pilote openGL 64bit pour votre carte nVidia. Il existe un problème de performance connu pour Windows 7 64 bits et cette fonction sur de nombreux pilotes. Je n'ai pas trouvé de lien mais vous pouvez chercher sur le forum nVidia si vous rencontrez des problèmes. S'il n'y a rien de mal ou que rien ne se passe horriblement lentement, je ne suis pas sûr que l'optimisation soit le point de départ lorsque je me familiariserai avec une nouvelle application.

+2

J'ai essayé sur windows7 32b et l'appel correspondant à nvoglv32.dll n'est pas mon goulot d'étranglement. Merci pour l'info, je vais essayer d'apprendre sur ce problème de performance. – Palmira

Questions connexes