Dlaczego 300 FPS też potrafi ciąć
FPS to średnia z sekundy. Przy 300 FPS klatka trwa około 3,3 ms. Jeśli jedna klatka w tej sekundzie zajmie 30 ms, licznik dalej pokaże około 290, a na ekranie było szarpnięcie. Dlatego zamiast na FPS patrz na czas klatki, czyli na to, ile trwała każda klatka z osobna.
Dobrze opisują to dwa odczyty. 1% low to prędkość najwolniejszego 1% klatek: spada, gdy przycięć przybywa, nawet jeśli średnia stoi w miejscu. Na wykresie czasu klatki każde przycięcie widać jako skok. Szczegóły są w poradniku co znaczy 1% low i 0,1% low.
Przycięcia w pierwszych minutach meczu albo tuż po wczytaniu mapy to głównie kompilacja shaderów i doczytywanie zasobów. Mijają same. Nie czyść cache shaderów, żeby się ich pozbyć: wtedy wracają.
Krok 1: nagraj mecz w OakmontGamer
OakmontGamer nagrywa każdą klatkę gry z zewnątrz, niczego do niej nie wstrzykując. Niczego nie trzeba włączać ręcznie: otwórz aplikację, uruchom CS2 i graj.
- Pograj dziesięć minut w to, w co zwykle grasz. Serwer deathmatch jest wystarczająco powtarzalny.
- Zamknij grę i otwórz sesję: Gry, CS2, Sesje. Zakładka Przegląd pokazuje średni FPS, 1% low, 0,1% low i liczbę przycięć.
- Otwórz zakładkę Oś czasu. Każde przycięcie to kropka na linii czasu klatki. Zanotuj, kiedy się pojawiają: równomiernie, w walce, po alt-tabie, tylko w pierwszych minutach.
- Sesja zostaje na liście. Każdy kolejny krok porównujesz z nią w zakładce Porównanie.
Przycięcie to tutaj klatka co najmniej trzy razy dłuższa od typowej i dłuższa o co najmniej 12 ms, czyli taka, którą czuć. Krótsze zacięcia są liczone osobno jako mikroprzycięcia.
Krok 2: sprawdź, czy sterownik nie trzyma CPU
Sterowniki wykonują krótkie procedury (DPC i przerwania), których nic nie może przerwać. Gdy któraś trwa za długo, gra czeka i klatka wychodzi spóźniona. Takiego przycięcia nie naprawi żadne ustawienie grafiki.
- Otwórz w sesji zakładkę Diagnoza. Sterownik, który trzymał CPU tuż przed przycięciami, jest na liście przyczyn razem ze swoim udziałem. Winę dostaje tylko wywołanie trwające milisekundę lub dłużej.
- Pełną listę znajdziesz pod Szczegółami technicznymi na dole zakładki. Sekcja Sterowniki (DPC / ISR) pokazuje każdy sterownik z jego najdłuższym wywołaniem w sesji.
- Nazwa sterownika mówi, gdzie szukać:
ndis.sysitcpip.systo sieć,nvlddmkm.systo sterownik grafiki NVIDIA,storport.systo dyski,usbxhci.systo USB.
Co dalej, zależy od tego, który to sterownik. Sieć: zaktualizuj sterownik, a potem wyłącz moderację przerwań i opcje oszczędzania energii karty; moderację przerwań wyłącza przycisk w wierszu Diagnozy. USB: odepnij urządzenia, których nie używasz, albo obniż bardzo wysoką częstotliwość odpytywania. Dźwięk: ustaw urządzenie na 48 kHz i wyłącz ulepszenia. Grafika: zaktualizuj sterownik.
Krok 3: poszukaj programu, który zabiera CPU
Ta sama zakładka Diagnoza wskazuje program, który był zajęty w sekundach przycięć: Program w tle, z nazwą pliku exe. Typowi podejrzani to indeksowanie wyszukiwania, updatery, przeglądarka z filmem, programy do RGB i peryferiów oraz narzędzia do nagrywania.
Zamknij taki program i nagraj kolejny mecz. Jeśli jest Ci potrzebny, użyj poprawki z jego wiersza: aplikacja przełącza go w Eco albo zamraża na czas gry. Potem zestaw obie sesje w zakładce Porównanie.
Krok 4: wyklucz brak pamięci
Kiedy kończy się RAM, Windows przenosi pamięć do pliku stronicowania i czyta ją z dysku, gdy gra jej potrzebuje. Każdy taki odczyt to twardy błąd strony, a ich seria to przycięcie.
Diagnoza pokazuje to jako Za mało pamięci, gdy z przycięciami pokrywały się twarde błędy strony albo prawie pełny RAM. Brak takiego wiersza oznacza, że w tej sesji z pamięcią było w porządku.
Jeśli taki wiersz jest, przed grą zamknij przeglądarkę i launchery, a w aplikacji otwórz Komputer, Plik stronicowania: powinien to być jeden plik na szybkim dysku, a nie mały i sztywny.
Krok 5: odróżnij lagi sieci od przycięć
Cofanie postaci, teleportujący się gracze i strzały zaliczane z opóźnieniem wyglądają jak przycięcia, ale nimi nie są. Test jest prosty: w chwili szarpnięcia linia czasu klatki na Osi czasu jest płaska, a skacze ping albo utrata pakietów. Diagnoza pokazuje to jako Lagi sieci, a jeśli jakiś program pobierał wtedy lub wysyłał dane, Oś czasu podaje jego nazwę.
Jeśli tak jest u Ciebie, klatki są niewinne, a problemem jest łącze. Zajmuje się tym poradnik skoki pingu i bufferbloat.
Gdy nic nie pasuje: limit CPU
CS2 mocno obciąża procesor. Jeśli przycięcia nie pokrywają się ani ze sterownikiem, ani z programem, ani z brakiem pamięci, gra często po prostu czeka na CPU, a Diagnoza mówi to wprost: CPU na limicie. Obniżenie grafiki niewiele wtedy zmieni, bo to nie GPU było limitem. Pomaga mniejsza konkurencja o procesor: mniej programów w tle i uporządkowane opcje uruchamiania.
Warto znać jeszcze dwa wzorce. Długie klatki, które trwają dokładnie dwa razy dłużej niż zwykłe, to VSync, który nie zdążył na swoje okno: wyłącz VSync i ustaw limit FPS. A gra rysowana przez kompozytor pulpitu dostaje klatki z opóźnieniem: zobacz optymalizacje pełnego ekranu.
Co OakmontGamer obserwuje, gdy grasz
Wszystkie pięć kroków czyta jedno nagranie. W trakcie gry aplikacja zbiera każdą klatkę, a w tych samych sekundach obserwuje wywołania sterowników, programy w tle, pamięć i ping. Po meczu zakładka Diagnoza w sesji składa to w całość.
- Liczy przycięcia i pomija te z rozgrzewki shaderów i wczytywania: pierwsze 2 minuty oraz 30 sekund po ekranie ładowania.
- Oznacza brak pamięci, lagi sieci, przegrzane GPU, spóźniony VSync i grę rysowaną przez kompozytor.
- Mówi, kiedy CS2 głównie czekał na CPU, żeby nie obniżać grafiki na darmo.

Każda przyczyna ma poprawkę w tym samym wierszu. Nic nie jest wstrzykiwane do gry, a każda zmiana aplikacji jest cofana, gdy gra się zamyka. Nie wszystko da się wyjaśnić: przycięcie, które z niczym się nie pokrywa, to zwykle sama gra, i aplikacja tak właśnie to opisuje.
Jak działa diagnoza przycięć
