Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 30.09.2011, 10:33
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Мне нужно быстро выводить на экран, поворачивать и масштабировать большое количество (порядка 800000) прямоугольников. В 3-ем Qt можно было рисовать в память и потом через bitBlt быстро отрисовывать всё на экране. В 4-ом Qt bitBlt исчез, т.к. поддержка двойной буфферизации была обещана каждому виджэту. Однако я ощущаю довольно неприятные тормоза в связи с чем возникает резонный вопрос: что я делаю не так? Какие здесь могут быть хитрости?К примеру, каким образом можно повысить производительность работы следующего куска кода? Код:void QPlate::draw(QPainter* p){ p->translate(m_radius, m_radius); p->save(); p->setMatrix(matrix, true); // set matrix // draw initial placement QRectF placementRect(-m_radius, -m_radius, 2*m_radius, 2*m_radius);// p->drawRect(placementRect); // draw plate QPainterPath path; path.moveTo(-m_x, m_h); path.arcTo(placementRect, (270+m_alfa), (360-2*m_alfa)); path.closeSubpath(); p->setPen(Qt::red); p->drawPath(path); p->setClipPath(path); // draw crystals foreach(QPointer crystal, crystalVector) crystal->draw(p); p->restore();}
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
Как добавить тэги вывода гиперконтента от бегуна в шаблон вывода контента? Guest Новый архив 3 0 30.09.2011 10:43
графики в qt Guest Новый архив 2 0 29.09.2011 19:47
Графики в 3D Guest Новые вопросы и ответы 2 0 28.09.2011 16:36
Графики Guest Продолжение архива вопросов 0 20.06.2011 14:48



© www.otvetnemail.ru - Форум вопросов и ответов.