Any IT/Computer geniuses WRT latency?

What's Hot

Sorry to ask for help, but I'm at my witt's end at the moment. I have a HP i5 laptop with 8GB of RAM. running Ableton 10 on W7 I am having horrendous drop outs and pops using ableton 10 at anything under 1024 buffer. Even with only 1 or 2 tracks

I've:

Updated the BIOS

Switched all power saving modes to OFF/set everything to 100%
Updated my network drivers
Updated the Intel graphics card driver
Disabled USB 3.0
Switched off non essential applications

Wha I couldn't do was find an updated USB.Sys 2.0 driver. I found the hotfix, but it's non longer available for W7

My report is below. Important to note that the ndis.sys execution time has worsened after updating my graphics driver from the intel site.

Any help would be so appreciated, and I can't explain it.

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 0:00:47 (h:mm:ss) on all processors.

_____________________________________________________________________________

SYSTEM INFORMATION

_________________________________________________________________________________________________________

Computer name: USER-PC

OS version: Windows 7 Service Pack 1, 6.1, build: 7601 (x64)

Hardware: HP 350 G1, Hewlett-Packard, 21B7

CPU: GenuineIntel Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz

Logical processors: 4

Processor groups: 1

RAM: 8108 MB total

____________________________________________________________________

CPU SPEED

_________________________________________________________________________________________________________

Reported CPU speed: 2394 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.

 ____________________________________________


0reaction image LOL 0reaction image Wow! 0reaction image Wisdom

