From 602f1225938f9338c3ee799c64d5449ebc12b8bc Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 29 Oct 2018 17:49:22 +0100 Subject: 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 --- tests/benchmarks/startup/gallery.qrc | 1 - tests/benchmarks/startup/startup_bench.cpp | 9 +++++---- tests/benchmarks/startup/timer.qml | 7 ------- 3 files changed, 5 insertions(+), 12 deletions(-) delete mode 100644 tests/benchmarks/startup/timer.qml (limited to 'tests') 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 @@ - timer.qml ../../../examples/quickcontrols/controls/gallery/main.qml ../../../examples/quickcontrols/controls/gallery/qml/ButtonPage.qml ../../../examples/quickcontrols/controls/gallery/qml/InputPage.qml 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 +#include #include #include #include @@ -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(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(); -} -- cgit v1.2.1