The No.1 Website for Pro Audio
Occasional dropouts - DPC latency
Old 2 weeks ago
  #1
Here for the gear
 

Occasional dropouts - DPC latency

Hi,

my system is suffering from occasional audio dropouts, not only while working in my DAW. This is a long time problem. I tried most optimization guides I could find online with not much of a result. Albeit an idle Latency Mon test I just ran. As always the Wdf01000.sys is giving me high DPCs. Earlier I thought this was due to a firewire driver so I switched my Focusrite Saffire 40 for a Motu M2 and threw the firewire card out of my PC. It gives me a better performance, but there are still some dropouts. My system specs are mentioned below. What I dont understand are the 40 MHz listed as my CPU speed, as I disabled all c-states and also turboboost, so my clock should be constant right?
What could be the problem here, or what can I do to find the culprit?

_________________________________________________________________________________________________________
CONCLUSION
_________________________________________________________________________________________________________
Your system appears to be having trouble handling real-time audio and other tasks. You are likely to experience buffer underruns appearing as drop outs, clicks or pops. One or more DPC routines that belong to a driver running in your system appear to be executing for too long. One problem may be related to power management, disable CPU throttling settings in Control Panel and BIOS setup. Check for BIOS updates.
LatencyMon has been analyzing your system for 2:48:43 (h:mm:ss) on all processors.


_________________________________________________________________________________________________________
SYSTEM INFORMATION
_________________________________________________________________________________________________________
Computer name: DESKTOP-KET3OSP
OS version: Windows 10 , 10.0, build: 18363 (x64)
Hardware: H97-HD3, Gigabyte Technology Co., Ltd.
CPU: GenuineIntel Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
Logical processors: 8
Processor groups: 1
RAM: 32695 MB total


_________________________________________________________________________________________________________
CPU SPEED
_________________________________________________________________________________________________________
Reported CPU speed: 40 MHz

Note: reported execution times may be calculated based on a fixed reported CPU speed. Disable variable speed settings like Intel Speed Step and AMD Cool N Quiet in the BIOS setup for more accurate results.

WARNING: the CPU speed that was measured is only a fraction of the CPU speed reported. Your CPUs may be throttled back due to variable speed settings and thermal issues. It is suggested that you run a utility which reports your actual CPU frequency and temperature.



_________________________________________________________________________________________________________
MEASURED INTERRUPT TO USER PROCESS LATENCIES
_________________________________________________________________________________________________________
The interrupt to process latency reflects the measured interval that a usermode process needed to respond to a hardware request from the moment the interrupt service routine started execution. This includes the scheduling and execution of a DPC routine, the signaling of an event and the waking up of a usermode thread from an idle wait state in response to that event.

Highest measured interrupt to process latency (µs): 6357,721442
Average measured interrupt to process latency (µs): 5,373895

Highest measured interrupt to DPC latency (µs): 6353,670648
Average measured interrupt to DPC latency (µs): 2,406905


_________________________________________________________________________________________________________
REPORTED ISRs
_________________________________________________________________________________________________________
Interrupt service routines are routines installed by the OS and device drivers that execute in response to a hardware interrupt signal.

Highest ISR routine execution time (µs): 29,8750
Driver with highest ISR routine execution time: Wdf01000.sys - Kernelmodustreiber-Frameworklaufzeit, Microsoft Corporation

Highest reported total ISR routine time (%): 0,006425
Driver with highest ISR total time: Wdf01000.sys - Kernelmodustreiber-Frameworklaufzeit, Microsoft Corporation

Total time spent in ISRs (%) 0,006425

ISR count (execution time <250 µs): 10482543
ISR count (execution time 250-500 µs): 0
ISR count (execution time 500-999 µs): 0
ISR count (execution time 1000-1999 µs): 0
ISR count (execution time 2000-3999 µs): 0
ISR count (execution time >=4000 µs): 0


_________________________________________________________________________________________________________
REPORTED DPCs
_________________________________________________________________________________________________________
DPC routines are part of the interrupt servicing dispatch mechanism and disable the possibility for a process to utilize the CPU while it is interrupted until the DPC has finished execution.

Highest DPC routine execution time (µs): 3987,6910
Driver with highest DPC routine execution time: Wdf01000.sys - Kernelmodustreiber-Frameworklaufzeit, Microsoft Corporation

Highest reported total DPC routine time (%): 0,146228
Driver with highest DPC total execution time: Wdf01000.sys - Kernelmodustreiber-Frameworklaufzeit, Microsoft Corporation

Total time spent in DPCs (%) 0,220710

DPC count (execution time <250 µs): 38360711
DPC count (execution time 250-500 µs): 0
DPC count (execution time 500-999 µs): 66
DPC count (execution time 1000-1999 µs): 8
DPC count (execution time 2000-3999 µs): 4
DPC count (execution time >=4000 µs): 0


