Nagłe spadki FPS w grach: jak znaleźć prawdziwą przyczynę

Liczba klatek, która spada i zostaje na dole, to inny problem niż szarpnięcie, a jej przyczyny mieszczą się na krótkiej liście i każdą da się odróżnić, patrząc na dwie albo trzy liczby w trakcie zdarzenia.

Było 140. Teraz jest 70 i zostaje tam, dopóki nie zrestartujesz gry — albo dopóki nie przerwiesz, nie dasz maszynie ostygnąć i nie wrócisz, żeby zastać wszystko w porządku.

To inny problem niż przycięcie, a mylenie tych dwóch kosztuje ludzi tygodnie. Przycięcie to jedna spóźniona klatka w skądinąd zdrowym przebiegu — jeśli masz właśnie to, szukasz strony Dlaczego gry przycinają na Windows 11. Spadek to trwała zmiana tego, ile pracy maszyna wykonuje na sekundę, i prawie wszystko poniżej zapowiada się samo, jeśli w trakcie patrzysz na właściwe liczby.

Najpierw uczciwe zdanie. Nic na tej stronie nie przyspiesza gry. Pokazuje ona trzy ślady, które Windows już przechowuje — resety sterownika ekranu, firmware trzymający taktowanie procesora w dole i limity procesora w twoim aktywnym planie zasilania — które skan przycięć w0a odczytuje za ciebie, oraz to, jak w kilka minut odczytać te same trzy samemu.

Trzy pytania, które dzielą całe pole

Zanim dotkniesz jakiegokolwiek ustawienia, odpowiedz na nie — każde eliminuje mniej więcej połowę listy.

  1. Czy wraca do normy samo? Spadek, który mija po minucie stania w miejscu, wskazuje na temperaturę albo zadanie w tle. Taki, który trzyma się do restartu gry, wskazuje na stan samej gry albo zdarzenie sterownika.
  2. Czy dzieje się w każdej grze, czy w jednej? Każda gra wskazuje na maszynę. Jedna gra wskazuje na ustawienia tej gry, jej aktualizację albo jej serwery.
  3. Czy podąża za czasem sesji, czy za miejscem na mapie? Czas oznacza ciepło i moc. Miejsce oznacza, że scena zrobiła się trudniejsza albo że coś się doczytuje.

Potem patrz na taktowania i temperatury w trakcie, a nie po fakcie. Spadek, którego z perspektywy czasu nie widać, na żywo jest oczywisty: albo taktowanie spadło, albo nie.

Ciepło i sufit mocy

Przyczyna do wykluczenia, gdy „spada po dwudziestu minutach”.

Układy nie przestają działać, kiedy się grzeją — zwalniają. Kiedy zostaje osiągnięta granica temperatury albo limit mocy, taktowanie zostaje ściągnięte w dół i przytrzymane tak długo, jak trwa ten warunek. Decyzję podejmuje samo firmware — własna ochrona płyty albo procesora, nie Windows — więc nic w Menedżerze zadań tego nie wyjaśni. Po stronie karty graficznej sterownik nazwie powód, jeśli zapytasz go pod obciążeniem: ochrona termiczna, limit mocy ustawiony poniżej fabrycznego, program proszący sterownik o zwolnienie albo źle wpięta wtyczka zasilania PCIe.

Jak to sprawdzisz: koreluje z długością sesji i temperaturą w pokoju, a taktowanie jest w trakcie spadku widocznie niższe niż na starcie.

Co robisz: montaż chłodzenia, kurz, przepływ powietrza w obudowie. Potem sprawdź, czy limit mocy nie został celowo obniżony — w firmware, w narzędziu producenta albo w zapisanym profilu karty graficznej.

Maszyna zmieniła stan zasilania

Laptopy robią to najbardziej widocznie: odłącz ładowarkę, a platforma przechodzi na inny zestaw limitów. Zdarza się to też na komputerach stacjonarnych — zmieniony plan zasilania, parkowanie rdzeni albo sufit stanu procesora zostawiony przez starszy skrypt strojący, plan, który wrócił do poprzednich wartości po aktualizacji Windows.

