aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquicktumbler_p.h
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-10-30 15:17:25 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2017-11-02 08:33:30 +0000
commit6f89cf6370daa443169d24ce45a925000b6e0248 (patch)
tree199a3fa13b698fa93cdf99e7214309fcae456927 /src/quicktemplates2/qquicktumbler_p.h
parente02ebcdb0b10b1c9f077d813c08d83e0d17ca6b5 (diff)
Optimize QQuickTumbler
Listen to the relevant view changes once in QQuickTumbler and cache the offset/contentY instead of every QQuickTumblerAttached instance doing its own geometry and child tracking, and cache the view offset or contentY so that they are readily available while calculating displacements for attached property objects. This gives a 5% boost (40->42 frames in qmlbench) on TX1 in release mode. Change-Id: If1a77468e812e65bc07f32216ff9bf2e1dc5b935 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquicktumbler_p.h')
-rw-r--r--src/quicktemplates2/qquicktumbler_p.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/quicktemplates2/qquicktumbler_p.h b/src/quicktemplates2/qquicktumbler_p.h
index 71d1bda2..afdce23c 100644
--- a/src/quicktemplates2/qquicktumbler_p.h
+++ b/src/quicktemplates2/qquicktumbler_p.h
@@ -124,6 +124,8 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_updateItemHeights())
Q_PRIVATE_SLOT(d_func(), void _q_onViewCurrentIndexChanged())
Q_PRIVATE_SLOT(d_func(), void _q_onViewCountChanged())
+ Q_PRIVATE_SLOT(d_func(), void _q_onViewOffsetChanged())
+ Q_PRIVATE_SLOT(d_func(), void _q_onViewContentYChanged())
};
class QQuickTumblerAttachedPrivate;
@@ -136,7 +138,6 @@ class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTumblerAttached : public QObject
public:
explicit QQuickTumblerAttached(QObject *parent = nullptr);
- ~QQuickTumblerAttached();
QQuickTumbler *tumbler() const;
qreal displacement() const;
@@ -147,8 +148,6 @@ Q_SIGNALS:
private:
Q_DISABLE_COPY(QQuickTumblerAttached)
Q_DECLARE_PRIVATE(QQuickTumblerAttached)
-
- Q_PRIVATE_SLOT(d_func(), void _q_calculateDisplacement())
};
QT_END_NAMESPACE