Przeszedłeś całą listę. Nic nie działa, temperatury są w porządku, dysk jest szybki, gra siedzi na SSD, a maszyna dalej szarpie. Menedżer zadań pokazuje bezczynny system. Wykres czasu klatki pokazuje spóźnioną klatkę, ale nie mówi nic o tym, dlaczego się spóźniła.
Jest jedna przyczyna, która tłumaczy dokładnie ten kształt, i jest niewidoczna w każdym narzędziu, po które większość ludzi sięga, bo dzieje się pod nimi.
Najpierw uczciwe zdanie. Naprawą sterownika, który trzyma rdzeń, jest ten sterownik, od jego producenta. Rolą w0a jest pomiar, nazwa pliku i naprawianie wartości, które zostawiły starsze narzędzia. Jedyny przełącznik, który w0a kiedyś oferował w pobliżu — kierowanie przerwań urządzenia na wybrane rdzenie — od 8 października 2026 roku działa tylko do odczytu, bo żaden test A/B w grze nie pokazał zyskanej dzięki niemu klatki.
Co się naprawdę dzieje
Urządzenie — karta sieciowa, kontroler dysku, układ dźwiękowy, kontroler USB — potrzebuje uwagi procesora. Zgłasza przerwanie, a Windows natychmiast uruchamia procedurę obsługi przerwania ze sterownika. Ta procedura działa ponad każdym priorytetem wątku, jaki istnieje: nie „wysoki priorytet”, tylko całkowicie poza harmonogramem wątków. Nic innego nie może zostać zaplanowane na tym rdzeniu, dopóki ona nie wróci.
Ponieważ to drogie miejsce, sterowniki powinny robić tam minimum i odkładać resztę do wywołania odroczonego — czyli DPC — które wykonuje się chwilę później, wciąż przed każdym wątkiem na tym rdzeniu.
Kiedy wykonuje się jedno albo drugie, ten rdzeń nic nie rysuje i nie czyta wejścia. Jeśli był na nim twój wątek renderujący, twoja klatka jest spóźniona. Jeśli za nim stał w kolejce raport z twojej myszy, twoje wejście jest spóźnione. I żadne z tych zdarzeń nie pojawia się w menedżerze zadań, bo nie ma procesu, któremu można by je przypisać.
Dlaczego milisekunda to tutaj dużo
Wartym pogoni czyni to arytmetyka:
- Przy odpytywaniu 1000 Hz raport przychodzi co milisekundę. Zatrzymanie na 1 ms kosztuje raport.
- Przy 240 Hz klatka trwa 4,2 ms. Zatrzymanie na 1 ms to mniej więcej jedna czwarta budżetu klatki wydana na nic.
- Od 4 ms w górę maszyna nie utrzyma stabilnego czasu klatki, cokolwiek innego zmienisz — i dlatego ta pozycja stoi przed każdą inną na twojej liście, a nie za nimi.
Mierzenie tego i dwa sposoby, na jakie pomiar zawodzi
Strona Test opóźnień w w0a otwiera sesję śledzenia jądra i zapisuje przez dwanaście sekund prawdziwego ruchu myszą, jak długo każdy sterownik trzymał rdzeń. Potrzebuje uprawnień administratora. Długość omawia Dlaczego test prosi o 12 sekund, a kolory Jak czytać test opóźnień.
Dwa wyniki nie są odpowiedziami i oba są zgłaszane właśnie tak, zamiast być zaokrąglane w dół do „czysto”:
- Sesji nie dało się otworzyć. Sterownik anti-cheata mógł zająć śledzenie jądra dla siebie. Zamknij grę i zmierz ponownie.
- Sesja się otworzyła i nic nie dostarczyła. Żaden działający Windows nie ma zera wykonań sterowników w dwanaście sekund, więc to pomiar, który się nie odbył. Uruchom go jeszcze raz.
Jest trzeci, subtelniejszy: sesja, która zgubiła zdarzenia, mogła całkiem przeoczyć najgorsze wykonanie, więc strona mówi, że ta liczba może nie być prawdziwym maksimum. To ta sama zasada, którą skan przycięć stosuje wszędzie — reguła, która nie mogła się wykonać, liczy się jako niesprawdzona, nigdy jako czysta.
Liczby, dokładnie
| Liczba | Reguła |
|---|---|
| Długość testu | Domyślnie dwanaście sekund: wystarczająco długo, żeby złapać sterownik, który zawodzi raz na sekundę, i wystarczająco krótko, żebyś naprawdę ruszał myszą przez cały ten czas. |
| Wystarczająco danych z myszy | Dwie sekundy własnych raportów urządzenia i nigdy mniej niż 250 próbek; dla myszy 1000 Hz to 2000. Poniżej tego 99. percentyl to druga albo trzecia najgorsza próbka, a nie statystyka. |
| Werdykt dla sterownika | Najgorsze pojedyncze wykonanie sterownika jest oznaczane jako ostrzeżenie od 1 ms i jako krytyczne od 4 ms. To granice, których ta dziedzina używa od dwóch dekad; to konwencja, a nie pomiar, który w0a wykonał na twojej maszynie. |
| Pełny pomiar | Liczby sterowników liczą się jako pełne tylko wtedy, gdy śledzenie jądra się wykonało i jego sesja nie zgubiła żadnych zdarzeń. Licznik, który odmawia odpowiedzi, jest traktowany jak przebieg ze stratami, a nie jak czysty. |
| Dolna granica systemu | 99. percentyl myszy plus połowa okresu odświeżania plus najgorsze wykonanie sterownika — to ostatnie tylko wtedy, gdy śledzenie jądra zostało zmierzone, bo dodanie zera za niezmierzone jądro wypisałoby ładniej wyglądającą liczbę dokładnie wtedy, gdy narzędzie wie najmniej. To dolna granica, nigdy suma: własne próbkowanie wejścia przez grę, jej kolejka renderowania, praca karty graficznej i reakcja matrycy są poza nią. Opóźnienie wejścia, którego nie naprawi żaden program to reszta łańcucha. |
Czytanie listy
Każdy sterownik pojawia się z nazwą pliku, najdłuższym pojedynczym zatrzymaniem, swoim udziałem w mierzonym czasie i liczbą wykonań. Sortuj po najdłuższym zatrzymaniu; to ta liczba kosztuje cię klatkę.
Dwa odczyty, które ludzie biorą źle:
- Bursztynowa linia to nie problem, który musisz naprawić. To kandydat. Bez objawu niczego nie tłumaczy, a mnóstwo zdrowych maszyn nosi jedną taką.
- Długa procedura obsługi przerwania jest gorsza niż długie wywołanie odroczone tej samej długości. W trakcie wywołania odroczonego inne przerwania wciąż mogą być obsługiwane; w trakcie procedury obsługi przerwania na ten rdzeń nie wchodzi już nic. Strona zaznacza to, kiedy najgorszy wynik sterownika przypadł na przerwanie.
Który plik jest który i co zrobić z każdym
Nazwa pliku to cała wskazówka, a o naprawie decyduje rodzina, do której należy:
| Rodzina | Czym jest | Co naprawdę pomaga |
|---|---|---|
| Sieć bezprzewodowa | Sterownik karty Wi-Fi | Sterownik od samego producenta zamiast ogólnego, który dostarcza Windows Update. Kabel usuwa tę linię całkowicie. |
| Sieć przewodowa | Karta sieciowa na płycie albo w slocie | Sterownik producenta płyty. Wyłączenie moderacji przerwań nie leczy tej linii: bez niej pakiety nie są już zbierane w paczki, każdy odebrany pakiet wywołuje własne przerwanie, a sterownik działa nie rzadziej, lecz częściej. Dlatego strona Połączenie nie rusza moderacji przerwań na maszynach z mniej niż sześcioma rdzeniami fizycznymi — zobacz tweaki sieciowe. |
| Pamięć masowa | Kontroler na drodze do twojego dysku | Na NVMe wypróbuj własny sterownik Windows i ten od producenta, i zostaw ten, przy którym test opóźnień pokazuje niższą wartość. Sterownik pamięci masowej od firmy trzeciej warto usunąć. |
| USB | Kontroler hosta | Sterowniki chipsetu i przełożenie myszy do portu na płycie zamiast za hubem. |
| Audio | Kodek i wszystko, co na nim nawarstwione | Sterownik producenta; jeśli zostaje, ogólny sterownik audio Windows zwykle go obniża. Narzędzia RGB i audio działają na tej ścieżce. |
| Ekran | Sterownik karty graficznej | Ze strony samego producenta. Jeśli zaczęło się po aktualizacji, wróć do poprzedniej wersji. |
| Własne komponenty Windows | Czas spędzony w imieniu jakiegoś innego sterownika | Nie ma tu czego „zaktualizować” osobno — naprawienie sterowników powyżej obniża też tę linię. |
| Zarządzanie zasilaniem | Ścieżka, która zmienia taktowanie i stany bezczynności | Podniesienie minimalnego stanu procesora i zmniejszenie głębokości stanów C w firmware skracają ją oba i oba podnoszą pobór mocy na biegu jałowym. To wymiana, a nie naprawa. |
Sterownik filtrujący zasługuje tu na osobną linię. Narzędzia kształtujące ruch i trasujące połączenia przepuszczają każdy pakiet przez własny sterownik, a wielosekundowe szarpnięcia sieci to ich najlepiej znany efekt uboczny; skan przycięć nazywa je, kiedy je znajdzie. To samo dotyczy pakietów makr i narzędzi do podświetlenia, które instalują filtr na ścieżce myszy i klawiatury.
Naprawa i nie-naprawy
Naprawą jest aktualizacja tego jednego sterownika, od producenta sprzętu. Nie całego systemu, nie przez narzędzie do aktualizacji sterowników i nie przez ponowną instalację Windows. Strona podaje nazwę pliku dokładnie po to, żebyś mógł sprawdzić, do którego urządzenia należy.
Czego to nie naprawia i co jest tutaj z tego powodu odrzucane: wymuszanie rozdzielczości timera, wartości zarządzania pamięcią jądra (DisablePagingExecutive, LargeSystemCache) i listy wpisów do rejestru krążące pod słowem „latency”. Żadna z nich nie zmienia tego, jak długo sterownik trzyma rdzeń, bo trzyma go kod tego sterownika. Wyłączanie urządzeń na chybił trafił też nie jest diagnozą — choć wyłączenie jednego urządzenia na próbę, z pomiarem przed i po, to całkiem dobry eksperyment. To samo dotyczy wartości na poziomie urządzenia, które krążą razem z tymi listami: MSISupported przełącza tryb przerwań urządzenia, a ustawiony źle może skończyć się czarnym ekranem, więc w0a nigdy go nie zapisuje, a karta naprawcza kierowania przerwań opisana niżej zostawia go w spokoju.
Dwa ustawienia w pobliżu, których dotyka w0a
Zasada przerwań urządzenia: tylko do odczytu, z kartą naprawczą
Gdzie trzyma ją Windows: osobno dla każdego urządzenia, w HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\<device>\<instance>\Device Parameters\Interrupt Management\Affinity Policy. DevicePolicy (DWORD) wybiera, jak rozmieszczane są przerwania urządzenia; gdy wynosi 4, „wskazane procesory”, AssignmentSetOverride to maska procesorów, z których mogą korzystać.
Wartość domyślna Windows: żadnej z tych dwóch wartości nie ma. Windows sam wtedy wylicza rozmieszczenie, a Microsoft zaleca zasadę domyślną wszędzie tam, gdzie ma zastosowanie.
Co robi w0a: odczytuje te wartości i ich nie zapisuje. Od 8 października 2026 roku kierowania, które kiedyś oferował ze strony Test opóźnień, już nie ma, z trzech powodów: żaden test A/B w grze nie pokazał zyskanej dzięki niemu klatki, Microsoft zaleca rozmieszczenie, które wylicza Windows, a zła maska to urządzenie, które się nie uruchamia.
Droga powrotu: jeśli jakieś narzędzie przypięło przerwania urządzenia i coś się zepsuło — mysz, która się odłącza, „Kod 10” w Menedżerze urządzeń — karta Kierowanie przerwań urządzenia usuwa obie wartości z każdego urządzenia PCI, łącznie z kierowaniem zostawionym przez starsze wersje w0a. Prosi o ponowne uruchomienie tylko wtedy, gdy naprawdę coś usunęła, i zostawia MSISupported w spokoju.
„Pod obciążeniem: kontrola przepływu, moderacja przerwań i łączenie segmentów wyłączone” (strona Połączenie)
Co zapisuje: 0 do słowa kluczowego *FlowControl karty sieciowej, na każdej karcie, która je deklaruje. *InterruptModeration, *RscIPv4 i *RscIPv6 są zapisywane tylko na maszynach z co najmniej sześcioma rdzeniami fizycznymi i tylko na kartach, o których wiadomo, że działają poniżej 2,5 Gbit/s; na tych maszynach pole wyłącza też łączenie segmentów na poziomie stosu sieciowego, chyba że jest już wyłączone.
Dlaczego na mniejszych maszynach moderacja zostaje włączona: gdy moderacja i łączenie są wyłączone, każdy odebrany pakiet staje się osobnym przerwaniem zamiast jednego na okres moderacji, a obciążenie wywołań odroczonych spada na rdzeń, który odbiera. Wyłączenie moderacji nie jest więc sposobem na skrócenie linii sterownika sieci w teście opóźnień: według własnego opisu w0a usuwa ono czekanie od kilkudziesięciu do kilkuset mikrosekund, które pakiet spędza w karcie, aż skończy się zegar paczki, a dodaje przerwanie na każdy pakiet. Jego wpływu na listę sterowników nie zmierzono. Jeśli twoją linią jest sterownik sieci, uruchom test z zastosowanym polem i bez niego.
Co obiecuje samo pole: mikrosekundy, w pingu pod obciążeniem. Jego komunikat mówi, że średni ping się nie zmienia.
Kiedy zaczyna działać: gdy karta uruchomi się ponownie; w0a prosi o ponowne uruchomienie zawsze, gdy coś zapisał.
Droga powrotu: karta Odciążanie sprzętowe karty sieciowej przywraca sprzętowe odciążanie, moderację przerwań, Energy Efficient Ethernet, selektywne wstrzymywanie i bufory odbiorcze do własnych wartości domyślnych sterownika, tak jak sterownik je deklaruje.
Sprawdź sam
Te polecenia tylko czytają. W wierszu polecenia albo w PowerShell:
reg query "HKLM\SYSTEM\CurrentControlSet\Enum\PCI" /s /v DevicePolicy
reg query "HKLM\SYSTEM\CurrentControlSet\Enum\PCI" /s /v AssignmentSetOverride
Odpowiedź, że wyszukiwanie się zakończyło i nie znaleziono żadnych dopasowań (w angielskim Windows End of search: 0 match(es) found.), oznacza, że żadne urządzenie nie ma nadpisania: to wartość domyślna Windows. Dopasowanie jest wypisywane pod kluczem, w którym je znaleziono, a część PCI tej ścieżki wskazuje urządzenie.
W PowerShell, dla karty sieciowej:
Get-NetAdapterAdvancedProperty -Name "*" -RegistryKeyword "*FlowControl","*InterruptModeration","*RscIPv4","*RscIPv6" -AllProperties
To polecenie wypisuje bieżące ustawienie każdej karty dla czterech słów kluczowych, które może zapisać pole ze strony Połączenie. Karta, która nie pojawia się przy danym słowie kluczowym, go nie deklaruje, a pole niczego tam nie zapisuje.
Potem zmierz jeszcze raz
Ta sama metoda, te same dwanaście sekund, ta sama maszyna. Strona porównuje z twoim poprzednim przebiegiem i zmianę poniżej 5% zgłasza jako brak zmiany, a nie jako poprawę, bo dwa przebiegi na nietkniętej maszynie i tak różnią się o kilka procent — ręka za każdym razem porusza się inaczej.
Jeśli linia sterownika spadła, a przycięcia nie, dowiedziałeś się czegoś prawdziwego: to nie była twoja przyczyna, a resztę listy ma Dlaczego gry przycinają na Windows 11. Jeśli masz liczbę klatek, która spada i zostaje na dole, a nie szarpnięcie, to nigdy nie było to — jej listą są Nagłe spadki FPS w grach.
Powiązane
- Jak czytać test opóźnień
- Dlaczego gry przycinają na Windows 11
- Jak zmniejszyć input lag: co program może skrócić, a czego nie
- Czego szuka skan przycięć
- Dlaczego test prosi o 12 sekund ruchu myszą
- Tweaki sieciowe
Grasz w CS2? Które opcje uruchamiania jeszcze coś robią i gdzie w menu wideo naprawdę leżą klatki: Mało FPS, spadki FPS i przycięcia w CS2: zmierzona lista kontrolna
Czy ta strona pomogła?
Czego zabrakło albo co nie zadziałało? Czytamy każdą taką wiadomość.
Jeśli ta strona nie rozwiązała problemu, napisz do nas — podaj, który artykuł czytasz, a poprawimy ten artykuł.