Jak to sprawdzisz: spadek zaczyna się przy zdarzeniu — odłączeniu, klapie, wybudzeniu ze snu, restarcie — a nie przy temperaturze.

Co robisz: przywróć własne wartości domyślne planu, zamiast wymyślać nowe. Strona Fix ma karty dla planu zasilania i dla ustawień zasilania procesora, a każda zapisuje wartość domyślną Windows bezwarunkowo, niezależnie od tego, które narzędzie ją zmieniło.

Reset sterownika

Ekran gaśnie na sekundę albo dwie, wraca i wszystko jest wolniejsze — albo gra się zamknęła. Windows zapisał zawieszenie się sterownika ekranu i jego zresetowanie.

Jak to sprawdzisz: zostawia to wyraźny ślad, a skan przycięć podaje, ile resetów zdarzyło się w ciągu ostatniej doby. Trop zwykle prowadzi do podkręcenia albo do chłodzenia, a nie do oprogramowania.

Co robisz: jeśli masz nałożony offset na pamięć albo na rdzeń, zmniejsz go o połowę i przetestuj jeden mecz; wyzeruj i przetestuj jeszcze raz. Odzyskiwanie po awarii GPU omawia resztę, w tym przywrócenie wartości domyślnej Windows, jeśli starsze narzędzie podniosło limit czasu zamiast naprawić przyczynę.

Trzy ślady, które Windows już przechowuje

1. Reset sterownika ekranu (zdarzenie 4101)

Gdy sterownik ekranu przestaje odpowiadać i zostaje zresetowany, Windows zapisuje zdarzenie 4101 w dzienniku System. Skan przycięć liczy je z ostatnich 24 godzin i zgłasza jako swoje jedyne krytyczne znalezisko; powyżej dziesięciu pisze „10+”, zamiast udawać, że zna dokładną liczbę. Jeśli samego dziennika nie da się odczytać, skan mówi, że sprawdzenie nie mogło się wykonać, zamiast nazywać maszynę czystą.

Żeby sprawdzić samemu, w PowerShell:

Get-WinEvent -LogName System -FilterXPath "*[System[Provider[@Name='Display'] and (EventID=4101) and TimeCreated[timediff(@SystemTime) <= 86400000]]]" -MaxEvents 10

Jeśli takich zdarzeń nie ma, PowerShell odpowiada błędem, że żadne zdarzenia nie pasują do kryteriów wyboru: to jest odpowiedź „żadnego w ciągu ostatniej doby”. Jeśli mówi, że nie może odczytać dziennika, uruchom PowerShell jako administrator i spróbuj ponownie.

Droga powrotu jest ta z sekcji powyżej: zmniejsz albo usuń podkręcenie, sprawdź chłodzenie i Odzyskiwanie po awarii GPU, jeśli starsze narzędzie podniosło limit czasu sterownika. w0a sam tego limitu nie podniesie: dłuższy watchdog tylko wydłuża każde zawieszenie, a wyłączenie odzyskiwania odbiera je całkowicie.

2. Firmware trzymał taktowanie w dole (zdarzenie 37)

Zdarzenie 37 od Microsoft-Windows-Kernel-Processor-Power to zapis firmware'u o tym, że obniżył taktowanie procesora i trzymał je tam całymi sekundami; ile dokładnie, mówi tekst samego zdarzenia. Ma to znaczenie, bo odczyt temperatury pokazuje tylko chwilę, w której patrzysz: maszyna, która dławiła się godzinę temu i od tamtej pory ostygła, wygląda na całkowicie zdrową, a to zdarzenie jest jedynym śladem tamtej godziny, jaki na niej został.

