crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Тормоза в QGLWidget, QWidget vs QGLWidget
flankerr
  опции профиля:
сообщение 31.3.2010, 12:08
Сообщение #1


Активный участник
***

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

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




Репутация:   0  


Есть виджет (QWidget ) занимающийся отрисовкой различной 2D графикой в том числе текста.
При наследовании вилжета от QWidget загрузка CPU 3-5%

Посмотрев пример "2D Painting Example" ради эсперемента попробывал унаследоваться от QGLWidget.
Загрузка возросла вс реднем на 30%!!! т.е. вместо 3-5% получил 35-37%

Сделано всё аналогично как в примере "2D Painting Example".
При этом самом пример "2D Painting Example" и в натив и в опенгл работает одинаково даже может опенгл чуть плавнее.

Тогда почему у меня такие тормоза ???


Qt 4.3.3\WinXP\NVidia7900
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 1.4.2010, 21:37
Сообщение #2


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

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

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




Репутация:   5  


Код покажи.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 5.4.2010, 12:21
Сообщение #3


Активный участник
***

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

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




Репутация:   0  


Схематично выглядит так:

CMyClass: public QWidqet
{
...
QPainter    m_dc;
QPixmap    m_ScrBuf;
...
};
CMyClass::paintEvent(QPaintEvent *  e )
{
m_dc.begin(&m_ScrBuf);
AnyDraw(m_dc);
m_dc.end();

m_dc.begin(this);
m_dc.drawPixmap( 0, 0, m_ScrBuf );
m_dc.end();
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 12.4.2010, 11:35
Сообщение #4


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

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


А в AnyDraw что?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 21.9.2017, 15:09