_________________________________________________________________________________________________________
REPORTED HARD PAGEFAULTS
_________________________________________________________________________________________________________
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.

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.

Process with highest pagefault count: svchost.exe

Total number of hard pagefaults 9911
Hard pagefault count of hardest hit process: 2703
Number of processes hit: 33


_________________________________________________________________________________________________________
PER CPU DATA
_________________________________________________________________________________________________________
CPU 0 Interrupt cycle time (s): 511,707378
CPU 0 ISR highest execution time (µs): 29,8750
CPU 0 ISR total execution time (s): 5,200013
CPU 0 ISR count: 10477016
CPU 0 DPC highest execution time (µs): 3987,6910
CPU 0 DPC total execution time (s): 169,231987
CPU 0 DPC count: 32108623
_________________________________________________________________________________________________________
CPU 1 Interrupt cycle time (s): 146,227763
CPU 1 ISR highest execution time (µs): 13,9870
CPU 1 ISR total execution time (s): 0,003289
CPU 1 ISR count: 5527
CPU 1 DPC highest execution time (µs): 520,9010
CPU 1 DPC total execution time (s): 0,730276
CPU 1 DPC count: 161919
_________________________________________________________________________________________________________
CPU 2 Interrupt cycle time (s): 143,677411
CPU 2 ISR highest execution time (µs): 0,0
CPU 2 ISR total execution time (s): 0,0
CPU 2 ISR count: 0
CPU 2 DPC highest execution time (µs): 206,1870
CPU 2 DPC total execution time (s): 4,861081
CPU 2 DPC count: 3272533
_________________________________________________________________________________________________________
CPU 3 Interrupt cycle time (s): 131,303771
CPU 3 ISR highest execution time (µs): 0,0
CPU 3 ISR total execution time (s): 0,0
CPU 3 ISR count: 0
CPU 3 DPC highest execution time (µs): 254,3320
CPU 3 DPC total execution time (s): 0,172236
CPU 3 DPC count: 86345
_________________________________________________________________________________________________________
CPU 4 Interrupt cycle time (s): 127,127526
CPU 4 ISR highest execution time (µs): 0,0
CPU 4 ISR total execution time (s): 0,0
CPU 4 ISR count: 0
CPU 4 DPC highest execution time (µs): 117,6730
CPU 4 DPC total execution time (s): 3,422245
CPU 4 DPC count: 2598074
_________________________________________________________________________________________________________
CPU 5 Interrupt cycle time (s): 133,443718
CPU 5 ISR highest execution time (µs): 0,0
CPU 5 ISR total execution time (s): 0,0
CPU 5 ISR count: 0
CPU 5 DPC highest execution time (µs): 176,8640
CPU 5 DPC total execution time (s): 0,188289
CPU 5 DPC count: 102829
_________________________________________________________________________________________________________
CPU 6 Interrupt cycle time (s): 115,931070
CPU 6 ISR highest execution time (µs): 0,0
CPU 6 ISR total execution time (s): 0,0
CPU 6 ISR count: 0
CPU 6 DPC highest execution time (µs): 45,6640
CPU 6 DPC total execution time (s): 0,079216
CPU 6 DPC count: 17241
_________________________________________________________________________________________________________
CPU 7 Interrupt cycle time (s): 153,209320
CPU 7 ISR highest execution time (µs): 0,0
CPU 7 ISR total execution time (s): 0,0
CPU 7 ISR count: 0
CPU 7 DPC highest execution time (µs): 43,4180
CPU 7 DPC total execution time (s): 0,054474
CPU 7 DPC count: 13225
_________________________________________________________________________________________________________
Old 2 weeks ago
  #2
Lives for gear
 
popmann's Avatar
Are you saying that this has been an issue since you built it? That's what 2015'ish hardware?

Where is your USBC port coming from for the MOTU? the H97 chipset doesn't have one. Do you have it adapted to USB3? Some kind of third party USBC card replacing the Firewire card?

Happens in just Windows audio AND the DAW? What about with the onboard audio? The DAW won't work well at all...but, I'm trying to gauge is it's 100% the interfaces...or just 95%.

And to be perfectly clear: you have the power management on High Performance (or hacked into Ultimate Performance)….yes? That's the only thing that's "necessary" to tweak in Windows 10. Use a real ASIO driver. Put it on high performance. Everything else is fairly nuanced. Like getting the last 5% out of a system...not disruptions in audio. And your buffer is say 512 or 1024--something relaxed?
Old 2 weeks ago
  #3
Here for the gear
 

Quote:
Originally Posted by popmann View Post
Are you saying that this has been an issue since you built it? That's what 2015'ish hardware?

Where is your USBC port coming from for the MOTU? the H97 chipset doesn't have one. Do you have it adapted to USB3? Some kind of third party USBC card replacing the Firewire card?

Happens in just Windows audio AND the DAW? What about with the onboard audio? The DAW won't work well at all...but, I'm trying to gauge is it's 100% the interfaces...or just 95%.

