Oakmont GamingPoradniki

Opóźnienia DPC znajdź sterownik, który stoi za przycięciami

Gra potrafi przycinać na szybkim komputerze, bo jeden sterownik trzyma procesor dla siebie o milisekundę za długo. To właśnie opóźnienie DPC (DPC latency). Nie widać go w FPS ani w żadnym ustawieniu grafiki, a winowajca ma nazwę, którą da się znaleźć.

/ 4 min czytania

OakmontGamer śledzi wywołania sterowników w każdej sesji i wskazuje sterownik, który trzymał CPU tuż przed przycięciami. Zobacz, co robi aplikacja

Cena na pierwszy miesiąc14,99 EUR29,99 EUR

Pobierz ze sklepuMicrosoft Store

Czym jest DPC

Gdy urządzenie potrzebuje uwagi, na przykład przychodzi pakiet z sieci albo opróżnia się bufor dźwięku, jego sterownik wykonuje procedurę obsługi przerwania (ISR). Microsoft wymaga, żeby była bardzo krótka, więc dłuższa praca trafia do kolejki jako odroczone wywołanie procedury (DPC) i wykonuje się zaraz potem, przed zwykłymi programami.

W trakcie DPC na tym rdzeniu procesora nie działa nic innego, gra też nie. Według wytycznych Microsoftu dla sterowników typowe DPC nie powinno trwać dłużej niż 100 mikrosekund, a ISR dłużej niż 25. Sterownik, który zajmuje milisekundę lub więcej, trzyma grę na tyle długo, że klatka wychodzi spóźniona, a w tej samej chwili może zatrzeszczeć dźwięk.

Objawy

  • Przycięcia, których nie zmienia żadne ustawienie grafiki i które pojawiają się przy każdej liczbie klatek.
  • Trzaski albo pyknięcia w dźwięku, czasem w tej samej chwili co przycięcie.
  • Mysz, która co jakiś czas przeskakuje.
  • Gorzej, gdy pracuje konkretne urządzenie: pobieranie przez Wi-Fi, słuchawki na USB, dysk zewnętrzny.

Krok 1: znajdź sterownik

Wskazać go potrafią trzy narzędzia. Mierzą to samo, więc użyj tego, które odpowiada na Twoje pytanie.

  • OakmontGamer śledzi wywołania sterowników w trakcie gry i zestawia je z przycięciami. Zakładka Diagnoza w sesji wskazuje sterownik, który za nimi stał, a Szczegóły techniczne, Sterowniki (DPC / ISR) pokazują każdy sterownik z jego najdłuższym wywołaniem. Do śledzenia jądra aplikacja musi działać jako administrator.
  • LatencyMon od Resplendence mierzy czasy ISR i DPC oraz twarde błędy strony na bezczynnym albo obciążonym komputerze i wskazuje najgorszy sterownik. Nie wie jednak, kiedy gra przycięła.
  • Windows Performance Recorder i Analyzer od Microsoftu to oficjalne narzędzia. Wykres DPC/ISR pokazuje każde wywołanie według modułu, ale trzeba się go trochę nauczyć.

Krok 2: przeczytaj nazwę sterownika

SterownikCo to jestCo sprawdzić najpierw
ndis.sys, tcpip.sys, sterownik Twojej karty sieciowejSiećZaktualizuj sterownik karty, potem zobacz Krok 3.
nvlddmkm.sysGrafika NVIDIAZaktualizuj sterownik; jeśli problem zaczął się po aktualizacji, cofnij się o jedną wersję.
amdkmdag.sys, atikmdag.sysGrafika AMDZaktualizuj sterownik albo cofnij się o jedną wersję.
storport.sys, stornvme.sysDyskiZaktualizuj sterowniki chipsetu i dysków; sprawdź, co czyta dysk w trakcie gry.
usbxhci.sys, usbhub3.sysUSBOdłącz urządzenia, których nie potrzebujesz; obniż bardzo wysoką częstotliwość odpytywania myszy.
portcls.sys, HDAudBus.sysDźwiękUstaw urządzenie na 48 kHz i wyłącz ulepszenia dźwięku.
ACPI.sysZasilanie i firmwareZaktualizuj BIOS; wypróbuj plan zasilania Wysoka wydajność.

wdf01000.sys to framework, na którym zbudowano wiele sterowników, więc sam w sobie mówi niewiele. Sprawdź, które urządzenie było zajęte w tym samym czasie.

