You've already forked fm-dx-webserver
mirror of
https://github.com/KubaPro010/fm-dx-webserver.git
synced 2026-02-27 06:23:53 +01:00
further optimise graph cpu usage
This commit is contained in:
committed by
GitHub
parent
67664d6984
commit
2ae4e0d5bd
@@ -444,6 +444,7 @@ function initCanvas() {
|
|||||||
bottom: -10
|
bottom: -10
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
animation: false,
|
||||||
responsive: true,
|
responsive: true,
|
||||||
maintainAspectRatio: false,
|
maintainAspectRatio: false,
|
||||||
elements: {
|
elements: {
|
||||||
@@ -459,20 +460,23 @@ function initCanvas() {
|
|||||||
duration: 30000,
|
duration: 30000,
|
||||||
refresh: 75,
|
refresh: 75,
|
||||||
delay: 150,
|
delay: 150,
|
||||||
|
frameRate: 30, // default is 30
|
||||||
onRefresh: (chart) => {
|
onRefresh: (chart) => {
|
||||||
if (!chart?.data?.datasets || parsedData?.sig === undefined) return;
|
if (!chart?.data?.datasets || parsedData?.sig === undefined) return;
|
||||||
if ((isAndroid || isIOS || isIPadOS) && (document.hidden || !document.hasFocus())) return;
|
if ((isAndroid || isIOS || isIPadOS) && (document.hidden || !document.hasFocus())) return;
|
||||||
|
|
||||||
signalBuffer.push(parsedData.sig);
|
const sig = parsedData.sig;
|
||||||
if (signalBuffer.length > 8) {
|
if (signalBuffer.length > 0 && signalBuffer[signalBuffer.length - 1] === sig) return; // skip if data hasn't changed
|
||||||
signalBuffer.shift();
|
|
||||||
}
|
signalBuffer.push(sig);
|
||||||
|
if (signalBuffer.length > 8) signalBuffer.shift();
|
||||||
|
|
||||||
const avgSignal = signalBuffer.reduce((sum, val) => sum + val, 0) / signalBuffer.length;
|
const avgSignal = signalBuffer.reduce((sum, val) => sum + val, 0) / signalBuffer.length;
|
||||||
|
|
||||||
chart.data.datasets[0].data.push({
|
const dataset = chart.data.datasets[0].data;
|
||||||
x: Date.now(),
|
dataset.push({ x: Date.now(), y: avgSignal });
|
||||||
y: avgSignal
|
|
||||||
});
|
if (dataset.length > 400) dataset.shift(); // duration / refresh
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user