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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QOpenGLWindow вместо QOpenGLWidget  (Прочитано 7072 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Апрель 28, 2015, 08:02 »

Добрый день

В общем QOpenGLWidget достал меня своим рендером в текстуру и проблемами прущими изо всех щелей. Текущая проблема - упало fps в полтора-два раза (по сравнению с до-Qt реализацией). Профайлер ничего путного не показывает, и как решать хз. Возвращаться к deprecated QGLWidget совершенно бесперспективно. Остается использовать QOpenGLWindow - судя по букварю это то что надо (вывод на экран, свободный swapBuffers).

Но это наследник QWindow (а не QWidget). В примерах просто создается QOpenGLWindow - но переделывать так свои окна нереально. Тогда как же задействовать QOpenGLWindow ?

Спасибо
Записан
kamre
Частый гость
***
Offline Offline

Сообщений: 233


Просмотр профиля
« Ответ #1 : Апрель 28, 2015, 13:41 »

Можно задействовать через функцию: http://doc.qt.io/qt-5/qwidget.html#createWindowContainer
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Апрель 28, 2015, 14:48 »

Можно задействовать через функцию: http://doc.qt.io/qt-5/qwidget.html#createWindowContainer
Да, буду пробовать. Спасибо
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Апрель 29, 2015, 11:10 »

Перевел на QOpenGLWindow - ну пока только "заходило", там еще чистить и чистить. Вернулась нормальная скорость!!! swapBuffers бычит как положено!! С огромным удовольствием убираю многочисленные сопли что я понавешивал для долбаного QOpenGLWidget. Появилась парочка новых проблем

- не понимает что swapBuffers уже сделано и делает второй раз после paintGL
- не работают виджеты "сверху" (как и предупреждали в букваре)

Ну то выкручусь, мелочи, детский сад по сравнению с проблемами QOpenGLWidget. И ведь отвечали же мне Qt "можешь сделать контейнер",  а я ушами прохлопал. Думал "был QGLWidget, стало быть теперь QOpenGLWidget". В общем - бестолковый  Улыбающийся   
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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