aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPasi Petäjäjärvi <pasi.petajajarvi@qt.io>2023-06-20 15:28:39 +0300
committerPasi Petäjäjärvi <pasi.petajajarvi@qt.io>2023-08-15 12:14:45 +0000
commit4b703d7d0144886cc8ccda7a3a3922d4c25d01f6 (patch)
tree28c46be9f767a0d901ab0881ddddee94a771a14f
parent622256ccade9db1d6acc7db784bfdf3d7f10fd2a (diff)
Add screen refreshrate as recordable parameter for testrun
Change-Id: I68db0b1720f21fec9492e9417258101024baf7ff Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-rw-r--r--src/main.cpp10
-rw-r--r--src/options.h1
-rw-r--r--src/resultrecorder.cpp5
-rw-r--r--src/resultrecorder.h1
-rw-r--r--tools/compareresults/main.cpp2
5 files changed, 15 insertions, 4 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 5dda24c..7b43df0 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -220,11 +220,15 @@ QStringList processCommandLineArguments(const QCoreApplication &app)
Options::instance.windowSize = size;
}
+ if (parser.isSet(fpsOverrideOption)) {
+ Options::instance.fpsOverride = parser.value(fpsOverrideOption).toFloat();
+ } else {
+ if (qGuiApp->primaryScreen() != nullptr)
+ Options::instance.targetFps = qGuiApp->primaryScreen()->refreshRate();
+ }
ResultRecorder::startResults(Options::instance.id);
ResultRecorder::recordWindowSize(Options::instance.windowSize);
-
- if (parser.isSet(fpsOverrideOption))
- Options::instance.fpsOverride = parser.value(fpsOverrideOption).toFloat();
+ ResultRecorder::recordScreenRefreshRate(Options::instance.targetFps);
if (Options::instance.bmTemplate == QStringLiteral("sustained-fps"))
Options::instance.bmTemplate = QStringLiteral("qrc:/Shell_SustainedFpsWithCount.qml");
diff --git a/src/options.h b/src/options.h
index cb396ac..66bb85b 100644
--- a/src/options.h
+++ b/src/options.h
@@ -50,6 +50,7 @@ struct Options
, fpsTolerance(0.05)
, fpsInterval(1000)
, fpsOverride(0)
+ , targetFps(60.0)
, windowSize(800, 600)
, hardwareMultiplier(1.0)
, destroyViewEachRun(false)
diff --git a/src/resultrecorder.cpp b/src/resultrecorder.cpp
index 1d8a883..12db2d4 100644
--- a/src/resultrecorder.cpp
+++ b/src/resultrecorder.cpp
@@ -167,6 +167,11 @@ void ResultRecorder::recordWindowSize(const QSize &windowSize)
m_results["windowSize"] = QString::number(windowSize.width()) + "x" + QString::number(windowSize.height());
}
+void ResultRecorder::recordScreenRefreshRate(const qreal refreshRate)
+{
+ m_results["refreshRate"] = refreshRate;
+}
+
void ResultRecorder::recordOperationsPerFrame(int ops)
{
Q_ASSERT(Options::instance.isSubProcess);
diff --git a/src/resultrecorder.h b/src/resultrecorder.h
index 0007ee9..77264c8 100644
--- a/src/resultrecorder.h
+++ b/src/resultrecorder.h
@@ -39,6 +39,7 @@ class ResultRecorder
public:
static void startResults(const QString &id);
static void recordWindowSize(const QSize &windowSize);
+ static void recordScreenRefreshRate(const qreal refreshRate);
static void recordOperationsPerFrame(int ops);
static void recordOperationsPerFrameAverage(qreal ops, int samples, qreal stddev, qreal median);
static void mergeResults(const QJsonObject &o);
diff --git a/tools/compareresults/main.cpp b/tools/compareresults/main.cpp
index 94d25c0..e26b67a 100644
--- a/tools/compareresults/main.cpp
+++ b/tools/compareresults/main.cpp
@@ -125,7 +125,7 @@ int main(int argc, char **argv)
return EXIT_FAILURE;
}
- const QSet<QString> unrelatedKeys{"command-line", "id", "opengl", "os", "qt", "windowSize"};
+ const QSet<QString> unrelatedKeys{"command-line", "id", "opengl", "os", "qt", "windowSize", "refreshRate"};
auto filter = [&unrelatedKeys](const QStringList &list) -> QStringList {
return QSet<QString>(list.cbegin(), list.cend()).subtract(unrelatedKeys).values();