Big QPixmaps вылетает с OpenGL

Я программирую QGraphicsView, который имеет много изображений. Но когда я отображаю JPEG с разрешением 8528 x 1128 px (изображение панорамы), QGraphicsPixmapItem не рендерится. Он просто отображает черный квадрат. Изображения "нормального" размера отдают хорошо. Я не пытался найти "предел магии", для каких размеров возникает проблема.

На моем ноутбуке с Ubuntu 10.10 x64 также происходит сбой драйвера графической карты и перезапускается сеанс Gnome!

Все работает нормально, если я отключаю OpenGL.

Зачем? Что я могу сделать?

Я обнаружил, что у другой есть очень похожая проблема: http://www.qtforum.org/article/34238/really-strange-problem-with-qgraphicsview-and-opengl.html

1 ответ

Убедитесь, что это возвращает что-то большее, чем 8528 в вашей реализации OpenGL:

GLint texSize;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &texSize);

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

Другие вопросы по тегам