Полноэкранная текстура OpenGL снижает частоту кадров до 12 кадров в секунду - PullRequest
3 голосов
/ 04 июня 2011

Я уже несколько ночей обмолвился об этом, любые советы будут оценены:

Я установил linux (Debian) на старый ноутбук и писал для него приложение OpenGL.Частота смены кадров составляет около 80 кадров в секунду при рисовании текстуры на небольшой части экрана.Когда я рисую текстуру на все большей и большей части экрана, частота кадров резко падает.Полноэкранная текстура снижает частоту кадров до 12.

Я знаю, что аппаратное обеспечение способно рендерить с большей скоростью.Даже если бы openGL работал в программном режиме ... это все еще кажется довольно медленным.

Буду признателен за любые указания по диагностике, спасибо.Я новичок в OpenGL, так что это может быть чем-то очевидным.

Вещи, которые я пробовал:

  • glxinfo дала мне знать, что ноутбук способен к аппаратному ускорению openglрендеринг.Хотя я не уверен, что он не работает в программном обеспечении, я вполне уверен, что ноутбук настроен для работы в аппаратном opengl.

  • Я отключил буфер глубины и только запрашиваю24-битный экранный буфер в разрешении, которое поддерживает ноутбук.(С резервным буфером все еще).

  • Переключаясь с GL_TEXTURE_MIN_FILTER, GL_LINEAR на GL_TEXTURE_MIN_FILTER, GL_NEAREST выкупил мне несколько кадров, но он колеблется со скоростью чуть более 20 кадров в секунду, что все еще слишком медленно.

  • Я переключился с glShadeModel (GL_SMOOTH) на glShadeModel (GL_FLAT).У меня нет ускорения.

  • Я пытался рендерить текстуру как указатель вершины и как вызов glBegin (GL_QUADS).

Заранее спасибо, ~ W

1 Ответ

0 голосов
/ 04 июня 2011

Если переключение с BILINEAR (GL_LINEAR) на NEAREST улучшает частоту кадров, вы определенно используете программное средство визуализации.

Пожалуйста, сделайте это из командной строки (это из моей OSX, но должно быть похоже наlinux):

# glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce 8600M GT OpenGL Engine
OpenGL version string: 2.1 NVIDIA-1.6.26
OpenGL shading language version string: 1.20
OpenGL extensions:
...