And to be perfectly clear: you have the power management on High Performance (or hacked into Ultimate Performance)….yes? That's the only thing that's "necessary" to tweak in Windows 10. Use a real ASIO driver. Put it on high performance. Everything else is fairly nuanced. Like getting the last 5% out of a system...not disruptions in audio. And your buffer is say 512 or 1024--something relaxed?
Well yes. Its not there all the time, but still annoying. The Motu is plucked into a USB 3 port, though I tried all ports the Mobo has. Windows sound and DAW. Honestly I havent tried the onboard sound card, I will give it a try. Yes I switched to high performance and did also quite a bunch of other tweaks.
Old 2 weeks ago
  #4
Gear Addict
 
Pollo's Avatar
 

Recently I have been looking into a similar problem on my system. Occasional dropouts. Very hard to pinpoint the cause of the problem.

From my experience LatenycMon is a good tool to tell you that there is a problem. But it is NOT a good tool for troubleshooting it. All those measurements it gives you look really nice but they are not reliable. I found this out the hard way. You make tweaks to your system and then you compare the measurments to your previous measurements and determine whether it is better or worse. Sounds simple, right? But if you can't trust the data it becomes totally useless.

What I found out is the LatencyMon is missing data. The more your system struggles the more data it misses.

How do I know this? Simple logic. If my soundcard runs at 48 KHz and a buffersize of 64 samples it needs to generate at least 750 interrupts per second. The souncard is a PCI device so it generates interrupts when data is available. So if LatencyMon gives me wildly varying numbers of interrupts each time and I can hear that there are no dropouts in my audio that can only mean that it is not measuring correctly. You can try this out yourself because LatencyMon allows you to set some buffersizes and filesizes which clearly have an effect on the measurements. All this is not very well explained in the manual.

My advice, if you really want to investigate this seriously, is to download the Windows Performance Toolkit which can give you the same kind of data that LatencyMon gives but then in a reliable way. That is what I did. But then there is still no guarantee that you will find the cause.

The wfd driver by the way is part of the Windows Driver Foundation. It is a set of functions that other drivers can use. So unfortunately it doesn't tell you anything.

Other observation: the one thing that unmistakenly had a benificial effect on my system performance was disabling EIST in the BIOS.
Old 2 weeks ago
  #5
Here for the gear
 

Quote:
Originally Posted by Pollo View Post
Recently I have been looking into a similar problem on my system. Occasional dropouts. Very hard to pinpoint the cause of the problem.

From my experience LatenycMon is a good tool to tell you that there is a problem. But it is NOT a good tool for troubleshooting it. All those measurements it gives you look really nice but they are not reliable. I found this out the hard way. You make tweaks to your system and then you compare the measurments to your previous measurements and determine whether it is better or worse. Sounds simple, right? But if you can't trust the data it becomes totally useless.

What I found out is the LatencyMon is missing data. The more your system struggles the more data it misses.

How do I know this? Simple logic. If my soundcard runs at 48 KHz and a buffersize of 64 samples it needs to generate at least 750 interrupts per second. The souncard is a PCI device so it generates interrupts when data is available. So if LatencyMon gives me wildly varying numbers of interrupts each time and I can hear that there are no dropouts in my audio that can only mean that it is not measuring correctly. You can try this out yourself because LatencyMon allows you to set some buffersizes and filesizes which clearly have an effect on the measurements. All this is not very well explained in the manual.

My advice, if you really want to investigate this seriously, is to download the Windows Performance Toolkit which can give you the same kind of data that LatencyMon gives but then in a reliable way. That is what I did. But then there is still no guarantee that you will find the cause.

The wfd driver by the way is part of the Windows Driver Foundation. It is a set of functions that other drivers can use. So unfortunately it doesn't tell you anything.

Other observation: the one thing that unmistakenly had a benificial effect on my system performance was disabling EIST in the BIOS.
Interesting. I already read that about the wdf. Firewire uses wdf so I thought there was my problem. Seems it doesnt. I already disabled EIST. Seems Im gonna learn to use the Performance Toolkit, thanks for the advice
📝 Reply
Post Reply

Welcome to the Gearslutz Pro Audio Community!

Registration benefits include:
  • The ability to reply to and create new discussions
  • Access to members-only giveaways & competitions
  • Interact with VIP industry experts in our guest Q&As
  • Access to members-only sub forum discussions
  • Access to members-only Chat Room
  • Get INSTANT ACCESS to the world's best private pro audio Classifieds for only USD $20/year
  • Promote your eBay auctions and Reverb.com listings for free
  • Remove this message!
You need an account to post a reply. Create a username and password below and an account will be created and your post entered.


 
 
Slide to join now Processing…
🖨️ Show Printable Version
✉️ Email this Page
🔍 Search thread
♾️ Similar Threads
🎙️ View mentioned gear