diff --git a/Modules/ProcessList/PerformanceTab.qml b/Modules/ProcessList/PerformanceTab.qml index 3918f058..c38cbc4b 100644 --- a/Modules/ProcessList/PerformanceTab.qml +++ b/Modules/ProcessList/PerformanceTab.qml @@ -71,7 +71,7 @@ Column { anchors.verticalCenter: parent.verticalCenter StyledText { - text: DankgopService.smoothedCpuUsage.toFixed(1) + "%" + text: DankgopService.cpuUsage.toFixed(1) + "%" font.pixelSize: Theme.fontSizeSmall font.weight: Font.Bold color: Theme.primary diff --git a/Modules/ProcessList/ProcessListItem.qml b/Modules/ProcessList/ProcessListItem.qml index d7b61db6..81d0b317 100644 --- a/Modules/ProcessList/ProcessListItem.qml +++ b/Modules/ProcessList/ProcessListItem.qml @@ -62,10 +62,10 @@ Rectangle { name: DankgopService.getProcessIcon(process ? process.command : "") size: Theme.iconSize - 4 color: { - if (process && process.smoothedCpu > 80) + if (process && process.cpu > 80) return Theme.error - if (process && process.smoothedCpu > 50) + if (process && process.cpu > 50) return Theme.warning return Theme.surfaceText @@ -95,10 +95,10 @@ Rectangle { height: 20 radius: Theme.cornerRadius color: { - if (process && process.smoothedCpu > 80) + if (process && process.cpu > 80) return Qt.rgba(Theme.error.r, Theme.error.g, Theme.error.b, 0.12) - if (process && process.smoothedCpu > 50) + if (process && process.cpu > 50) return Qt.rgba(Theme.warning.r, Theme.warning.g, Theme.warning.b, 0.12) @@ -110,15 +110,15 @@ Rectangle { anchors.verticalCenter: parent.verticalCenter StyledText { - text: DankgopService.formatCpuUsage(process ? process.smoothedCpu : 0) + text: DankgopService.formatCpuUsage(process ? process.cpu : 0) font.pixelSize: Theme.fontSizeSmall font.family: SettingsData.monoFontFamily font.weight: Font.Bold color: { - if (process && process.smoothedCpu > 80) + if (process && process.cpu > 80) return Theme.error - if (process && process.smoothedCpu > 50) + if (process && process.cpu > 50) return Theme.warning return Theme.surfaceText diff --git a/Modules/ProcessList/SystemOverview.qml b/Modules/ProcessList/SystemOverview.qml index 5f330070..d8b288ad 100644 --- a/Modules/ProcessList/SystemOverview.qml +++ b/Modules/ProcessList/SystemOverview.qml @@ -57,9 +57,9 @@ Row { StyledText { text: { - if (DankgopService.smoothedCpuUsage === undefined || DankgopService.smoothedCpuUsage === null) + if (DankgopService.cpuUsage === undefined || DankgopService.cpuUsage === null) return "--%" - return DankgopService.smoothedCpuUsage.toFixed(1) + "%" + return DankgopService.cpuUsage.toFixed(1) + "%" } font.pixelSize: Theme.fontSizeLarge font.family: SettingsData.monoFontFamily diff --git a/Modules/TopBar/CpuMonitor.qml b/Modules/TopBar/CpuMonitor.qml index 50bf9ba7..9e2a26c4 100644 --- a/Modules/TopBar/CpuMonitor.qml +++ b/Modules/TopBar/CpuMonitor.qml @@ -59,10 +59,10 @@ Rectangle { name: "memory" size: Theme.iconSize - 8 color: { - if (DankgopService.smoothedCpuUsage > 80) + if (DankgopService.cpuUsage > 80) return Theme.tempDanger - if (DankgopService.smoothedCpuUsage > 60) + if (DankgopService.cpuUsage > 60) return Theme.tempWarning return Theme.surfaceText @@ -72,12 +72,12 @@ Rectangle { StyledText { text: { - if (DankgopService.smoothedCpuUsage === undefined - || DankgopService.smoothedCpuUsage === null - || DankgopService.smoothedCpuUsage === 0) { + if (DankgopService.cpuUsage === undefined + || DankgopService.cpuUsage === null + || DankgopService.cpuUsage === 0) { return "--%" } - return DankgopService.smoothedCpuUsage.toFixed(0) + "%" + return DankgopService.cpuUsage.toFixed(0) + "%" } font.pixelSize: Theme.fontSizeSmall font.weight: Font.Medium diff --git a/Services/DankgopService.qml b/Services/DankgopService.qml index 8dacd1f4..4365da1d 100644 --- a/Services/DankgopService.qml +++ b/Services/DankgopService.qml @@ -72,8 +72,6 @@ Singleton { property var memoryHistory: [] property var networkHistory: ({ "rx": [], "tx": [] }) property var diskHistory: ({ "read": [], "write": [] }) - property var processCpuHistory: ({}) - property real smoothedCpuUsage: 0 function addRef(modules = null) { refCount++ @@ -126,13 +124,6 @@ Singleton { enabledModules.splice(index, 1) modulesChanged = true console.log("Disabling module:", module, "(no more refs)") - - // Clear sample data when module is disabled - if (module === "cpu") { - cpuSampleData = null - } else if (module === "processes") { - procSampleData = null - } } } } @@ -283,7 +274,6 @@ Singleton { cpuModel = cpu.model || "" perCoreCpuUsage = cpu.coreUsage || [] addToHistory(cpuHistory, cpuUsage) - updateSmoothedCpuUsage() // Update CPU sample data for the next run if (cpu.total && cpu.cores) { @@ -370,34 +360,11 @@ Singleton { if (data.processes && Array.isArray(data.processes)) { const newProcesses = [] const newProcSample = [] - const currentPids = {} - for (const proc of data.processes) { - const pid = proc.pid || 0 - if (pid === 0) continue - - currentPids[pid] = true - const cpu = proc.cpu || 0 - - let history = processCpuHistory[pid] - if (!history) { - history = [] - } - - history.push(cpu) - if (history.length > 3) { - history.shift() - } - processCpuHistory[pid] = history - - const sum = history.reduce((a, b) => a + b, 0) - const smoothedCpu = sum / history.length - newProcesses.push({ - "pid": pid, + "pid": proc.pid || 0, "ppid": proc.ppid || 0, - "cpu": cpu, - "smoothedCpu": smoothedCpu, + "cpu": proc.cpu || 0, "memoryPercent": proc.memoryPercent || proc.pssPercent || 0, "memoryKB": proc.memoryKB || proc.pssKB || 0, "command": proc.command || "", @@ -418,14 +385,6 @@ Singleton { if (newProcSample.length > 0) { procSampleData = newProcSample } - - // Garbage collect old PIDs from history - for (const pid in processCpuHistory) { - if (!currentPids[pid]) { - delete processCpuHistory[pid] - } - } - processCpuHistory = Object.assign({}, processCpuHistory) } // Handle both gpu and gpu-temp module data @@ -485,16 +444,6 @@ Singleton { isUpdating = false } - function updateSmoothedCpuUsage() { - if (cpuHistory.length === 0) { - smoothedCpuUsage = 0 - return - } - const valuesToAverage = cpuHistory.slice(-3) // Average last 3 values - const sum = valuesToAverage.reduce((a, b) => a + b, 0) - smoothedCpuUsage = sum / valuesToAverage.length - } - function addToHistory(array, value) { array.push(value) if (array.length > historySize) {