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