diff options
author | Gunnar Sletta <gunnar.sletta@jollamobile.com> | 2015-06-07 12:30:20 +0200 |
---|---|---|
committer | Gunnar Sletta <gunnar@sletta.org> | 2015-06-08 06:38:24 +0000 |
commit | e515fec1025ada6594c564fd5a90743abbc86edd (patch) | |
tree | d1978b83466872e744a82768b7efef5bb8913a73 /src/quick/items/qquickimagebase_p.h | |
parent | 926303a9f8946a2ff36bfcb57d035b9c870646c0 (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.h | 5 |
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(); |