High ISR and DPC latency while gaming or idle

npena

Member
Joined
Sep 13, 2020
Posts
17
I have intermittent crackling in my audio and stutters in my video/visuals, leading to a loss of quality in games due to FPS drops.

After running LatencyMon a few times and keeping an eye on Task Manager while playing games and simply watching videos, I've found some drivers have a high ISR and DPC latency.

I'm happy to provide more info if need be.

Ryzen 5 3700X
Nvidia GTX 1660ti
16GB 3200mhz RAM
ASUS B350-F Motherboard

Main page from LatencyMon
Stats page (pastebin)
 
Hi, and welcome to Sysnative!

Open an elevated Powershell, copy and paste the following:

Get-Process | Sort CPU -descending | Select -first 50 -Property ID,ProcessName,CPU | format-table |out-file $home\cpu.txt
notepad $home\cpu.txt


Hit enter. it should open notepad, post the contents of the notepad output here, please.

Script borrowed from Jenae.




I am interested in this: I want to see the process that matches the PID (Process ID) in red below.

  1. Hard pagefaults are events that get triggered by making use of virtual memory that is not resident in RAM but backed by a memory mapped file on disk. The process of resolving the hard pagefault requires reading in the memory from disk while the process is interrupted and blocked from execution.
  2. NOTE: some processes were hit by hard pagefaults. If these were programs producing audio, they are likely to interrupt the audio stream resulting in dropouts, clicks and pops. Check the Processes tab to see which programs were hit.
  3. Process with highest pagefault count: chrome.exe
  4. Total number of hard pagefaults 54504
  5. Hard pagefault count of hardest hit process: 4635
  6. Number of processes hit: 175

The other numbers look normal.
 
Thank you for taking the time to review my post, here is the notepad paste from the powershell command

Id ProcessName CPU
-- ----------- ---
12504 chrome 2066.890625
5756 chrome 1502.25
15652 DiscordPTB 1139.671875
2016 webwallpaper32 1110.140625
15184 webwallpaper32 1103.796875
1328 dwm 929.53125
12560 LeagueClientUxRender 825.703125
16444 Blitz 615.15625
4 System 506.5625
10016 NVIDIA RTX Voice 435.296875
17656 chrome 386.046875
16416 chrome 304.484375
10152 chrome 260.890625
13628 BorderlessGaming 255.671875
14540 LeagueClient 252.078125
5840 WmiPrvSE 246.609375
13664 audiodg 202.90625
9024 explorer 191.96875
14176 Blitz 181.578125
19488 Taskmgr 136.046875
3784 svchost 129.5625
8316 aswidsagent 107.109375
11828 Blitz 88.53125
3056 svchost 85.171875
4892 MBAMService 79.953125
14188 Blitz 77.546875
15628 iCUE 62.890625
13808 DiscordPTB 61
3952 AvastSvc 60.3125
18836 RiotClientServices 58.75
12112 LeagueClientUxRender 56.25
14916 DiscordPTB 47.328125
11088 Dashlane 45.625
4876 GameScannerService 42.578125
20132 chrome 37.5625
2664 svchost 34.3125
4504 Corsair.Service 31.265625
896 csrss 26.71875
1888 AvastUI 26.421875
2324 svchost 25.703125
9644 nvcontainer 22.125
15900 DiscordPTB 22.109375
4868 GameManagerService 21.96875
16452 chrome 20.8125
6108 ctfmon 20.4375
1108 svchost 17.703125
14764 DiscordPTB 16.75
1552 svchost 16.734375
3332 LeagueClientUx 16.0625
16896 RzSynapse 15.671875
 
I will go ahead and uninstall Avast. I had it installed for work as they require an antivirus, but I'm not currently working with them as we're on off-season.

How many would you consider "a lot" of extensions? I have quite a few, but nothing excessive (at least I believe to be).

I found a possible work-around to iCue's latency issues, it involves editing a file so that it no longer monitors my computer's statistics such as CPU or RAM usage, I will test that and see if it helps any.

Also, while monitoring my CPU usage when the spikes occur, it seems that no particular process utilizes the CPU more than another. There are no large spikes in programs, only my usage spiking from 15-25% to 50-75% for a few moments. Does this information help at all?
 
I will go ahead and uninstall Avast. I had it installed for work as they require an antivirus, but I'm not currently working with them as we're on off-season.
Windows 10 has an antivirus built-in. It is far superior to most any 3rd party AV out there. While this wasn't the case 10 years ago, Microsoft has come a long way with it and it is consistently one of the top-rated in independent tests.

How many would you consider "a lot" of extensions? I have quite a few, but nothing excessive (at least I believe to be).
A lot would be more than 10 but that is an opinion only. Each extension uses resources and that report flagged Chrome as an issue which led me to believe it might be some of your extensions.

I found a possible work-around to iCue's latency issues, it involves editing a file so that it no longer monitors my computer's statistics such as CPU or RAM usage, I will test that and see if it helps any.
Nice! Let us know.

only my usage spiking from 15-25% to 50-75% for a few moments
Do any processes stand out here?


Great job by the way in proving detailed information!
 
