Вопрос

Я разрабатываю приложение OpenGL, и я вижу, что происходят некоторые странные вещи.Машина, с которой я тестирую, оснащена NVidia Quadro FX 4600 и работает под управлением RHEL WS 4.3 x86_64 (ядро 2.6.9-34.ELsmp).

Я прошел через приложение с помощью отладчика, и я заметил, что оно зависает на вызовах OpenGL, которые получают информацию из OpenGL API:т. е.- glGetError, glIsEnabled и т.д.Каждый раз, когда он зависает, система не отвечает в течение 3-4 секунд.

Еще одна интересная вещь заключается в том, что если этот же код выполняется на RHEL 4.5 (ядро 2.6.9-67.ELsmp), он работает абсолютно нормально.Тот же код также отлично работает в Windows XP.Все машины используют одно и то же оборудование:

  • PNY nVidia Quadro FX4600 768 мб PCI Express
  • Двойной четырехъядерный процессор Intel Xeon DP E5345 2,33 Гц
  • 4096 МБ 667 МГц С полной буферизацией DDR2
  • Материнская плата Super Micro X7DAL-E Intel 5000X с чипсетом Dual Xeon
  • Источник питания Enermax Liberty мощностью 620 Вт

Я обновился до последней версии 64-битных драйверов:Версия 177.82, Дата выпуска:12 ноября 2008 года, и результат точно такой же.

У кого-нибудь есть какие-либо идеи, что может быть причиной зависания системы при этих вызовах OpenGL?

Это было полезно?

Решение

Похоже, что это проблема с далеко не идеальными драйверами NVidia для Linux.Обновление до более нового ядра, похоже, помогает.Если я вынужден использовать это устаревшее ядро, есть некоторые вещи, которые я пробовал, которые, кажется, помогают.

Определяющий __GL_YIELD переменная среды для "NOTHING" перед запуском X, похоже, повышается стабильность работы с этим старым ядром.http://us.download.nvidia.com/XFree86/Linux-x86_64/177.82/README/chapter-11.html

Я также пробовал отключить Тройную буферизацию и переворачивание.

Я также обнаружил, что эти форумы очень полезны при проблемах с Linux / NVidia.Просто выполните поиск по запросу "сбой Linux".

Другие советы

Возможно, вы сможете копнуть глубже, используя системный профилировщик, такой как Системный Проф или ОПрофайл.Демонстрируют ли другие приложения OpenGL, использующие эти вызовы, аналогичное поведение?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top