Question

Je développe une application OpenGL et je vois des choses étranges se produisent. La machine que je teste avec est équipé d'une carte graphique NVIDIA Quadro FX 4600 et est en cours d'exécution RHEL WS 4.3 x86_64 (noyau 2.6.9-34.ELsmp).

Je l'ai fait un pas dans l'application avec un débogueur et je l'ai remarqué qu'il est suspendu sur les appels OpenGL qui reçoivent des informations de l'API OpenGL: à savoir: - glGetError, glIsEnabled, etc. Chaque fois qu'il raccroche, le système est insensible pendant 3-4 secondes.

Une autre chose qui est intéressant est que si ce code est exécuté sur RHEL 4.5 (noyau 2.6.9-67.ELsmp), il fonctionne tout à fait bien. Le même code fonctionne aussi parfaitement sous Windows XP. Toutes les machines utilisent exactement le même matériel:

  • PNY NVIDIA Quadro FX4600 768Mo PCI Express
  • Dual Intel Xeon DP Quad Core E5345 2.33hz
  • 4096 Mo 667 MHz DDR2 entièrement Buffered
  • Super Micro X7DAL-E Intel Chipset 5000X Dual Xeon mère
  • Enermax liberté 620 watts Alimentation

Je l'ai mis à niveau vers les derniers pilotes 64 bits: version 177.82, Date de sortie:. 12 novembre 2008 et le résultat est exactement le même

Quelqu'un at-il une idée de ce qui pourrait causer le blocage du système sur ces appels OpenGL?

Était-ce utile?

La solution

Il semble que ce soit un problème avec moins-que-parfait pilotes NVidia pour Linux. Mise à niveau vers un nouveau noyau semble aider. Si je suis obligé d'utiliser ce noyau daté, il y a certaines choses que j'ai essayé qui semblent aider.

Définition de la variable d'environnement __GL_YIELD à "NOTHING" avant le début de X semble augmenter la stabilité avec ce vieux noyau. http: //us.download.nvidia. com / XFree86 / Linux x86_64 / 177,82 / README / chapitre-11.html

J'ai aussi essayé de désactiver Triple Buffering et Retournement.

J'ai aussi trouvé que ces forums sont très utiles pour les problèmes Linux / NVidia. Il suffit de faire une recherche pour "crash linux"

Autres conseils

Vous pouvez être en mesure de creuser plus profond en utilisant un profileur de système comme sysprof ou OProfile . Est-ce que d'autres applications OpenGL utilisant ces appels présentent un comportement similaire?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top