No processes seem to stand out, the spike seems to come randomly and without any program increasing in CPU usage. I sorted them by CPU usage in descending order, and I've never particularly noticed any programs causing spikes.

I have 15 extensions on Google Chrome, of which only 12 are enabled.

The change I made in iCue was disabling an option called "Enable SDK" which seems to have had an effect on the CPU spikes and freezes on my PC. According to other users, the setting monitors a lot of your hardware's performance, such as your HDD, SSD, GPU, CPU, and RAM.

The problem seems to have been much more mitigated so far, but still occurring at a far less frequent rate after a short test. If it's alright, I would like to test for a day or two to see if this setting change has fixed the issue I was facing.

Also, is there anything I can look towards doing about dxgkrnl.sys having a high ISR and DPC count? It seems like that may likely be an issue too, but I'm not very knowledgeable on drivers and their conflicts.

If you would like, I can post an updated Main/Stats page from LatencyMon while engaging in activities that would aggravate the issue and cause it to occur, by later tonight or tomorrow.

Thank you for the help by the way, and thank you for the compliment about my information reports, I want to give as much information as possible to help you help me, and I never would have thought about iCue being a problem!
 
Small update: I'm still having dropouts in audio and stutters in framerate, as well as high CPU spikes similar to before, albeit at a far, far less frequent rate. However they still exist. Here's a new LatencyMon report from two hours of gaming and livestreaming.

Main
Stats

I'm also seeing an extremely high DPC count from the nvlddmkm.sys driver, the Nvidia graphics driver; and a high ISR count from the dxgkrnl.sys driver, the DirectX driver.

Any thoughts based on these reports?
 
Is your Graphics Driver an up to date, WHQL version?

I see you have the latest driver but is it the WHQL version?

Have you tried uninstalling the graphics driver with DDU and reinstalling fresh? I have solved graphics issues many times with it. DDU needs to be run in safe mode.



If you can, look in your games installed folder and see if there is a dxsetup.exe. If you find it, click on it and let it go through its install routine. It's another trick I've come across in Gaming that has fixed issues for me in the past.
 
Last edited:
My graphics driver version is 452.06, the latest driver yes. It also shows this in the screenshot I posted of main at the far right of the highest reported DPC time due to the driver involved being a Nvidia driver.

I'll try using DDU to clean up any previous drivers remaining, I've used clean install through Nvidia's driver update service, however it couldn't hurt to do this as well I imagine.

I'll also look into finding a dxsetup.exe in one of my games install folders.
 
I haven't been able to find a dxsetup.exe in any of my games, and using DDU didn't seem to solve the issue I had with the stuttering. Where should we go from here?
 
Hi npena,

I'm thinking we need to capture a trace while the audio/video glitches are happening. Traces can get very large in a short amount of time, though. Do you have a reliable way of reproducing the issue?
 
I can reproduce it via playing games and utilizing my CPU, mostly through playing video games and watching videos. By "trace" you mean a clip of the FPS stutter and audio dropout correct?
 
By trace I mean capturing a trace log using Windows Performance Recorder. This post describes the process but it assumes there are DPC latency issues all of the time. There are other ways of capturing a trace but they all involve using Windows Performance Recorder. Can you try following the instructions in that post to try and get a quick trace? That will at least get you mostly setup for other trace methods we might need to use.
 
Something seems to be going on that is causing events to be lost during the trace. Attached is a screenshot of a dialog that appears when I open the trace. It shows the problems and possible fixes for the issues. Even a single dropped event can cause a trace to give bad information.

Can you try uninstalling LatencyMon, reboot, and then attempt to get another trace of the system? Xperf/WPR should be able to show us any information LatencyMon is providing. I just want to make sure we can get a reliable trace before making more detailed suggestions.
 

Attachments

  • 2020-09-18.png
    2020-09-18.png
    14.5 KB · Views: 7
I apologize for responding so late to this with a new trace, I haven't been gaming that much this weekend and as a result haven't been able to reproduce the issue that often. I have a new trace, although it's a rather large file size again so unfortunately I'll be sending it through MEGA. If you need another trace, please let me know.

Trace link
 
The new trace is also giving the message about missed events when I try to open it but is also crashing Windows Performance Analyzer if I answer Yes to open it anyway. I'm pretty sure the command "xperf -on DiagEasy" saves to disk during the trace which would suggest it's not able to write to disk fast enough to avoid losing events for some reason.

Instead of using "xperf -on DiagEasy" please try running the attached script instead. It should save the trace to memory and then write it out to disk when the trace is stopped which will hopefully prevent the loss of events. The script is named TraceCPU.cmd so please extract it from the attached zip, place it on your Desktop, then right-click the script icon, select Run as administrator, and follow the prompts in the cmd window. When you stop the script it should create a file called trace.etl on your Desktop and that trace file should never be much more than 300MB no matter how long you run it. This is one I ask people to use if the issue is not easily reproduced as it only keeps the last 30 or 40 seconds of trace data rather than all of the data since the trace was started. So you can start the trace, use the computer until the audio/video glitches happen, stop the trace within 30 or 40 seconds, and it should contain CPU related information about the glitches. I may need to give you different scripts later to get different traces but I want to get to the point where we can get an error free trace to begin with.
 

Attachments

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top