From 25a17fd3a29fd95b6427f17b2a964a6ceea98895 Mon Sep 17 00:00:00 2001 From: Tomi Korpipaa <tomi.korpipaa@qt.io> Date: Fri, 16 Oct 2020 10:07:39 +0300 Subject: [PATCH] Improve report file name in benchmark demo --- BenchmarkDemo/BenchmarkUI/CommandlineParser.qml | 4 ++++ BenchmarkDemo/BenchmarkUI/DemoScene.ui.qml | 4 +++- BenchmarkDemo/BenchmarkUI/Logger.qml | 12 +++++++++--- BenchmarkDemo/BenchmarkUI/assets/Model1k.qml | 2 +- BenchmarkDemoQt6/BenchmarkUI/CommandlineParser.qml | 4 ++++ BenchmarkDemoQt6/BenchmarkUI/DemoScene.ui.qml | 4 +++- BenchmarkDemoQt6/BenchmarkUI/Logger.qml | 12 +++++++++--- BenchmarkDemoQt6/BenchmarkUI/assets/Model1k.qml | 2 +- 8 files changed, 34 insertions(+), 10 deletions(-) diff --git a/BenchmarkDemo/BenchmarkUI/CommandlineParser.qml b/BenchmarkDemo/BenchmarkUI/CommandlineParser.qml index 03aaaea..56be3a3 100644 --- a/BenchmarkDemo/BenchmarkUI/CommandlineParser.qml +++ b/BenchmarkDemo/BenchmarkUI/CommandlineParser.qml @@ -40,6 +40,7 @@ Item { // Other parameters to be read from the outside property bool quitAfter: false + property string commandlineArgumentsString: "" signal parsingDone signal startBenchmark @@ -97,6 +98,7 @@ Item { for (var i = 1; i < commandLineArguments.length; i += 2) { switch (commandLineArguments[i]) { case "--preset": + commandlineArgumentsString += commandLineArguments[i + 1] + "_"; parser.presetMidrange = false; switch (commandLineArguments[i + 1]) { case "entrylevel": @@ -114,6 +116,7 @@ Item { break; case "--target": parser.targetDesktop = false; + commandlineArgumentsString += commandLineArguments[i + 1] + "_"; switch (commandLineArguments[i + 1]) { case "embedded": parser.targetEmbedded = true; @@ -161,6 +164,7 @@ Item { break; case "--automatic": autoModeEnabled = true; + commandlineArgumentsString += commandLineArguments[i + 1] + "_"; switch (commandLineArguments[i + 1]) { case "model": parser.autoModel = true; diff --git a/BenchmarkDemo/BenchmarkUI/DemoScene.ui.qml b/BenchmarkDemo/BenchmarkUI/DemoScene.ui.qml index 527ee9d..d013b10 100644 --- a/BenchmarkDemo/BenchmarkUI/DemoScene.ui.qml +++ b/BenchmarkDemo/BenchmarkUI/DemoScene.ui.qml @@ -1713,8 +1713,10 @@ Item { view3D.environment.effects = effectList; } - if (commands.modeBenchmark) + if (commands.modeBenchmark) { logger.singleReportMode = commands.reportSingle; + logger.settingsString = commands.commandlineArgumentsString; + } // Force changing the env once to enable all state changed (bit unclear why this is needed, though) view3D.environment = sceneEnvironmentIBL; diff --git a/BenchmarkDemo/BenchmarkUI/Logger.qml b/BenchmarkDemo/BenchmarkUI/Logger.qml index 510a1ac..97acaad 100644 --- a/BenchmarkDemo/BenchmarkUI/Logger.qml +++ b/BenchmarkDemo/BenchmarkUI/Logger.qml @@ -46,16 +46,22 @@ Item { // script file name in case of script testing property string scriptName: "" + // additional report name string + property string settingsString: "" + function start(view) { var date = new Date().toLocaleDateString(Qt.locale("en_EN"), "yyyy-MM-dd-"); var time = new Date().toLocaleTimeString(Qt.locale("en_EN"), "hh-mm-ss"); if (!singleReportMode) { logUrl = "file:./benchmark_result_" + date + time + ".txt"; } else if (singleReportMode && logUrl.length === 0) { - if (scriptName.length > 0) + if (scriptName.length > 0) { logUrl = "file:./" + scriptName + "_" + date + time + ".txt"; - else - logUrl = "file:./" + "benchmark_result_automatic_" + date + time + ".txt"; + } else { + logUrl = "file:./" + "benchmark_result_automatic_" + + settingsString + + date + time + ".txt"; + } } source = view; measureTimer.start(); diff --git a/BenchmarkDemo/BenchmarkUI/assets/Model1k.qml b/BenchmarkDemo/BenchmarkUI/assets/Model1k.qml index ae7eedf..97f0bac 100644 --- a/BenchmarkDemo/BenchmarkUI/assets/Model1k.qml +++ b/BenchmarkDemo/BenchmarkUI/assets/Model1k.qml @@ -28,7 +28,7 @@ Node { y: 0.510341 z: -1.45991 eulerRotation.x: -180 - eulerRotation.z: rootNode.gearRotation + eulerRotation.z: rootNode.gearRotation + 25 source: "meshes/gear.mesh" materials: [ diff --git a/BenchmarkDemoQt6/BenchmarkUI/CommandlineParser.qml b/BenchmarkDemoQt6/BenchmarkUI/CommandlineParser.qml index ae0c22f..90909a5 100644 --- a/BenchmarkDemoQt6/BenchmarkUI/CommandlineParser.qml +++ b/BenchmarkDemoQt6/BenchmarkUI/CommandlineParser.qml @@ -40,6 +40,7 @@ Item { // Other parameters to be read from the outside property bool quitAfter: false + property string commandlineArgumentsString: "" signal parsingDone signal startBenchmark @@ -97,6 +98,7 @@ Item { for (var i = 1; i < commandLineArguments.length; i += 2) { switch (commandLineArguments[i]) { case "--preset": + commandlineArgumentsString += commandLineArguments[i + 1] + "_"; parser.presetMidrange = false; switch (commandLineArguments[i + 1]) { case "entrylevel": @@ -114,6 +116,7 @@ Item { break; case "--target": parser.targetDesktop = false; + commandlineArgumentsString += commandLineArguments[i + 1] + "_"; switch (commandLineArguments[i + 1]) { case "embedded": parser.targetEmbedded = true; @@ -161,6 +164,7 @@ Item { break; case "--automatic": autoModeEnabled = true; + commandlineArgumentsString += commandLineArguments[i + 1] + "_"; switch (commandLineArguments[i + 1]) { case "model": parser.autoModel = true; diff --git a/BenchmarkDemoQt6/BenchmarkUI/DemoScene.ui.qml b/BenchmarkDemoQt6/BenchmarkUI/DemoScene.ui.qml index 69fb721..5d6a9fa 100644 --- a/BenchmarkDemoQt6/BenchmarkUI/DemoScene.ui.qml +++ b/BenchmarkDemoQt6/BenchmarkUI/DemoScene.ui.qml @@ -1738,8 +1738,10 @@ Item { view3D.environment.effects = effectList; } - if (commands.modeBenchmark) + if (commands.modeBenchmark) { logger.singleReportMode = commands.reportSingle; + logger.settingsString = commands.commandlineArgumentsString; + } // Force changing the env once to enable all state changed (bit unclear why this is needed, though) view3D.environment = sceneEnvironmentIBL; diff --git a/BenchmarkDemoQt6/BenchmarkUI/Logger.qml b/BenchmarkDemoQt6/BenchmarkUI/Logger.qml index 510a1ac..97acaad 100644 --- a/BenchmarkDemoQt6/BenchmarkUI/Logger.qml +++ b/BenchmarkDemoQt6/BenchmarkUI/Logger.qml @@ -46,16 +46,22 @@ Item { // script file name in case of script testing property string scriptName: "" + // additional report name string + property string settingsString: "" + function start(view) { var date = new Date().toLocaleDateString(Qt.locale("en_EN"), "yyyy-MM-dd-"); var time = new Date().toLocaleTimeString(Qt.locale("en_EN"), "hh-mm-ss"); if (!singleReportMode) { logUrl = "file:./benchmark_result_" + date + time + ".txt"; } else if (singleReportMode && logUrl.length === 0) { - if (scriptName.length > 0) + if (scriptName.length > 0) { logUrl = "file:./" + scriptName + "_" + date + time + ".txt"; - else - logUrl = "file:./" + "benchmark_result_automatic_" + date + time + ".txt"; + } else { + logUrl = "file:./" + "benchmark_result_automatic_" + + settingsString + + date + time + ".txt"; + } } source = view; measureTimer.start(); diff --git a/BenchmarkDemoQt6/BenchmarkUI/assets/Model1k.qml b/BenchmarkDemoQt6/BenchmarkUI/assets/Model1k.qml index ae7eedf..97f0bac 100644 --- a/BenchmarkDemoQt6/BenchmarkUI/assets/Model1k.qml +++ b/BenchmarkDemoQt6/BenchmarkUI/assets/Model1k.qml @@ -28,7 +28,7 @@ Node { y: 0.510341 z: -1.45991 eulerRotation.x: -180 - eulerRotation.z: rootNode.gearRotation + eulerRotation.z: rootNode.gearRotation + 25 source: "meshes/gear.mesh" materials: [ -- GitLab