diff options
author | Bjoern Erik Nilsen <bnilsen@trolltech.com> | 2009-02-26 13:49:47 (GMT) |
---|---|---|
committer | Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com> | 2009-04-06 11:37:38 (GMT) |
commit | be6be8c73929f2ddee9a02f59db05c3ba453a63e (patch) | |
tree | 85ff724aeed809922b1a985f5cd44dd57087a3a3 | |
parent | e27743bdeda7aa3cb42f2d81a521121f8ee04eae (diff) | |
download | Qt-be6be8c73929f2ddee9a02f59db05c3ba453a63e.zip Qt-be6be8c73929f2ddee9a02f59db05c3ba453a63e.tar.gz Qt-be6be8c73929f2ddee9a02f59db05c3ba453a63e.tar.bz2 |
Fixes: Optimize QGraphicsViewPrivate::updateRect()/updateRegion().
Details: Those cut-offs are extremely important. After few seconds
interaction with the iphone demo, updateRect() was called
approx. 3000 times with an empty rect. Then imagine what
happens when having e.g. FullViewportUpdate. We do
q->viewport()->update() JUST FOR FUN!
-rw-r--r-- | src/gui/graphicsview/qgraphicsview.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp index 9b0e12d..aa5f069 100644 --- a/src/gui/graphicsview/qgraphicsview.cpp +++ b/src/gui/graphicsview/qgraphicsview.cpp @@ -928,6 +928,9 @@ void QGraphicsViewPrivate::updateAll() void QGraphicsViewPrivate::updateRegion(const QRegion &r) { + if (r.isEmpty()) + return; + Q_Q(QGraphicsView); // Rect intersects viewport - update everything? @@ -976,6 +979,9 @@ void QGraphicsViewPrivate::updateRegion(const QRegion &r) void QGraphicsViewPrivate::updateRect(const QRect &r) { + if (r.isEmpty()) + return; + Q_Q(QGraphicsView); // Rect intersects viewport - update everything? |