Skan liczy je z ostatnich 24 godzin, tylko przy zasilaniu z sieci — na baterii to samo zdarzenie oznacza, że platforma robi swoje — i ostrzega od trzech w górę. Jedno czy dwa są typowe w pierwszych sekundach po uruchomieniu, kiedy płyta ustala swoje limity mocy.

Get-WinEvent -LogName System -FilterXPath "*[System[Provider[@Name='Microsoft-Windows-Kernel-Processor-Power'] and (EventID=37) and TimeCreated[timediff(@SystemTime) <= 86400000]]]" -MaxEvents 20

Zostaw nazwę dostawcy w filtrze. Inne komponenty używają numeru 37 dla niezwiązanych zdarzeń, a liczba bez dostawcy nic nie znaczy.

Jeśli znajdziesz ciąg takich zdarzeń, przyczyną jest ciepło albo limit mocy, jak w sekcji o cieple powyżej; co odczytywać, omawia Temperatury CPU i GPU podczas gry, a na laptopie ładowarkę i tryby zasilania omawia Laptop do gier wolniejszy, niż powinien.

3. Aktywny plan ogranicza procesor

Nazwa planu to nie to, co działa. Plan wysokiej wydajności z maksymalnym stanem procesora 80% to ograniczona maszyna pod właściwą etykietą. Skan odczytuje cztery ustawienia z sekcji procesora tego planu, który jest aktywny, przy zasilaniu z sieci:

Ustawienie (nazwa, której używa powercfg)Co skan uznaje za ograniczenieCo to znaczy
PERFBOOSTMODE0Turbo wyłączone: procesor nigdy nie wychodzi ponad swoje nominalne taktowanie.
PROCTHROTTLEMAXod 1 do 99Sufit taktowania, w procentach.
IDLEDISABLE1Stany bezczynności wyłączone. w0a liczy to jako limit, a nie ustawienie wydajności, z rozumowania, że bez stanów bezczynności nie zostaje zapas termiczny, w który można by się podbić. To rozumowanie z tego, jak działa boost, a nie pomiar.
CPMINCORESod 1 do 99Parkowanie rdzeni. Nie jest zgłaszane na procesorach hybrydowych, gdzie to jedna z dźwigni, którymi Windows rozmieszcza pracę, ani na procesorach V-Cache z dwoma chipletami, gdzie właśnie tak sterownik trzyma grę na chiplecie z pamięcią podręczną. Zobacz Ryzen X3D, Game Bar i parkowanie rdzeni.

Skan odczytuje je przez interfejs zasilania Windows, a nie przez powercfg, bo w standardowej instalacji dwa z nich są ukryte i powercfg nie wypisuje dla nich w ogóle nic. Jeśli nie da się odczytać żadnego z czterech, skan mówi, że nie mógł zmierzyć, a nie że plan jest czysty.

Żeby sprawdzić samemu, w wierszu polecenia albo w PowerShell:

powercfg /getactivescheme
powercfg /query SCHEME_CURRENT SUB_PROCESSOR PROCTHROTTLEMAX
powercfg /query SCHEME_CURRENT SUB_PROCESSOR IDLEDISABLE
powercfg /query SCHEME_CURRENT SUB_PROCESSOR PERFBOOSTMODE
powercfg /query SCHEME_CURRENT SUB_PROCESSOR CPMINCORES

Jak czytać odpowiedzi:

Droga powrotu, ustawienie po ustawieniu:

Zaczęło się zaraz po aktualizacji

Kryją się tu dwie zupełnie różne rzeczy.

Aktualizacja gry albo sterownika unieważnia pamięć podręczną shaderów, a gra kompiluje je w trakcie grania. Liczba klatek jest naprawdę niższa przez jakiś czas, a potem przestaje być. Mija — to jest jej sygnatura. Przycięcia od kompilacji shaderów tłumaczy dlaczego i dlaczego nie powinieneś robić benchmarku w tym oknie.