Comments

  • gusman2xgusman2x Frets: 921

    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): 5201.896357

    Average measured interrupt to process latency (µs): 4.028828

     

    Highest measured interrupt to DPC latency (µs): 4564.274895

    Average measured interrupt to DPC latency (µs): 1.269015

    _____________________

    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): 603.929825

    Driver with highest ISR routine execution time: USBPORT.SYS - USB 1.1 & 2.0 Port Driver, Microsoft Corporation

     

    Highest reported total ISR routine time (%): 0.050304

    Driver with highest ISR total time: USBPORT.SYS - USB 1.1 & 2.0 Port Driver, Microsoft Corporation

     

    Total time spent in ISRs (%) 0.105698

     

    ISR count (execution time <250 µs): 53584

    ISR count (execution time 250-500 µs): 0

    ISR count (execution time 500-999 µs): 4

    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): 4604.880952

    Driver with highest DPC routine execution time: ndis.sys - NDIS 6.20 driver, Microsoft Corporation

     

    Highest reported total DPC routine time (%): 0.527662

    Driver with highest DPC total execution time: USBPORT.SYS - USB 1.1 & 2.0 Port Driver, Microsoft Corporation

     

    Total time spent in DPCs (%) 0.750877

     

    DPC count (execution time <250 µs): 277118

    DPC count (execution time 250-500 µs): 0

    DPC count (execution time 500-999 µs): 108

    DPC count (execution time 1000-1999 µs): 35

    DPC count (execution time 2000-3999 µs): 5

    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.

     

     

    Process with highest pagefault count: none

     

    Total number of hard pagefaults 0

    Hard pagefault count of hardest hit process: 0

    Number of processes hit: 0

     

     

    _________________________________________________________________________________________________________

    PER CPU DATA

    _________________________________________________________________________________________________________

    CPU 0 Interrupt cycle time (s): 1.250580

    CPU 0 ISR highest execution time (µs): 603.929825

    CPU 0 ISR total execution time (s): 0.108518

    CPU 0 ISR count: 44812

    CPU 0 DPC highest execution time (µs): 4604.880952

    CPU 0 DPC total execution time (s): 0.612322

    CPU 0 DPC count: 231877

    _________________________________________________________________________________________________________

    CPU 1 Interrupt cycle time (s): 3.037863

    CPU 1 ISR highest execution time (µs): 396.389307

    CPU 1 ISR total execution time (s): 0.093107

    CPU 1 ISR count: 8776

    CPU 1 DPC highest execution time (µs): 2003.164160

    CPU 1 DPC total execution time (s): 0.743105

    CPU 1 DPC count: 41838

    _________________________________________________________________________________________________________

    CPU 2 Interrupt cycle time (s): 0.685950

    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): 979.216374

    CPU 2 DPC total execution time (s): 0.044360

    CPU 2 DPC count: 1952

    _________________________________________________________________________________________________________

    CPU 3 Interrupt cycle time (s): 0.788879

    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): 118.280702

    CPU 3 DPC total execution time (s): 0.032555

    CPU 3 DPC count: 1603

    _________________________________________________________________________________________________________


     

    https://i.imgur.com/wh6RatN.jpg

    https://i.imgur.com/eaN5u4r.jpg

    https://i.imgur.com/XHCTmki.jpg

    0reaction image LOL 0reaction image Wow! 0reaction image Wisdom
  • SnagsSnags Frets: 5358
    Can't see any benefit to disabling USB3 etc.

    Are the audio drivers bang up to date?

    In your position I would be tempted to:

    - reset BIOS to defaults
    - set power options to "High Performance" power plan (effectively max's everything out)
    - purge your temp files (Start > Run "%temp%", Ctrl+A, Shift+Delete - keep shift held down until the "Do you want to permanently remove" prompt comes up, say Yes. When you get the "Can't delete it's in use" choose "Do same for all" and "Skip". If you get any "This is shared are you sure?" do Continue)
    - disconnect any peripheral devices you don't actively need
    - temporarily disable your antivirus (which one are you using?)
    - quit or pause as many background apps as you can (Dropbox, OneDrive, crappy print monitors etc.) that sit in the system tray
    - run up Resource Monitor (available from Task Manager > Performance or direct from the menu if you search)

    Then start Ableton and do the thing you do that upsets it. Watch Resource Monitor, especially the Disk section for "Highest Active Time" - on a Windows 7 machine with an HDD rather than an SDD at this vintage chances are you're getting bad disk queuing which will bottleneck the system. If the queue on your drive is consistently above 1, or if Highest Active Time (the blue one) is spending long at 100%, you've got an I/O bottleneck. Easiest solution short of a new laptop is to fit an SSD.
    0reaction image LOL 0reaction image Wow! 1reaction image Wisdom
  • gusman2xgusman2x Frets: 921
    Thanks @Snags will give this a go tonight.
    0reaction image LOL 0reaction image Wow! 0reaction image Wisdom
  • SnagsSnags Frets: 5358
    The theory behind resetting the BIOS to defaults and using the pre-configured "High performance" plan is that it gives you a known starting point, having previously done loads of tweaks. You can then start making adjustments from there again, but it sounds like you need to undo a bunch of stuff and then move forwards again.

    However, my gut feel with Win 7 at this point is going to be a disk bottleneck.
    0reaction image LOL 0reaction image Wow! 0reaction image Wisdom
  • YearofthegoatYearofthegoat Frets: 31
    edited July 2019
    I went through this pain with my laptop.

    The big breakthrough came with setting as many hardware drivers to use Message Signaled Interrupt (MSI) as possible.

    To check what's using what, go to Device Manager and select View, Resources by Type, expand the Interrupt request (IRQ) tree and scroll down towards the bottom. You're looking for (PCI) devices.

    After the '(PCI) 0x.......' part there is a number in brackets. If this number is negative, it means the device is using MSI (which is good). If it's positive, you might try changing it to negative and see if it improves your LatencyMon result - and the pops and crackles etc. of course.

    Keep device manager open and run Regedit.

    In Device Manager, double-click one of the devices with the positive number, this will open up that device's properties. Click the Details tab, then drop down the Property list until you see Device Instance Path. The value field is what you need to look for in Regedit.

    So, in Regedit, navigate through:
    HKEY_LOCAL_MACHINE
    SYSTEM
    CurrentControlSet
    Enum
    PCI

    This will give you a list of PCI devices. Find the one you're looking for in the list. Navigate through the entries (click the little triangle) until you reach Device Parameters\Interrupt Management and - if it's there - open up MessageSignaledInterruptProperties.

    The MSISupported entry (REG_DWORD) tells Windows whether to use MSI or not for that device. 1 means use it, 0 means don't use MSI.

    BEFORE YOU CHANGE THE ENTRY: set a restore point (Control Panel, System Protection ....) so you can get back your system if it hangs / crashes / doesn't work. Once you've changed it, reboot, and test your latency again.

    If the MSI entry isn't present, it's because either the hardware or the hardware driver doesn't support MSI. For example, my bog standard SATA controller driver didn't support MSI, but after I installed the Intel Rapid Storage driver, I could use that for MSI.

    I managed to get all bar the PCI Express and PCI Bridge drivers to use MSI and my latency was finally okay for audio needs (live recording in my case).

    Hope that helps someone.




    0reaction image LOL 0reaction image Wow! 2reaction image Wisdom
  • digitalscreamdigitalscream Frets: 26560
    This ^^ is the right answer. Even with all the technological wizardry available, it almost always goes back to interrupts (or IRQs), which is what we constantly had to deal with back in the days of 086-486 PCs and DOS. Too much interrupt contention/collision, and it doesn't matter how powerful your CPU is.

    Believe it or not, that was part of the problem with the BRIX PC I had for my Helix Native project. That and the fact that it wouldn't reliably boot, but when it did...CPU usage was through the roof for even simple tasks, because it spent most of its time waiting on device contention.
    <space for hire>
    0reaction image LOL 0reaction image Wow! 0reaction image Wisdom
  • Would just add that, of the BIOS tweaks, the one that made the biggest difference on my laptop was disabling Hardware Power Management - this affects ACPI.SYS. This was the big dog in the LatencyMon results after I'd disabled WiFi (ndis.sys).

    If you can't live without networking, one thing you can do is set your network card driver to offload all that it can. This is all the Large Send Offload, TCPIP Offload etc. settings. Set them to Enabled; this makes the card do the work, not the CPU (which you want for your audio).
    0reaction image LOL 0reaction image Wow! 0reaction image Wisdom
  • gusman2xgusman2x Frets: 921
    That’s an amazing post, thank you @Yearofthegoat ;

    In the end I got a new laptop. However, I may go back and try this with my old laptop so I can have an effective backup 

    0reaction image LOL 0reaction image Wow! 0reaction image Wisdom
  • No worries. Do make sure that, if possible, you're using native ASIO drivers (not ASIO for All, although that can be a good fall-back, plus it will let you use two audio interfaces at the same time if you have the need) for your audio interface if you use one.

    My Zoom U44 gets me 64samples / 2ms / 8ms round-trip, which is great. My GT-100 - in audio interface mode - goes down to 48samples. Both of these are great for recording, in fact I could probably up the buffer a bit to spare the CPU.

    Would add that these are both relatively bargain basement audio interfaces. The RME et al stuff would probably do this no problem. But, not as good if Windows isn't optimised, no matter what the soundcard.


    0reaction image LOL 0reaction image Wow! 0reaction image Wisdom
Sign In or Register to comment.