C
Qt Quick Ultralite Motorcycle Cluster Demo
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
import QtQuick 2.15
import QtQuickUltralite.Extras 2.0
Row {
id: root
visible: QulPerf.enabled
property int minFPS: 1000
property int maxFPS: 0
property int avgFPSum: 0
property int avgCounter: 0
property int fps: QulPerf.fps
readonly property int minFPSlimit: 1
property real repaint: QulPerf.repaint
property real repaintAvgSum: 0
spacing: 10
Timer {
id: averageFPStimer
interval: 250
running: true
repeat: true
onTriggered: {
root.averageCalc()
}
}
function averageCalc() {
root.avgFPSum = root.avgFPSum + root.fps
root.avgCounter = root.avgCounter + 1
root.repaintAvgSum = root.repaintAvgSum + root.repaint
}
PerformanceMetricItem {
label: "FPS:"
value: QulPerf.fps.toFixed(0)
}
PerformanceMetricItem {
label: "FPSmin:"
value: (QulPerf.fps < root.minFPS && QulPerf.fps
> root.minFPSlimit ? root.minFPS = QulPerf.fps : root.minFPS).toFixed(0)
}
// PerformanceMetricItem {
// label: "FPSmax:"
// value: (QulPerf.fps > root.maxFPS ? root.maxFPS = QulPerf.fps : root.maxFPS).toString()
// }
PerformanceMetricItem {
label: "FPSavg:"
value: (root.avgFPSum / root.avgCounter).toFixed(0)
}
PerformanceMetricItem {
label: "repaint:"
value: root.repaint.toFixed(1)
}
PerformanceMetricItem {
label: "repAvg:"
value: (root.repaintAvgSum / root.avgCounter).toFixed(1)
}
Component.onCompleted: {
QulPerf.recording = true
}
}