From 0155edb23e591e37427399a1e927f7b4b2e63ecf Mon Sep 17 00:00:00 2001 From: sebastian-dev Date: Tue, 9 Feb 2021 13:49:07 +0100 Subject: [PATCH] NVIDIA Temperature Readout fix (#384) Thanks to @sebastian-dev --- LibreHardwareMonitorLib/Hardware/Gpu/NvidiaGpu.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/LibreHardwareMonitorLib/Hardware/Gpu/NvidiaGpu.cs b/LibreHardwareMonitorLib/Hardware/Gpu/NvidiaGpu.cs index 0d82b3a..5bb0d50 100644 --- a/LibreHardwareMonitorLib/Hardware/Gpu/NvidiaGpu.cs +++ b/LibreHardwareMonitorLib/Hardware/Gpu/NvidiaGpu.cs @@ -193,8 +193,12 @@ namespace LibreHardwareMonitor.Hardware.Gpu public override void Update() { NvApi.NvGPUThermalSettings settings = GetThermalSettings(); - foreach (Sensor sensor in _temperatures) - sensor.Value = settings.Sensor[sensor.Index].CurrentTemp; + // settings.Count is 0 when no valid data available, this happens when you try to read out this value with a high polling interval. + if (settings.Count > 0) + { + foreach (Sensor sensor in _temperatures) + sensor.Value = settings.Sensor[sensor.Index].CurrentTemp; + } bool readTach = false; if (_fan != null) @@ -521,7 +525,7 @@ namespace LibreHardwareMonitor.Hardware.Gpu { var coolers = new NvApi.NvFanCoolersStatus { - Version = NvApi.GPU_FAN_COOLERS_STATUS_VER, + Version = NvApi.GPU_FAN_COOLERS_STATUS_VER, Items = new NvApi.NvFanCoolersStatusItem[NvApi.MAX_FAN_COOLERS_STATUS_ITEMS] };