aboutsummaryrefslogtreecommitdiffstats
path: root/GUIModel/FPSItem
diff options
context:
space:
mode:
Diffstat (limited to 'GUIModel/FPSItem')
-rw-r--r--GUIModel/FPSItem/FpsItem.qml97
-rw-r--r--GUIModel/FPSItem/spinner.pngbin0 -> 5222 bytes
2 files changed, 97 insertions, 0 deletions
diff --git a/GUIModel/FPSItem/FpsItem.qml b/GUIModel/FPSItem/FpsItem.qml
new file mode 100644
index 0000000..22a1da0
--- /dev/null
+++ b/GUIModel/FPSItem/FpsItem.qml
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2020,2021 Panasonic Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+import QtQuick 2.14
+import QtQuick.Window 2.14
+
+Rectangle {
+ id: root
+ property int frameCounter: 0
+ property int frameCounterAvg: 0
+ property int counter: 0
+ property int fps: 0
+ property int fpsAvg: 0
+ property string part
+ property int maxFPS: 0
+ property int minFPS: 60
+
+ property real dp:Screen.pixelDensity * 25.4/160
+
+ color: "black"
+ width: spinnerImage.width + 10*dp;
+ height: spinnerImage.height + 10*dp;
+
+ Image {
+ id: spinnerImage
+ anchors.verticalCenter: parent.verticalCenter
+ x: 4 * dp
+ width: 36 * dp
+ height: 36 * dp
+ source: "qrc:/FPSItem/spinner.png"
+ NumberAnimation on rotation {
+ from:0
+ to: 360
+ duration: 800
+ loops: Animation.Infinite
+ }
+ onRotationChanged: frameCounter++;
+ }
+
+
+ Text {
+ id: text1
+ anchors.left: spinnerImage.right
+ anchors.leftMargin: 8 * dp
+ anchors.verticalCenter: spinnerImage.verticalCenter
+ color: "#c0c0c0"
+ font.pixelSize: 25 * dp
+ text: "Ø " + root.part + " | fps " + root.fps + " | Avg (/10s) " + root.fpsAvg +" | MAX " + root.maxFPS + " | MIN " + root.minFPS
+ }
+
+
+ Timer {
+ interval: 1000
+ repeat: true
+ running: true
+ onTriggered: {
+ frameCounterAvg += frameCounter;
+// console.info("frameCounter = ",frameCounter);
+// console.info(childrenRect.width, childrenRect.height);
+ root.fps = frameCounter;
+ counter++;
+ frameCounter = 0;
+ if (counter >= 10) {
+ root.fpsAvg = frameCounterAvg/(counter)
+ frameCounterAvg = 0;
+ counter = 0;
+ }
+ if (root.maxFPS <= root.fps){
+ root.maxFPS = root.fps
+ }
+ if (root.fps != 0){
+ if(root.minFPS >= root.fps){
+ root.minFPS = root.fps
+ }
+ }
+ }
+ }
+}
diff --git a/GUIModel/FPSItem/spinner.png b/GUIModel/FPSItem/spinner.png
new file mode 100644
index 0000000..5c6eefd
--- /dev/null
+++ b/GUIModel/FPSItem/spinner.png
Binary files differ