aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Arve Sæther <jan-arve.saether@qt.io>2020-04-20 11:02:13 +0200
committerJan Arve Sæther <jan-arve.saether@qt.io>2020-05-05 07:57:25 +0000
commitb3af0d17f3d1a2e732f7538ccee80e398c59ba8e (patch)
tree8308492c92a02b8719475f260b756a9ed1e12c3a
parentfe12bfa21966319420724916883b0b22ba61bf36 (diff)
Add test for large layout where items change dynamically
Change-Id: I712e2867e0906690ffdbee5565ff3da1ec9c9ae9 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
-rw-r--r--benchmarks/auto/layouts/gridlayout_large.qml36
1 files changed, 36 insertions, 0 deletions
diff --git a/benchmarks/auto/layouts/gridlayout_large.qml b/benchmarks/auto/layouts/gridlayout_large.qml
new file mode 100644
index 0000000..340a468
--- /dev/null
+++ b/benchmarks/auto/layouts/gridlayout_large.qml
@@ -0,0 +1,36 @@
+import QtQuick 2.2
+import QmlBench 1.0
+import QtQuick.Layouts 1.3
+
+Benchmark {
+ id: root;
+ count: 50;
+ staticCount: 1000;
+
+ // For each frame, change each child item of the layout:
+ // * Layout.rowSpan
+ // * Layout.columnSpan
+
+ property int frameCounter : 0
+ onTChanged: {
+ frameCounter++
+ }
+ GridLayout {
+ columns: 100
+ Repeater {
+ id: repeater
+ model: root.count
+ Rectangle {
+ color: Qt.hsla((index / 50) % 1, 1.0, 0.8)
+ Layout.columnSpan: (index * 3) % 17 + 1 + frameCounter % 10
+ Layout.rowSpan: (index * 5) % 17 + 1 + frameCounter % 10
+ implicitWidth: 0
+ implicitHeight: 0
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ }
+ }
+ }
+}
+
+