diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2018-10-29 17:49:22 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2018-10-31 14:36:37 +0000 |
commit | 602f1225938f9338c3ee799c64d5449ebc12b8bc (patch) | |
tree | 9c84c504b3fb92ddb2f2fc465d0f0680d5a4c5f5 | |
parent | 0489c0a88a293696592c5892383698a015ae68c7 (diff) | |
download | qtquickcontrols-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.qrc | 1 | ||||
-rw-r--r-- | tests/benchmarks/startup/startup_bench.cpp | 9 | ||||
-rw-r--r-- | tests/benchmarks/startup/timer.qml | 7 |
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(); -} |