LINUX.ORG.RU

Тормозит при наличии нескольких QGLWidget

 ,


0

3

Делаю простейшую отображалку картинки с масштабированием при помощи OpenGL.

Когда на экране лишь один QGLWidget то замедления нет, но когда уже два, три и четыре и более - торможение и задержка становится всё существеннее. Причем на Qt4 и Qt5 всё одинаково проявляется.

Возможно это какая-то известная проблема, что-то слышал об этом.

Как можно сделать многопоточный OpenGL рендеринг, который вроде как пофиксили в Qt5?

ЗЫ Присутствуют 5 виджетов таких, но тормозит лишь когда все они обновляется при помощи update->paintGL. А если только один в данным момент отображает картинку - нормально и не тормозит, причем даже если не менять память текстуры а лишь обновлять картинку тем что уже было в текстуре, если это делают два и более виджета -> тормоза...

★★★★★

Последнее исправление: I-Love-Microsoft (всего исправлений: 2)

А там контекст один или разные? Для чего вообще вам несколько этих виджетов? Почему нельзя обойтись одним?

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Я вот подумал - в самом деле: почему бы и не один.

У каждого виджета разные контексты по идее, свои текстуры и вообще все свое.

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

У каждого виджета разные контексты по идее, свои текстуры и вообще все свое.

Думаю что именно так. А переключение контекста дорогая операция.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Понятно.

В общем, запустил я этот «glhypnotizer» - вижу что 10 OpenGL виджетов работают в своих потоках и интерфейс лишь самую малость подтормаживает, хотя можно сказать остается весьма отзывчивым.

А про несколько картинок на одном виджете - спасибо, хорошая мысль, скорее всего так и сделаю.

I-Love-Microsoft ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.