aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickimagebase_p.h
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@jollamobile.com>2015-06-07 12:30:20 +0200
committerGunnar Sletta <gunnar@sletta.org>2015-06-08 06:38:24 +0000
commite515fec1025ada6594c564fd5a90743abbc86edd (patch)
treed1978b83466872e744a82768b7efef5bb8913a73 /src/quick/items/qquickimagebase_p.h
parent926303a9f8946a2ff36bfcb57d035b9c870646c0 (diff)
Fix performance regression in Image construction.
Setting up the signal leads to a significant memory and performance overhead. This patch improves the benchmark by almost 10%. Change-Id: Ib0a76ba42fdce1ca707044a8f8b6bdc6405f20c3 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'src/quick/items/qquickimagebase_p.h')
-rw-r--r--src/quick/items/qquickimagebase_p.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/quick/items/qquickimagebase_p.h b/src/quick/items/qquickimagebase_p.h
index d43822bebe..4fcfaecd7d 100644
--- a/src/quick/items/qquickimagebase_p.h
+++ b/src/quick/items/qquickimagebase_p.h
@@ -83,6 +83,10 @@ public:
void resolve2xLocalFile(const QUrl &url, qreal targetDevicePixelRatio, QUrl *sourceUrl, qreal *sourceDevicePixelRatio);
+ // Use a virtual rather than a signal->signal to avoid the huge
+ // connect/conneciton overhead for this rare case.
+ virtual void emitAutoTransformBaseChanged() { }
+
Q_SIGNALS:
void sourceChanged(const QUrl &);
void sourceSizeChanged();
@@ -91,7 +95,6 @@ Q_SIGNALS:
void asynchronousChanged();
void cacheChanged();
void mirrorChanged();
- void autoTransformBaseChanged();
protected:
virtual void load();