diff options
Diffstat (limited to 'GUIModel/FPSItem')
-rw-r--r-- | GUIModel/FPSItem/FpsItem.qml | 91 | ||||
-rw-r--r-- | GUIModel/FPSItem/spinner.png | bin | 0 -> 5222 bytes |
2 files changed, 91 insertions, 0 deletions
diff --git a/GUIModel/FPSItem/FpsItem.qml b/GUIModel/FPSItem/FpsItem.qml new file mode 100644 index 0000000..02978bc --- /dev/null +++ b/GUIModel/FPSItem/FpsItem.qml @@ -0,0 +1,91 @@ +/* + * Copyright 2020,2021 Panasonic Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +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 Binary files differnew file mode 100644 index 0000000..5c6eefd --- /dev/null +++ b/GUIModel/FPSItem/spinner.png |