# NVIDIA report: false THERMAL\_PROTECTION from NvAPI\_GPU\_GetPerfDecreaseInfo

**URL:** <https://forums.developer.nvidia.com/t/nvidia-report-false-thermal-protection-from-nvapi-gpu-getperfdecreaseinfo/388207>\
**Category:** Drivers - Linux, Windows, MacOS\
**Tags:** gaming\
**Created:** [November 6, 2026, 5:05pm UTC](https://forums.developer.nvidia.com/t/nvidia-report-false-thermal-protection-from-nvapi-gpu-getperfdecreaseinfo/388207 "2026-11-06T17:05:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ninbura](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/ninbura/32/549666_2.png) [@ninbura](https://forums.developer.nvidia.com/u/ninbura)\
**Post date:** [November 6, 2026, 5:05pm UTC](https://forums.developer.nvidia.com/t/nvidia-report-false-thermal-protection-from-nvapi-gpu-getperfdecreaseinfo/388207/1 "2026-11-06T17:05:25Z")

</div>

On my water cooled Asus Tuf OC RTX 4090, NvAPI\_GPU\_GetPerfDecreaseInfo returns THERMAL\_PROTECTION around three times per second under load in-game, in bursts of 10 to 30 ms. To clarify, I have not personally applied an OC, the card came with one from ASUS. The GPU is at 40 to 50 °C, with no temperature reaching over 60C (even memory or hotspot via HWiNFO). The clock never drops, and NVML reports no thermal or power slowdown.

As far as I can tell this is a false report… but it has real-world consequences. World of Warcraft Forever polls this API and caps the game at 60 FPS when it sees the flag, see here for others experiencing this issue without fully understanding the cause:

> **[\[BUG\] FPS capped to 60](https://us.forums.blizzard.com/en/wow/t/bug-fps-capped-to-60/2384653)**
>
> While playing my FPS typically sits at 175+ then randomly caps to 60 for about 15 minutes then goes back to 175+. GPU usage while at 175+ is 99% on an RTX 4090 GPU usage while FPS gets stuck at 60 FPS is 30%. Any ideas how to resolve this?

### Questions

1. Is `THERMAL_PROTECTION` expected when no thermal clock reduction is active?
2. Is this specific to this board, this VBIOS, or a water-cooled card with its fans disconnected?
3. What should applications use to detect real thermal throttling?

# In-Depth Analysis

### System

| | |
| --- | --- |
| GPU | ASUS TUF RTX 4090 GAMING OC, VBIOS 95.02.18.00.36 |
| Cooling | Full-cover water block, stock fans disconnected |
| Driver | 621.14 (also seen on earlier drivers and clean Windows installs) |
| OS | Windows 11, build 26300 |
| Platform | Ryzen 9 9950X3D, MSI MAG X870E TOMAHAWK WIFI |

### Measurements (stock settings, under game load)

| Source | Result |
| --- | --- |
| `NvAPI_GPU_GetPerfDecreaseInfo` | `THERMAL_PROTECTION` about 3 times per second, 10 to 30 ms each, set about 5% of the time |
| Graphics clock during bursts | Unchanged at 2805 MHz |
| NVML clocks event reasons | Only 0x400 (shown by nvidia-smi as “Reliability”) |
| `nvidia-smi -q -d PERFORMANCE` counters | 0 µs for SW power cap, SW thermal, HW thermal and HW power brake |
| Temperatures | Core 36 to 53 °C, hot spot 56 °C max, memory junction 44 °C max |
| Idle | No bursts |

Repro tool output (60 s in World of Warcraft at 120 Hz, stock settings):

```auto
nvapi-perfdecrease-repro
  time 2026-11-06 09:53:59
  GPU NVIDIA GeForce RTX 4090 (physical GPUs: 1)
  driver 621.14 VBIOS 95.02.18.00.36
  OS Microsoft Windows NT 10.0.26300.0
  clocks base 2235 MHz, boost 2565 MHz (NVAPI) P-state at start: P0

samples: 5152 over 60.0 s (mean interval 11.65 ms)
GPU load (NVML): avg 53 %, power avg 237 W, core temp (NVAPI) 36-38 C

NVAPI NvAPI_GPU_GetPerfDecreaseInfo values (share of samples):
  0x00000000 NONE 95.23 %
  0x00000001 THERMAL_PROTECTION 4.77 %
NVML clocks-event reasons (share of samples):
  0x0000000000000400 Reliability(nvidia-smi) 100.00 %

THERMAL_PROTECTION bursts: 225 (3.75 per second), set in 4.77 % of samples
  burst duration (upper bound, ms): min 1.1, median 15.5, max 32.1
  interval between bursts (ms): min 7, median 141, max 1708
  NVML reasons during bursts: Reliability(nvidia-smi) x246
  NVML graphics clock during bursts: 2820-2820 MHz (whole run: 2820-2820 MHz)
  core temperature during bursts: 36-38 C
NVML thermal/power slowdown bits (SwPowerCap|HwSlowdown|SwThermal|HwThermal|HwPowerBrake) set in 0 of 5152 samples

RESULT: NVAPI reported THERMAL_PROTECTION while NVML reported no thermal/power slowdown and the graphics clock did not drop.

```

`nvidia-smi -q -d PERFORMANCE` after the test run: Reliability Active, all others Not Active, all slowdown counters 0 µs.

### What changes the rate

Temperature, power and load do not. At 120 Hz the GPU did half the work at 100 W less and the rate was unchanged (5.7% vs 6.2%). What matters is how close the card runs to its stock top boost point:

| Setting | Clock and voltage | THERMAL\_PROTECTION |
| --- | --- | --- |
| Stock | 2820 MHz at 1.05 V | 6.2% |
| −250 MHz offset | 2550 MHz at 1.05 V | 3.9% |
| −400 MHz offset | 2415 MHz at 1.05 V | 0.8% |
| V/F curve flattened at 950 mV | 2550 MHz at 0.95 V | 0.4% |

Separately, a clock lock (`nvidia-smi -lgc`) or a flattened V/F curve makes the API report `API_TRIGGERED` all the time.

### Impact

World of Warcraft: Forever calls this API every 300 seconds. If the flag is set, it caps the game at 60 FPS until a later check is clean. From its log:

```auto
21:15:20.205 Notify responders thermal state changed from Normal to Serious
21:15:20.205 Imposing FPS cap of 60 FPS
21:15:20.205 Periodic Gpu Status Report: ... Freq:2.81GHz Temp:51C GPU is throttled. Reason: NV_GPU_PERF_DECREASE_REASON_THERMAL_PROTECTION
21:20:20.210 Removing imposed FPS cap

```

This happens on about 6% of checks on my system. Other players report the same cap on many GeForce cards (see WoW thread above).

### Repro

Poll these side by side every few ms while a game is running:

```c
NvU32 perf; NvAPI_GPU_GetPerfDecreaseInfo(hGpu, &perf); // bit 0x1 set in bursts
unsigned long long reasons; nvmlDeviceGetCurrentClocksEventReasons(dev, &reasons); // stays 0x400
unsigned int mhz; nvmlDeviceGetClockInfo(dev, NVML_CLOCK_GRAPHICS, &mhz); // unchanged

```

Or run my tool while a game is running: `nvapi-perfdecrease-repro.exe 60 samples.csv`. It is read-only, samples every 2 ms and needs the .NET 10 runtime.  
Source: [GitHub - ninbura/nvapi-perfdecrease-repro: Repro: NvAPI\_GPU\_GetPerfDecreaseInfo reports THERMAL\_PROTECTION while the GPU is not throttling · GitHub](https://github.com/ninbura/nvapi-perfdecrease-repro)

---

<div class="post-metadata">

**Author:** ![MarkusHoHo](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/markushoho/32/233145_2.png) [@MarkusHoHo](https://forums.developer.nvidia.com/u/MarkusHoHo)\
**Post date:** [November 9, 2026, 9:23am UTC](https://forums.developer.nvidia.com/t/nvidia-report-false-thermal-protection-from-nvapi-gpu-getperfdecreaseinfo/388207/2 "2026-11-09T09:23:25Z")

</div>

Hello,

Welcome to the NVIDIA Developer forums. This community serves the developer ecosystem.

For consumer issues, please visit the [GeForce forums](https://www.nvidia.com/en-us/geforce/forums/geforce-graphics-cards/5/).

Best regards!
