Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: once_again_abc от Декабрь 17, 2013, 13:09



Название: [РЕШЕНО] Проблемы с -graphicssystem opengl
Отправлено: once_again_abc от Декабрь 17, 2013, 13:09
Написал несложную программу, редактирующую картинки на основе QGraphicsView/QGraphicsScene. Все делал в виртуальной машине VirtualBox под RHEL6 64-bit.
Работу с пикселями делал в QImage затем сбрасывал в QPixmap и был более менее доволен производительностью и качеством.
Когда же запустил программу на реальной машине под RHEL6/64 получил довольно ощутимые тормоза в некоторых случаях (закраска областей кситью например). Попробовал запустить программу с флагом -graphicssystem opengl - скорость отрисовки вроде увеличилась и качество чуть лучше стало, но, НО! графика перестала вообще адекватно работать =( даже описать это не могу, какой-то чудовищный хаос и глюки при попытки закрасить область пикселей и т.п.

За сим философский вопрос - как дальше жить и что с етим делать? Версия Qt 4.6.2
На форуме нашел предложение попробовать вот это
Цитировать
QGraphicsView view(&scene);
view.setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
http://www.prog.org.ru/topic_12516_0.html

не уверен что поможет.

Посоветуйте пожалуста какий-то рецепты и почему такая ерунда просиходит.

П.С.: все решилось принудительным переключением на -graphicssystem raster


Название: Re: Проблемы с -graphicssystem opengl
Отправлено: Bepec от Декабрь 17, 2013, 13:36
Конечно без кода мы предложим вам сотни вариантов решения и телепатически передадим в вашу программу :)

PS на других компах как?


Название: Re: Проблемы с -graphicssystem opengl
Отправлено: once_again_abc от Декабрь 17, 2013, 13:51
Конечно без кода мы предложим вам сотни вариантов решения и телепатически передадим в вашу программу :)

PS на других компах как?

к сожалению я не смогу предоставить всю программу целиком.
Подход использовал стандартный:

QMainWindow, там создается центральный виджет, производный от QGraphicsView с установкой QGraphicsScene на который, в свою очередь, навешиваются несколько QGraphicsPixmapItem-s. Рисование происходит в отдельных функциях через QImage, QPainter paint(&myQImage) ... paint.end(), затем сцена обновляется.
Т.е. в общем совершенно (так думаю) стандартный прием, который почему-то не сработал как ожидалось.

На других компах не проверялось, нет возможности. Есть VirtualBox с RHEL6/64 для разработки - использовать -graphicssystem opengl не могу, т.к. не работает вообще по какой-то причине. А на реальной машине с RHEL6/64 без -graphicssystem opengl наблюдаются приличные тормоза, а с -graphicssystem opengl графика вообще перестает адекватно работать.


Название: Re: Проблемы с -graphicssystem opengl
Отправлено: Bepec от Декабрь 17, 2013, 14:15
Хочется ответить известным анекдотом.

Цитировать
1: Сколько будет стоить работа над сайтом?
2: Какой объем работ?
1: хз
2: примерно столько же и стоит :)

Минимально компилируемый проект с проблемой будет кстати.

Работа на виртуалбоксе и реальном компьютере это две больших разницы. Нужны нормальные проверки.

PS если нет возможности и желания так и напишите, и я не буду докучать.