summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2018-10-29 17:49:22 +0100
committerErik Verbruggen <erik.verbruggen@qt.io>2018-10-31 14:36:37 +0000
commit602f1225938f9338c3ee799c64d5449ebc12b8bc (patch)
tree9c84c504b3fb92ddb2f2fc465d0f0680d5a4c5f5
parent0489c0a88a293696592c5892383698a015ae68c7 (diff)
downloadqtquickcontrols-602f1225938f9338c3ee799c64d5449ebc12b8bc.tar.gz
Refine startup benchmark termination condition
Instead of using a timer to terminate the benchmark, let's terminate the benchmark after we've sent off the first rendered frame. This is a bit more realistic, although it doesn't change numbers on my machine. Change-Id: I9a3724ecf781191d2b4dd937a5b74960a19550df Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
-rw-r--r--tests/benchmarks/startup/gallery.qrc1
-rw-r--r--tests/benchmarks/startup/startup_bench.cpp9
-rw-r--r--tests/benchmarks/startup/timer.qml7
3 files changed, 5 insertions, 12 deletions
diff --git a/tests/benchmarks/startup/gallery.qrc b/tests/benchmarks/startup/gallery.qrc
index 2cabf889..1a84303a 100644
--- a/tests/benchmarks/startup/gallery.qrc
+++ b/tests/benchmarks/startup/gallery.qrc
@@ -1,6 +1,5 @@
<RCC>
<qresource prefix="/">
- <file>timer.qml</file>
<file alias="main.qml">../../../examples/quickcontrols/controls/gallery/main.qml</file>
<file alias="qml/ButtonPage.qml">../../../examples/quickcontrols/controls/gallery/qml/ButtonPage.qml</file>
<file alias="qml/InputPage.qml">../../../examples/quickcontrols/controls/gallery/qml/InputPage.qml</file>
diff --git a/tests/benchmarks/startup/startup_bench.cpp b/tests/benchmarks/startup/startup_bench.cpp
index 9e734cf8..ea510e8c 100644
--- a/tests/benchmarks/startup/startup_bench.cpp
+++ b/tests/benchmarks/startup/startup_bench.cpp
@@ -50,6 +50,7 @@
#include "qtquickcontrolsapplication.h"
#include <QtQml/QQmlApplicationEngine>
+#include <QQuickWindow>
#include <QtCore/QElapsedTimer>
#include <functional>
#include <stdio.h>
@@ -83,11 +84,11 @@ int main(int argc, char *argv[])
QElapsedTimer timer;
timer.start();
QQmlApplicationEngine engine(QUrl("qrc:/main.qml"));
- QObject::connect(&engine, &QQmlApplicationEngine::quit,
- QCoreApplication::instance(), &QCoreApplication::quit);
- engine.load(QUrl("qrc:/timer.qml"));
- if (engine.rootObjects().size() != 2)
+ if (engine.rootObjects().size() != 1)
return -1;
+ QQuickWindow *window = qobject_cast<QQuickWindow*>(engine.rootObjects().first());
+ QObject::connect(window, &QQuickWindow::frameSwapped,
+ QCoreApplication::instance(), &QCoreApplication::quit);
if (app.exec() != 0)
return -1;
return timer.elapsed();
diff --git a/tests/benchmarks/startup/timer.qml b/tests/benchmarks/startup/timer.qml
deleted file mode 100644
index a0e9f1c1..00000000
--- a/tests/benchmarks/startup/timer.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-import QtQuick 2.2
-
-Timer {
- running: true
- interval: 0
- onTriggered: Qt.quit();
-}