High CPU, DPC Latency & Audio Crackling everytime NVIDIA Discrete Graphics Triggered/Wake from Sleep

sourc7
sourc7 Member Posts: 8

Tinkerer

edited November 2023 in 2020 Archives

Hello everyone, I purchased Acer Swift 3 SF314-57G with NVIDIA MX250 discrete graphics. But I encountered annoying audio crackling & ([System]ntoskrnl.exe) high CPU usage issue every time the discrete graphic is triggered/wake from sleep, (e.g using GPU-Z, CPU-Z, HWiNFO64). This problem happens from the first time I purchased the laptop (fresh factory pre-installed Windows 10).

Steps to reproduce the issue:

  1. Run Process Hacker to analyze interrupts (DPC latency) & ([System]ntoskrnl.exe) CPU usage
  2. Run GPU-Z or CPU-Z (a program that pools dGPU information)
  3. Switch to Process Hacker, the ([System]ntoskrnl.exe) cpu usage & interrupts (DPC latency) will spike causing audio crackling/popping.

After I analyzed, the ([System]ntoskrnl.exe) high CPU usage & high DPC latency, it was caused by nvlddmkm.sys (NVIDIA Driver). In my opinion, the issue is caused by NVIDIA Optimus sleep & wake latency. When it is not used or idle, the dGPU will completely switch off. 

But every time a program needs it, it will wake the dGPU which will cost long millisecond wake-up latency. A program like GPU-Z periodically pool the dGPU intermittently (wake dGPU every 1 second [take long latency], afterward dGPU switched off [take long latency], wake dGPU again after 1 second and over. [take long DPC latency]) worsen DPC latency.

The temporary workaround is to keep the dGPU on using TrayPwrD3 program. But the trade-off total power consumption & laptop overall temperature will also increase.

Here I provide a link to the video: 

- Before using TrayPwrD3: https://youtu.be/EPE2HWBCexU 

- After using TrayPwrD3: https://youtu.be/IJ1luSzYuPo 

I already tried the following:

  • Update NVIDIA Driver to 445.75
  • Update Intel Graphics Driver to 26.20.100.7985
  • Reset this PC options
  • Update Windows to version 10.0.19041.172 (Slow Ring)
  • Update BIOS to V1.13

But the issue persists. I wonder does everyone encounters the same issue with the NVIDIA Optimus system?