Krok 3: karty sieciowe

Sterowniki sieciowe to najczęstsze źródło DPC w grach, bo mecz zajmuje kartę sieciową przez cały czas. Znaczenie mają dwa ustawienia karty, oba w Menedżerze urządzeń, we Właściwościach karty, na zakładce Zaawansowane.

  • Interrupt Moderation (moderacja przerwań). Łączy przerwania w paczki, żeby oszczędzić czas procesora. Przewodnik Microsoftu po strojeniu mówi, żeby ją wyłączyć dla najniższych opóźnień, kosztem większego zużycia CPU. Przetestuj oba warianty.
  • Opcje oszczędzania energii karty. Ich nazwy zależą od producenta; wyłączenie ich sprawia, że karta nie budzi się powoli.

Jedna popularna rada jest błędna dla kart Wi-Fi Intela: Intel pisze, że pole "Zezwalaj komputerowi na wyłączanie tego urządzenia w celu oszczędzania energii" działa tylko przy uśpieniu i hibernacji, nie ma wpływu na zarządzanie energią Wi-Fi i powinno zostać zaznaczone.

Krok 4: sprawdź, czy to pomogło

Po każdej zmianie zagraj tę samą scenę i porównaj sesje: najdłuższe wywołanie sterownika, liczbę przycięć i 1% low. Poradnik jak mierzyć 1% low pokazuje, jak odróżnić prawdziwą zmianę od szumu. Zmieniaj jedną rzecz naraz, bo inaczej nie będzie wiadomo, która z nich pomogła.

Co OakmontGamer robi z opóźnieniami DPC

Każda sesja obok nagrywania klatek prowadzi śledzenie jądra, które zapisuje wywołania sterowników. Po meczu zakładka Diagnoza ocenia, co znalazła.

  • Najdłuższe DPC powyżej 500 mikrosekund jest oznaczane, a powyżej 1000 uznawane za złe. Dla ISR progi to 250 i 500.
  • Gdy długa jest większość wywołań sterowników, a nie jeden skok, aplikacja to mówi i wskazuje sterownik, którego typowe wywołanie jest najdłuższe.
  • Sterownik dostaje winę za przycięcia tylko wtedy, gdy któreś z jego wywołań trwało milisekundę lub dłużej tuż przed nimi.
  • Poprawka jest w tym samym wierszu: dla sterownika sieciowego przycisk, który wyłącza moderację przerwań, oraz oszczędzanie energii karty.
Diagnoza sesji CS2: 41 przycięć, 1,4 na minutę, najgorsza klatka 48 ms, 72% wyjaśnione. Sterownik sieci 44%, program w tle SearchIndexer.exe 21%, za mało pamięci 9%, każda przyczyna z poprawką, oraz informacja, że stream przez OBS Studio kosztował 14% FPS.
Diagnoza jednej sesji, na danych demonstracyjnych aplikacji

Aplikacja nie zaktualizuje sterownika za Ciebie. Mówi, który to, i trzyma sesje, więc widać, czy aktualizacja pomogła.

Jak działa diagnoza przycięć
  • Spadki FPS co kilka sekund

    Szarpnięcie co kilka sekund, jak w zegarku? Stały rytm wskazuje na program, urządzenie albo sterownik, a nie na grę. Jak ustalić, który to.

  • CS2 się tnie

    CS2 przycina mimo wysokiego FPS? Nagraj mecz w OakmontGamer i zobacz, czy przycięcia wywołał sterownik, program w tle, brak pamięci czy sieć.

  • Valorant się tnie

    Valorant przycina albo gubi FPS w trakcie rundy? Kroki zalecane przez Riot, ustawienia obrazu, które mają znaczenie, i jak znaleźć przyczynę szarpnięć.

Wszystkie poradniki

Cena na start

14,99 EUR zamiast 29,99 EUR przez pierwszy miesiąc od premiery.

Cena na pierwszy miesiąc14,99 EUR29,99 EUR

Pobierz ze sklepuMicrosoft Store
  • Jednorazowy zakup, bez abonamentu
  • Kupujesz tutaj, z kontem Oakmont
  • Każda zmiana cofana, gdy gra się zamyka

Czego potrzebuje

  • Windows 10 (wersja 2004 lub nowsza) albo Windows 11, 64-bit
  • Uprawnień administratora, o które prosi przy starcie
  • 100 MB miejsca na dysku

Wszystko, co robi OakmontGamer