QPainter время отрисовки |
Здравствуйте, гость ( Вход | Регистрация )
QPainter время отрисовки |
cerjo |
6.5.2015, 9:16
Сообщение
#1
|
||
Новичок Группа: Новичок Сообщений: 2 Регистрация: 6.5.2015 Пользователь №: 4378 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день!
Столкнулся с такой проблемой: унаследовал класс (TWidget) от QGLWidget, переопределил paintEvent, в нём QPainter-ом отрисовываю изображение. QTimer, связанный со слотом TWidget::update, "тИкает" каждые 16 мс (1000 мс / 60 Гц). На хостовой машине (Intel Core i5) отрисовка плавная и красивая. На целевой (Freescale i.MX6, CPU: Quad Core ARM Cortex A9, GPU: 3D - Vivante GC2000, 2D - Vivante GC320) машине FPS падает ~до 20-ти. Завёл QTime в начале paintEvent, по окончании вывожу QTime::elapsed, показывает 32 мс. Даже при пустом paintEvent, функция QPainter::end() занимает 32 мс. Можно ли как-нибудь уменьшить это время? Qt 5.4, хостовая ос Windows 7, целевая - QNX 6.6. Целевая машина пишет, что QOpenGLWidget не прикручен, посему наследуюсь от QGLWidget. P.S. Пробовал связку QGraphicsView + QGraphicsScene + QGraphicsItem-ы = 1-2 FPS. А при QGraphicsView::setViewPort(new QGLWidget()) - черный экран на целевой машине. twidget.h
twidget.cpp
Лог на хосте: Лог на целевой: |
||
|
|||
ViGOur |
6.5.2015, 10:21
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Как вариант нужно посмотреть, что использует QTimer в Windows и QNX, думается мне, что он не оптимально работает в QNX и нужно для QNX использовать нативное API.
Или реализация QGLWidget в QNX хуже, чем в Windows, что в полне может быть... |
|
|
Текстовая версия | Сейчас: 25.11.2024, 21:37 |