Licznik pokazuje 200, a gra sprawia wrażenie 90. Nic nie jest zepsute, nic nie zamarza na całą sekundę, ale walka nigdy nie wypada tak, jak obiecuje ta liczba. To odczucie ma swoją nazwę i swój pomiar, a kiedy potrafisz je odczytać, przestajesz gonić niewłaściwą liczbę.
Najpierw uczciwe zdanie. Ta strona tłumaczy pomiar, a nie naprawę. w0a nigdzie nie wypisuje liczby „zyskane FPS”, więc to, czy zmiana pomogła, odczytujesz z własnych przebiegów przed i po, na tle własnego szumu między przebiegami — a każdą liczbę poniżej da się przeliczyć z pliku, który zapisuje strona Benchmark.
Czym naprawdę są te trzy liczby
Ustaw wszystkie klatki z przebiegu od najwolniejszej do najszybszej.
- Średni FPS to średnia z nich wszystkich. To najmniej użyteczna liczba na całej stronie.
- 1% low to najgorszy jeden procent tych klatek. Podaje się go zwykle jako wartość FPS, więc „1% low równe 70” znaczy, że każda z twoich najgorszych klatek trwała mniej więcej tyle, ile klatka w grze chodzącej na 70 FPS.
- 0,1% low to najgorsza jedna na tysiąc — rzadkie, głębokie zdarzenia.
Czas klatki to te same dane w milisekundach, a tę arytmetykę warto zapamiętać, bo dzięki niej reszta tej strony robi się konkretna: 16,7 ms to 60 FPS, 6,9 ms to 144, 4,2 ms to 240.
Przebieg ze średnią 200 i 1% low równym 70 to więc przebieg, w którym typowa klatka trwała około 5 ms, a najgorsza setna około 14 — prawie trzy razy dłużej. A przy 200 FPS jeden procent twoich klatek to dwie klatki na sekundę. Dwa razy na sekundę obraz stoi w miejscu przez czas trzech klatek. To właśnie czujesz, i żadna ilość średniej ci o tym nie powie.
Czytaj różnicę, nie samą liczbę
1% low równe 70 jest znakomite w przebiegu na 90 FPS i niepokojące w przebiegu na 200. Użytecznym odczytem jest relacja między nimi:
| Co widzisz | Co to zwykle znaczy |
|---|---|
| Średnia i 1% low blisko siebie | Równe dostarczanie klatek. To właśnie jest „płynność”, nawet przy skromnej liczbie klatek. |
| 1% low daleko poniżej średniej | Coś przerywa skądinąd zdrowy przebieg — zdarzenie, a nie obciążenie. |
| 0,1% low daleko poniżej 1% low | Rzadkie, głębokie zdarzenia: reset sterownika, burza stronicowania, długi odczyt z dysku. |
| Wszystko nisko naraz | Po prostu prosisz o więcej, niż sprzęt dostarcza. Obniż jakieś ustawienie. |
Ten trzeci wiersz łatwo źle odczytać. Jeśli twoje 1% low jest w porządku, a 0,1% low fatalne, nie masz problemu z równomiernością — masz garść konkretnych zdarzeń, a zdarzenia da się znaleźć.
Dlaczego zły ogon to inny problem niż niska średnia
Niska średnia to pytanie o obciążenie: maszyna robi tyle, ile potrafi, i to za mało. Odpowiedzią jest ustawienie, rozdzielczość albo inny sprzęt.
Zły ogon to pytanie o zdarzenie: maszyna w większości nadąża, a coś ją okresowo zatrzymuje. Odpowiedzią jest znalezienie tej rzeczy. Lista jest krótka i każda pozycja zostawia ślad — sterownik trzymający rdzeń procesora, strony wracające z dysku, odczyt zasobu, zadanie w tle, kompilowany shader, reset sterownika. Dlaczego gry przycinają na Windows 11 przechodzi tę listę przyczyna po przyczynie, a czego szuka skan przycięć to jej wersja automatyczna — oznacza każde znalezisko jako udowodnione, prawdopodobne, kandydata albo niesprawdzone, zamiast wręczać ci wskaźnik pewności, na który sobie nie zapracowała.
Jest też przypadek pośredni: maszyna, która średnio nie jest ograniczona przez kartę graficzną, ale w najbardziej zajętych chwilach uderza w limit. Klatki, które zostają w tyle, to dokładnie te klatki, w których dzieje się najwięcej — czyli walka. Jeśli twoja karta graficzna siedzi wyraźnie poniżej pełnego obłożenia, a lowy cierpią, stroną diagnostyczną jest GPU nie na 100%.
Dyscyplina pomiaru, bez której nic z tego nie ma sensu
Percentyle są bardziej szumne niż średnie, bo liczy się je z mniejszej liczby klatek. Dwa przebiegi tej samej, niezmienionej konfiguracji nie dadzą tego samego 1% low, a różnica między nimi to najmniejsza zmiana, jaką w ogóle jesteś w stanie wykryć.
Dlatego pomiar jest użyteczny tylko obok własnego szumu. Strona Benchmark przed / po wylicza szum pomiarowy z rozrzutu każdego przebiegu minuta po minucie i wypisuje go osobno dla średniej, dla 1% low i dla 0,1% low — i nie ogłosi różnicy, która mieści się w jego środku. To cała dyscyplina zamknięta w jednym zachowaniu: wynik mniejszy niż twoje własne wahanie między przebiegami nie jest wynikiem.
W wersji praktycznej:
- Ta sama gra, ta sama mapa albo powtórka, ta sama długość, te same ustawienia w grze.
- Graj tak samo. Przebieg spędzony na patrzeniu w ścianę i przebieg spędzony w wymianie ognia nie są porównywalne.
- Zmierz niezmienioną konfigurację co najmniej trzy razy, zanim cokolwiek zmienisz, żebyś wiedział, jak wygląda twój własny szum.
- Zmień jedną rzecz. Pięć zmian i jeden pomiar nie mówią nic o tym, która z nich miała znaczenie — a dodanie do siebie pięciu osobno zmierzonych zysków to arytmetyka, a nie pomiar.
- Porównaj lowy. Jak czytać wynik benchmarku omawia, do czego służy każda liczba na tej stronie.
Dokładna arytmetyka, liczba po liczbie
Oto, co strona Benchmark robi z przebiegiem, w kolejności, w jakiej to robi.
| Krok | Reguła | Po co jest |
|---|---|---|
| Które klatki się liczą | Tylko klatki narysowane, gdy gra była oknem na pierwszym planie. Po powrocie gry na pierwszy plan pierwsza sekunda jest pomijana; przed wykrytą utratą fokusu pomijane jest ostatnie 0,2 sekundy. Pominięty czas jest podawany razem z przebiegiem. | Zapis startuje i zatrzymuje się z własnego okna w0a, więc jego brzegi to gra w tle. W jednym zapisanym przebiegu 94 ze 185 klatek stojących za 1% low były właśnie tymi brzegami. Jedna sekunda to wartość wybrana, a nie zmierzona. |
| Zatrzymania | Odstęp między klatkami dłuższy niż 200 ms jest wyłączany ze średniej i z każdego percentyla i liczony osobno. | Powyżej 200 ms to ekran ładowania, alt-tab albo zatrzymanie sterownika, a nie renderowanie. Wliczony do średniej pogrzebałby każdą prawdziwą klatkę. |
| Średni FPS | Liczone klatki podzielone przez czas, jaki zajęły: klatki × 1000 ÷ łączna liczba milisekund. | |
| 1% low | Posortuj liczone czasy klatek. Weź najwolniejszy 1% z nich, zaokrąglając w górę i nigdy mniej niż jedną klatkę, uśrednij te czasy klatek i zamień wynik na FPS: 1000 ÷ ta średnia. | Inną popularną definicję, liczbę klatek przy czasie klatki z 99. percentyla, odrzucono celowo: gdy przycina dokładnie 1% klatek, wypada ona na granicy i podaje prawie tę samą liczbę co średnia. |
| 0,1% low | To samo, z najwolniejszymi 0,1%. | |
| Czas klatki z 99. i 99,9. percentyla | Podawany osobno, w milisekundach. | Dla czytelników i narzędzi, które używają definicji percentylowej. |
| Za krótko, żeby czytać | Poniżej 900 klatek jest ich za mało, żeby percentyl cokolwiek znaczył. | |
| Liczba przycięć | Klatka jest przycięciem, gdy jest dłuższa zarówno od dwukrotności mediany otaczających ją trzech sekund, jak i od tej mediany plus 8 ms, do jednej sekundy. | Trzy sekundy zamiast stałej liczby klatek, żeby reguła znaczyła to samo przy 60 FPS i przy 300. Składnik 8 ms nie pozwala, żeby zwykłe drgania przy wysokiej liczbie klatek liczyły się jako przycięcia. Klatki od 200 ms do jednej sekundy są wyłączone z percentyli, ale tu się liczą: 250-milisekundowa czkawka od kompilacji shaderów to dokładnie to, do czego łapania ta liczba istnieje. |
| Szum pomiarowy | Przebieg jest cięty na bloki po 60 sekund. Każda strona porównania potrzebuje co najmniej dwóch pełnych bloków, inaczej strona pisze „nieporównywalne” zamiast kolorować liczbę. Poziom szumu to 95-procentowy przedział z rozrzutu obu stron między blokami (metoda Welcha), jako procent wartości „przed”. Liczą się tylko pełne bloki bez utraconych zdarzeń, a poziom szumu równy zeru nigdy nie powstaje. | Różnica mieszcząca się w twoim własnym wahaniu między blokami nie jest wynikiem. |
| Serie parowane | Gdy uruchamiasz serię A/B, zmiana jest zgłaszana tylko wtedy, gdy dokładny test rangowanych znaków i 95-procentowy przedział bootstrapowy mediany różnic (10 000 powtórnych prób) oba wykluczają zero, a mediana jest co najmniej tak duża jak najmniejszy efekt, który według pilotażu z 10 przebiegów ta konfiguracja potrafi wykryć. Seria potrzebuje co najmniej 6 par — przy 5 najmniejsza możliwa wartość p wynosi 0,0625 — a zalecane jest 8, w kolejności ABBA. | Jedna para przed i po nie oddzieli zmiany od rozgrzanej karty graficznej albo innego miejsca odrodzenia. |
Sprawdź sam: przelicz z CSV
Zapisz CSV na stronie Benchmark zapisuje jedną tabelę z kolumnami side,kind,name,value. Wiersze z kind = metric to liczby podsumowania; wiersze z kind = frame to odstępy między klatkami, jeden na wiersz, z czasem klatki w milisekundach w value. Wiersze klatek przechowują całą serię, razem z zatrzymaniami, właśnie po to, żebyś mógł sam zastosować regułę 200 ms i dojść do tych samych liczb.
Dwie rzeczy, zanim zaczniesz:
- Liczby w pliku zawsze używają kropki jako separatora dziesiętnego, niezależnie od ustawień regionalnych Windows. W polskich ustawieniach regionalnych separatorem dziesiętnym jest przecinek, więc przy imporcie powiedz o tym arkuszowi kalkulacyjnemu, inaczej
6.94przyjdzie jako tekst. - Nazwy kolumn to stałe identyfikatory po angielsku. Są przeznaczone dla skryptów i są takie same w każdym języku.
W arkuszu kalkulacyjnym: przefiltruj jedną wartość side i kind = frame, usuń wiersze powyżej 200, posortuj value od największej do najmniejszej, uśrednij pierwsze N wierszy, gdzie N to liczba wierszy podzielona przez 100 i zaokrąglona w górę, i podziel 1000 przez tę średnią. Wynik powinien być równy low_1pct_fps dla tej strony.
W PowerShell (dla drugiej strony zamień before na after):
$ms = Import-Csv .\capture.csv |
Where-Object { $_.kind -eq 'frame' -and $_.side -eq 'before' } |
ForEach-Object { [double]::Parse($_.value, [Globalization.CultureInfo]::InvariantCulture) } |
Where-Object { $_ -le 200 } |
Sort-Object
$take = [Math]::Max(1, [Math]::Ceiling($ms.Count * 0.01))
1000 / ($ms | Select-Object -Last $take | Measure-Object -Average).Average
Dla 0,1% low użyj 0.001 zamiast 0.01. Dwa szybkie sprawdzenia spójności z tego samego pliku: liczba wierszy klatek z wartością 200 lub mniejszą jest równa metryce frames, a liczba wierszy powyżej 200 — metryce excluded_over_stall_ms.
Dwie rzeczy, które po cichu psują percentyl
Generowanie klatek. Wstawione klatki nie niosą nowego stanu gry. 1% low policzone ze zliczania klatek dalej daje jakąś liczbę, ale przestało opisywać to, jak szybko gra odpowiada na twoje ruchy — a to jedyny powód, dla którego w ogóle na nie patrzyłeś. Na czas pomiaru wyłącz generowanie. To uwaga o definicji, a nie twierdzenie, że generowanie klatek powoduje przycięcia.
Ekrany ładowania i pauzy. Trzysekundowe zatrzymanie na ładowaniu to pojedynczy „odstęp między klatkami” o długości trzech tysięcy milisekund, a zostawiony w danych staje się twoim 0,1% low i grzebie wszystko, co prawdziwe. Właśnie dlatego tak długie odstępy są wyłączane z percentyli i raportowane osobno, żeby żadna liczba nie została po cichu zbudowana na jednym z nich.
Co nie rusza 1% low
To trzeba powiedzieć wprost, bo łatwo pomylić te dwie rzeczy: funkcje od opóźnienia i stabilność percentyli to dwa różne twierdzenia. Tryby niskiego opóźnienia od producentów zmniejszają głębokość kolejki renderowania i to zmniejszenie zostało zmierzone. Nie ma opublikowanego pomiaru pokazującego, że poprawiają percentyle czasu klatki. Obie rzeczy mogą być warte posiadania; nie są tym samym, a strona, która przedstawia jedną jako drugą, coś ci sprzedaje. Czysta instalacja dla stabilnych 1% low przechodzi przez opublikowane dowody ze źródłami, a Opóźnienie wejścia, którego nie naprawi żaden program to uczciwe rozliczenie tego, dokąd praca nad opóźnieniem sięga, a dokąd nie.
Ta sama ostrożność dotyczy list wpisów do rejestru obiecujących lepsze lowy. Wartości zarządzania pamięcią jądra i wymuszanie rozdzielczości timera są tutaj odrzucane wprost — nie dlatego, że są egzotyczne, tylko dlatego, że nikt nie opublikował ich pomiaru, który przetrwałby zetknięcie z metodą.
Czego strona Benchmark nie wypisuje
- Żadnej liczby „zyskane FPS” — dla żadnego ustawienia, nigdzie w w0a. Zysk to to, co pokazują twoje własne dwa przebiegi, albo nic.
- Żadnej przyczyny, tylko czas. Gdy przycięcie zbiega się z czymś innym, co się wydarzyło, karta mówi, że oba wypadły w tym samym oknie. Nie mówi, że jedno spowodowało drugie.
- Żadna różnica wewnątrz poziomu szumu nie jest pokazywana jako zmiana, w żadną stronę.
Jeśli twoje lowy są słabe i chcesz przyczyn, a nie liczb, listą jest Dlaczego gry przycinają na Windows 11, a to, co w0a sprawdza automatycznie, opisuje Czego szuka skan przycięć. Dla samego CS2 Niskie FPS i przycięcia w CS2 stosuje to wszystko do jednej gry.
Powiązane
- Dlaczego gry przycinają na Windows 11
- GPU nie na 100%
- Jak czytać wynik benchmarku
- Jak zmniejszyć input lag: co program może skrócić, a czego nie
- Przycięcia od kompilacji shaderów
- Niskie FPS i przycięcia w CS2
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ł.