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_mac_p.h | |
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_mac_p.h')
-rw-r--r-- | src/gui/image/qpixmap_mac_p.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/gui/image/qpixmap_mac_p.h b/src/gui/image/qpixmap_mac_p.h index 66797ed..a3ff0d3 100644 --- a/src/gui/image/qpixmap_mac_p.h +++ b/src/gui/image/qpixmap_mac_p.h @@ -83,7 +83,6 @@ public: QPaintEngine* paintEngine() const; private: - int w, h, d; uint has_alpha : 1, has_mask : 1, uninit : 1; |