Russian Qt Forum
Ноябрь 23, 2024, 08:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Проблемы с -graphicssystem opengl  (Прочитано 2662 раз)
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
« Последнее редактирование: Декабрь 18, 2013, 01:27 от once_again_abc » Записан
Bepec
Гость
« Ответ #1 : Декабрь 17, 2013, 13:36 »

Конечно без кода мы предложим вам сотни вариантов решения и телепатически передадим в вашу программу Улыбающийся

PS на других компах как?
Записан
once_again_abc
Гость
« Ответ #2 : Декабрь 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 графика вообще перестает адекватно работать.
Записан
Bepec
Гость
« Ответ #3 : Декабрь 17, 2013, 14:15 »

Хочется ответить известным анекдотом.

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

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

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

PS если нет возможности и желания так и напишите, и я не буду докучать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.102 секунд. Запросов: 21.