crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QOpenGLWidget on CPU vs deprecated QGLWidget on GPU
FireBlack
  опции профиля:
сообщение 30.1.2015, 15:03
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 17.10.2010
Из: г.Пенза
Пользователь №: 2121

Спасибо сказали: 13 раз(а)




Репутация:   1  


Доброго времени суток.

Имеется QGraphicsScene сцена, на которой расположено несколько item'ов. Также имеется QGraphicsView на котором эта сцена отображается.
При использовании ui->graphicsView->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers))), во время перетаскивания item'а на сцене, загрузка процессора не превышает 50%.
При использовании ui->graphicsView->setViewport(new QOpenGLWidget), во время перетаскивания item'а, загрузка процессора не падает ниже 99%. Тоже самое происходит при использовании обычного виджета в качестве vewiport'а.

Из этого напрашивается очевидный вывод, что в моем случае с QGLWidget больше используется графический процессор, а с QOpenGLWidget или QWidget - центральный процессор (что не очень хорошо).
Меня QGLWidget полностью устраивает, но он отмечен как deprecated (или obsolete), что означает что его исключат в Qt 6.

В связи с вышесказаным, хочу спросить у Вас совета, что использовать: быстрый старый QGLWidget или медленный новый QOpenGLWidget?

P.S.:
Боюсь что оптимизировать код, чтобы снизить нагрузку на проц, не удастся т.к. при перемещении item'а перерисовывается весь background в QGraphicsScene, на котором рисуется большой QPixmap и куча линий между item'ами.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
lanz
  опции профиля:
сообщение 3.2.2015, 9:25
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Цитата
подскажите в какую сторону копать

Вот здесь посмотреть/задать формат
http://doc-snapshot.qt-project.org/qt5-5.4...get.html#format
http://doc-snapshot.qt-project.org/qt5-5.4...l#defaultFormat
http://qt-project.org/doc/qt-4.8/qglwidget.html#format

Контекст не инициализирован еще, поэтому возвращает 0 скорее всего.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 10:47