Ik gebruik mijn pc als digital audio workstation (DAW) en om live-opnames te maken. Sinds de upgrade naar Windows 10 versie 1903 treden er haperingen in de opnames op. De softwaretool LatencyMon meldt een hoge latentie door Deferred Procedure Calls (DPC’s). Hoe kom ik daar vanaf?
Wij kennen hier geen algemene oplossing voor, maar alleen tips die helaas niet bij elk systeem werken. Allerlei eigenschappen van talloze hardwareonderdelen en hun drivers, het bios, individuele instellingen in de bios-setup en in Windows kunnen namelijk een effect hebben op de DPC-latentie. Daardoor is het lastig om de exacte oorzaak voor de lange DPC-latenties te vinden en dan ook nog te verhelpen – wat in sommige gevallen zelfs onmogelijk is.
Als een periferie-apparaat zoals het toetsenbord of een usb-audioapparaat een interrupt genereert, dan verwerkt de processor de bijbehorende zogenaamde ‘procedure call’ niet direct, omdat deze ook nog honderden andere threads moet verwerken. De accumulerende procedure calls worden daarom met een zekere vertraging achterelkaar verwerkt (to defer: uitstellen). Zolang de latentie daarbij onder enkele milliseconden blijft, heb je bij het verwerken van audiogegevens er nauwelijks last van.
Latentie meten
De tool LatencyMon meet de DPC-latentie over een bepaalde tijdsduur en geeft vervolgens de maximale waarden weer in microseconden (1 microseconde = 1000 milliseconden). De tool leidt daaruit af hoe groot de kans is dat er haperingen zullen optreden. De oudere DPC Latency Checker werkt onder Windows 10 niet meer.
De DPC-latentie groeit wanneer andere draaiende processen de processor zwaar belasten, als het werkgeheugen vol raakt waardoor het systeem gegevens naar de harde schijf schrijft, als er problemen met drivers zijn of wanneer de processor met vertraging uit de slaaptoestand ontwaakt, om maar enkele oorzaken te noemen.
LatencyMon geeft aanwijzingen voor problematische drivers maar die kunnen je ook op het verkeerde pad brengen. Bij veel laptops treden bijvoorbeeld grotere vertragingen bij acpi.sys op. Dit is echter ook nodig, omdat de ACPI-driver het energiebeheer aanstuurt om de accuduur te verlengen.
Latentie inkorten
Als je de maximale DPC-latentie wilt inkorten, moet je wijzigingen in stappen toepassen. Sluit allereerst alle programma’s behalve het programma waarmee je de opnames maakt. Verwijder alle overbodige software. Zoek naar driverupdates voor met name de geluidskaart/audiochip, grafische kaart en alle usb-apparaten. Verwijder zoveel mogelijk usb-apparaten en -hubs. Probeer een andere netwerkverbinding, schakel overbodige (virtuele) netwerkadapters (wifi, bluetooth) uit door ze met een rechter muisklik via ‘Instellingen wijzigen’ te deactiveren. Verwijder onnodige PCI- en PCIe-kaarten. Gebruik bij wijze van test een andere usb-geluidsadapter – eenvoudige modellen zijn al verkrijgbaar voor minder dan 10 euro.
Bij sommige systemen kan het ook helpen als je bij het energiebeheer het schema ‘Hoge prestaties’ inschakelt. Daardoor kan wel het energieverbruik stijgen, waardoor de ventilators meer geluid produceren. Bij een laptop zal met dit schema de accuduur korter worden. Als je een laptop gebruikt, kun je kijken of het iets uitmaakt als je de voeding aansluit of juist loskoppelt. Zonder voeding schakelen laptops vaak extra functies in om stroom te besparen.
Installeer een nieuwe BIOS-versie, indien deze beschikbaar is. Je kunt bij wijze van test in de BIOS-setup stroombesparende functies zoals PCI Express Active Power State Management (PCIe ASPM), SATA Link Power Management (LPM) en diepe C-states (C3, C6 …) van de cpu uitschakelen. Let wel op, want het idle energieverbriuik stijgt daardoor aanzienlijk en bij sommige systemen werken de turbo-modi van de cpu niet meer. Dat kan dan contraproductief zijn omdat de DPC-latentie daardoor juist weer kan stijgen.