Regresja w gałęzi sterownika nie mija. Producenci przyznają się do nich na piśmie — w informacjach o wydaniu pojawiają się wpisy w rodzaju „niższa wydajność w tym tytule na gałęziach nowszych niż X”. Nie cofaj wersji odruchowo: dokończ aktualizacje, zmierz na własnej maszynie i rozważ inną wersję tylko wtedy, gdy potrafisz sam udokumentować regresję.

Coś innego zaczęło działać

Zaplanowane skanowanie, rozpakowujący się instalator aktualizacji, wypakowywane archiwum, eksport wideo. Ustawia się w kolejce po te same rdzenie co gra i — inaczej niż szarpnięcie — nie znika między klatkami; często da się to odtworzyć o określonej porze dnia. Całkowite użycie procesora to zła liczba do patrzenia: pojedynczy wysycony rdzeń na maszynie ośmiordzeniowej daje skromną sumę. Przeczekaj to albo przenieś tę pracę.

Liczba klatek wcale nie spadła

Limit. Jeśli liczba, na której lądujesz, to dokładnie twoja częstotliwość odświeżania, twój limit w grze albo limit po stronie sterownika, nic nie jest wąskim gardłem — jesteś na suficie, o który sam poprosiłeś.

Dynamiczna rozdzielczość. Gra, która sama skaluje rozdzielczość renderowania, żeby utrzymać docelową liczbę klatek, pokazuje stabilny licznik, a rusza się zamiast tego jakość obrazu.

To jedna gra, a licznik wygląda dobrze

Wtedy spadek może w ogóle nie być po twojej stronie. Mecz online psuje się dla wszystkich na serwerze naraz, a kłopoty sieciowe nie są problemem liczby klatek: pakiety przychodzące z opóźnieniem sprawiają, że świat przycina się wokół ciebie, podczas gdy twoja maszyna rysuje dalej na pełnej prędkości. Jeśli czasy klatek są zdrowe przez cały ten moment, przestań patrzeć na komputer.

Jeśli natomiast liczba klatek jest po prostu niższa, niż powinna być, a karta graficzna stoi bezczynnie, to osobna diagnoza z własną listą: GPU nie na 100% przechodzi ją po kolei.

Przebieg, który daje odpowiedź

  1. Zrób pomiar normalnej sesji, zanim cokolwiek jest nie tak, i zachowaj go. Jak czytać wynik benchmarku mówi jak i dlaczego średnia jest tam najmniej użyteczną liczbą.
  2. Kiedy spadek nadejdzie, zanotuj taktowania i temperatury w jego trakcie, a nie po nim.
  3. Zmień jedną rzecz, potem odtwórz tę samą scenę i tę samą długość sesji.
  4. Oceniaj względem własnej zmienności między przebiegami. Jeśli trzy niezmienione przebiegi różnią się bardziej niż różnica, z której się cieszysz, znalazłeś szum.

Czego nie robić ze spadkiem

Nie podnoś limitu czasu odzyskiwania sterownika graficznego, żeby ukryć reset sterownika: zamienia to krótkie odzyskiwanie w dłuższe zamrożenie i usuwa dowody. Nie wyłączaj rdzeni ani wielowątkowości współbieżnej na podstawie poradnika bez źródeł — wymieniłbyś znaną wydajność wielordzeniową na zysk, do którego nikt nie opublikował metody. I nie stosuj wartości zarządzania pamięcią jądra jako naprawy wydajności; ten produkt odmawia ich zapisania, a żaden pomiar ich nie popiera.

To samo dotyczy ustawień zasilania: żadne z czterech powyżej nie jest przełącznikiem „wydajności”, który trzeba przestawić w drugą stronę. Wyłączone turbo trzyma procesor na nominalnym taktowaniu, a własny skan w0a też oznacza wyłączone stany bezczynności jako ograniczenie, gdziekolwiek je znajdzie.

Powiązane

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

w0a nie zmienia żadnego ustawienia Windows, dopóki o to nie poprosisz, a tweak zapamiętuje starą wartość, zanim zapisze nową. Powiadom mnie

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ł.