diff options
Diffstat (limited to 'desktop/modules/perf/PerfPanel.qml')
| -rw-r--r-- | desktop/modules/perf/PerfPanel.qml | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/desktop/modules/perf/PerfPanel.qml b/desktop/modules/perf/PerfPanel.qml index 784284a..8ea4af6 100644 --- a/desktop/modules/perf/PerfPanel.qml +++ b/desktop/modules/perf/PerfPanel.qml @@ -320,13 +320,32 @@ Column { // --- GPU ---------------------------------------------------------------- - // No utilisation: xe exposes no busy percentage. + // Busy per engine from fdinfo's cycle counters: render is games, compute + // local LLMs; the headline is the busier of the two. Card { + readonly property var busy: Perf.gpuRender === null && Perf.gpuCompute === null ? null + : Math.max(Perf.gpuRender ?? 0, Perf.gpuCompute ?? 0) title: "GPU · " + Perf.gpuName - headline: panel.deg(panel.gpuTemp.value) - headlineColor: panel.tone(panel.gpuTemp.value, panel.gpuTemp.warn, panel.gpuTemp.crit) + headline: busy === null ? "--" : Math.round(busy) + "%" + headlineColor: panel.tone(busy, 25, 75) Pair { + label: "Render" + value: Perf.gpuRender === null ? "--" : Math.round(Perf.gpuRender) + "%" + } + Bar { + frac: (Perf.gpuRender ?? 0) / 100 + fill: panel.tone(Perf.gpuRender, 25, 75) + } + Pair { + label: "Compute" + value: Perf.gpuCompute === null ? "--" : Math.round(Perf.gpuCompute) + "%" + } + Bar { + frac: (Perf.gpuCompute ?? 0) / 100 + fill: panel.tone(Perf.gpuCompute, 25, 75) + } + Pair { label: "VRAM" value: Perf.vram === null ? "--" : P.bytes(Perf.vram) + " / " + P.bytes(Perf.vramTotal) } @@ -335,6 +354,11 @@ Column { fill: panel.tone(panel.pct(Perf.vram, Perf.vramTotal), 25, 75) } Pair { + label: "Temperature" + value: panel.deg(panel.gpuTemp.value) + valueColor: panel.tone(panel.gpuTemp.value, panel.gpuTemp.warn, panel.gpuTemp.crit) + } + Pair { label: "Fan" value: Perf.fan === null ? "--" : Perf.fan + " rpm" } |
