Hi,
FYI. Can someone help us here ? thanks very much ;)
Thanks,
Song
From: Jiang Wenjun (Nokia-MP/Beijing)
Sent: Tuesday, August 21, 2012 4:21 PM
To: Liu Song.7 (Nokia-MP/Beijing)
Subject: FW: how to improve GraphicsView performance
Importance: High
Hi, all
I'm using QGraphicsView to implement google weather in a low-end(CPU: 300MHz)
hardware. All are nice except the performance.
When I set the position of the GraphicsItems, the refresh rate is quite slow.
Code about item moving is here.
void GraphicsView::mouseMoveEvent(QMouseEvent *event)
{
QPoint current_pos = event->pos();
int deltaY = current_pos.y() - m_lastPos.y();
int current_weatherY = m_currentweatherwidget->pos().y();
if ((current_weatherY + deltaY > -320) && (current_weatherY + deltaY <= 0))
{
m_currentweatherwidget->setY(current_weatherY + deltaY);
int forecast_weatherY = m_forecastweatherwidget->pos().y();
m_forecastweatherwidget->setY(forecast_weatherY+deltaY);
}
m_lastPos = event->pos();
event->accept();
}
I tried many methods to optimize the performance, all seem no effect, including:
1. setCacheMode(QGraphicsView::CacheBackground)
2. scene->setItemIndexMethod(QGraphicsScene::NoIndex)
3. setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
4. setOptimizationFlags(QGraphicsView::DontAdjustForAntialiasing |
QGraphicsView::DontSavePainterState | QGraphicsView::DontClipPainter);
5. QGraphicsItem::setCacheMode(QGraphicsItem::DeviceCoordinateCache) ...
Is there any other idea? Thanks!
Best regards!
-Jiang wenjun
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development