diff options
author | Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com> | 2009-06-17 09:36:40 (GMT) |
---|---|---|
committer | Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com> | 2009-06-17 09:44:48 (GMT) |
commit | fa8030a935acaacee570eee320e7510a4cfdc853 (patch) | |
tree | 51d48d56c94739aa569bb60f5ef6998da35ff110 /src/gui/image/qpixmap.cpp | |
parent | 24580f35a58390b4177aef8edef1192dc05f8ac2 (diff) | |
download | Qt-fa8030a935acaacee570eee320e7510a4cfdc853.zip Qt-fa8030a935acaacee570eee320e7510a4cfdc853.tar.gz Qt-fa8030a935acaacee570eee320e7510a4cfdc853.tar.bz2 |
Speed up QPixmap::width(), height(), isNull() and depth().
This change moves the w, h, d variables to QPixmapData and introduces
is_null to keep track of nullness. This is possible only because
QPixmapData is internal API; otherwise we'd have to be smarter.
The optimization makes the QPixmap::width() function take 7 instructions,
down from 34 before. For the calculator demo in the declarative ui branch
this reduces a block of 750000 instructions (out of 30000000) to around
100000-150000 instructions.
Tested on Windows, Linux, Mac. Raster, X11 and OpenGL paint engines. Have
not tested the DirectFB engine.
Reviewed-by: Trond
Diffstat (limited to 'src/gui/image/qpixmap.cpp')
-rw-r--r-- | src/gui/image/qpixmap.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp index 6da291c..56c3a29 100644 --- a/src/gui/image/qpixmap.cpp +++ b/src/gui/image/qpixmap.cpp @@ -552,7 +552,7 @@ bool QPixmap::isQBitmap() const */ bool QPixmap::isNull() const { - return data->width() == 0; + return data->isNull(); } /*! |