Liczba klatek na sekundę a skuteczność w grze
Kilka tygodni temu sprawdziliśmy wpływ monitora na wyniki w grach komputerowych. Porównanie wyspecjalizowanej konstrukcji dla graczy (Asus ROG PG278Q) o 144-hercowym odświeżaniu i minimalnym (sięgającym 9 ms) opóźnieniu sygnału (input lag) z typowym modelem 60-hercowym pokazało, że niezły gracz dzięki użyciu lepszego sprzętu (w tym przypadku monitora) może znacząco, nawet o ponad 30%, poprawić swoje osiągi na wirtualnym polu bitwy. W poprzednim teście przed przesiadką na 144-hercowy monitor tester umiał trafić około 61 celów (na 100), podczas gdy po zmianie średnia wynosiła już 79 trafień. Wcześniejszy test miał jednak wspólny mianownik w obu ustawieniach: komputer generował około 350–400 kl./s, a całość odbywała się przy wyłączonej synchronizacji pionowej. Co jednak, gdy liczba klatek, już podczas realnej rozgrywki, się zmniejszy?
Ile klatek na sekundę potrzebuję w grze? Wbrew pozorom odpowiedź na tak zadane pytanie nie jest oczywista. Początkowo większość osób, zanim porządnie się nad tym zastanowi, stawia znak równości między liczbą klatek na sekundę a płynnością obrazu. Płynność faktycznie zależy bezpośrednio od liczby klatek na sekundę: im więcej komputer zdoła ich wygenerować, tym przyjemniej będzie się grało. Wielu zapomina jednak o drugim czynniku, opóźnieniu sygnału.
Więcej klatek – mniejsze opóźnienie sygnału
Opóźnienie sygnału określa to, jak szybko sprzęt komputerowy, w tym elektronika monitora, umie przenieść działanie gracza na ekran. W zeszłym roku wzięliśmy na tapetę zagadnienie opóźnienia sygnału (input lag) i okazało się, że pomiary opóźnienia, które wprowadza sama elektronika monitora, pokazują tylko, jak szybko monitor jest zdolny wyświetlić na ekranie sygnał, który został podany na jedno z wejść.
Chodzi o to, że uzyskana wartość nie mówi nic na temat czasu, który upływa od działania gracza do pokazania reakcji na ekranie. Wtedy zdecydowaliśmy się opracować własną metodę pomiaru tego parametru: do lewego przycisku myszy podłączyliśmy czerwoną diodę, a na ekranie wyświetlamy naprzemiennie czarne i białe paski. W momencie naciśnięcia lewego przycisku myszy dioda się zaświeca, a na ekranie pomiędzy czarnymi a białymi paskami na moment pojawia się czerwony. Całość pokazana jest na poniższym filmie:
Na nagranym z szybkością 1000 kl./s wideo, spowolnionym tysiąckrotnie, widać, że od zaświecenia się czerwonej diody do rozpoczęcia rysowania czerwonej ramki „minęło” dokładnie dziewięć klatek obrazu. Każda klatka odpowiada 1 ms, więc tą metodą zmierzyliśmy całkowite opóźnienie rzędu 9 ms (wprowadzają je łącznie komputer i monitor Asusa). Powyższy film był jednak nagrywany, kiedy w grze było wyświetlane około 700 kl./s, czyli każda klatka była generowana przez mniej więcej 1,4 ms.
Kiedy komputer generuje na przykład 100 kl./s, każda ramka jest generowana przez 10 ms, co zwiększa ogólny czas opóźnienia.
To ma ogromne znaczenie dla skuteczności w grze. Przy 30 kl./s każda ramka jest generowana przez 33 ms, co oznacza, że opóźnienie sygnału to przynajmniej 33 ms nawet w razie użycia najlepszego monitora i najlepszej myszy. Dopiero do tych 33 ms można doliczyć czas potrzebny na to, aby elektronika monitora uporała się z sygnałem i pokazała go na monitorze. Przykłady?
- pomiar przy 700 kl./s (generowanie klatki trwa ~1,4 ms): opóźnienie z V-Sync OFF – 9 ms;
- pomiar przy 130–140 kl./s (generowanie klatki trwa ~8 ms): opóźnienie z V-Sync OFF – 35 ms;
- pomiar przy 80–90 kl./s (generowanie klatki trwa ~12 ms): opóźnienie z V-Sync OFF – 53 ms;
- pomiar przy 45–50 kl./s (generowanie klatki trwa ~22 ms): opóźnienie z V-Sync OFF – 54 ms.
Dlatego postanowiliśmy wykonać dodatkowe pomiary skuteczności gracza w zależności od liczby klatek na sekundę. W teście tego typu liczą się bowiem nie tylko ogólne odczucia związane z płynnością obrazu, ale również wspomniane opóźnienie sygnału, które rośnie wraz z malejącą liczbą klatek.
Platforma testowa, ustawienia, założenia
Arena testowa
Swój scenariusz testowy w grze Counter-Strike: Global Offensive obszerniej opisaliśmy w poprzednim artykule, do którego odsyłamy w razie wątpliwości. Z grubsza rzecz biorąc, pomiary polegają na strzelaniu do czerwonych kropek: pojawiają się one w losowych miejscach co 250 ms i pozostają na ekranie przez 0,5 s. Tylko tyle czasu ma gracz na reakcję (strzał) w teście przedstawionym poniżej:
Założenia i ustawienia
Powyższy test postanowiliśmy wykonać w różnych ustawieniach liczby klatek na sekundę. Jakie progi wybraliśmy?
- 30–35 kl./s – absolutne minimum do jakiejkolwiek gry oraz odpowiednik tego, co zwykle oglądają gracze konsolowi;
- 40–45 kl./s – 45 kl./s to wartość w połowie drogi pomiędzy minimalnym progiem, 30 kl./s, a zalecaną wartością, 60 kl./s;
- 60–65 kl./s – 60 kl./s to płynność obrazu zadowalająca większość graczy, ci bowiem i tak nie mogą ustawić szybszego odświeżania ekranu;
- 85–90 kl./s – przedział pośredni między wartością zalecaną a bliską optymalnej;
- 120–130 kl./s – teoretycznie idealna płynność animacji, którą mogą zapewnić tylko szybkie monitory dla graczy (120- i 144-hercowe).
Niektóre z podanych wartości trzeba było przetestować w dwóch różnych ustawieniach odświeżania (60 Hz i 120 Hz). Nie podejrzewamy, aby ktoś, kto zwykle gra w 30–45 kl./s, był zainteresowany monitorem o szybszym odświeżaniu, więc w tych ustawieniach testowaliśmy wyłącznie z użyciem 60-hercowego ekranu. Resztę ustawień (od 60 kl./s do 120 kl./s) sprawdziliśmy w działaniu zarówno na ekranie 60-hercowym, jak i 120-hercowym.
Sztuczne ograniczenie płynności kontra realny problem
Jest jeszcze jedna kwestia warta omówienia, a mianowicie: jak osiągnąć konkretną płynność w grze. Początkowo, jeszcze przed właściwymi testami, chcieliśmy wykorzystać do tego jakiś sztuczny ogranicznik liczby klatek. Tego typu funkcje są dostępne w takich programach, jak MSI Afterburner i RivaTuner: ustalamy maksymalną liczbę klatek na sekundę i komputer generuje dokładnie tyle. Drugim sposobem jest sztuczne ograniczenie tej liczby w silniku gry. Source Engine, fundament naszego testu, udostępnia polecenie fps_max, które ustala maksymalną liczbę klatek renderowanych w ciągu sekundy. Teoretycznie sprawa załatwiona, prawda?
NIE! Sztuczne ograniczenie liczby klatek na sekundę do 30, podczas gdy sprzęt (np. Core i7-4770K + GTX 970) jest zdolny renderować kilkukrotnie więcej, to inna sytuacja od tej, w której sprzęt się poci, by tyle osiągnąć. Przeniesienie na ekran ruchu myszy czy naciśnięcia klawisza następuje z opóźnieniem, jeśli na przykład procesor i/lub karta graficzna są wykorzystywane cały czas w stu procentach.
Idąc dalej tym tropem: nikt, kto ma w domu wydajny sprzęt, nie ogranicza się celowo do 30 kl./s. Tym samym musieliśmy złożyć komputer na tyle słaby, by zdołał zapewnić niewielką płynność animacji w Counter-Strike: Global Offensive przy realnym obciążeniu. Zmontowaliśmy zatem maszynę z Core i3-4330 oraz pasywnie chłodzonym GeForce'em GT 440 i manipulowaliśmy (wyłącznie) ustawieniami obrazu, aby osiągnąć odpowiednią wartość na liczniku Frapsa w prawym górnym rogu ekranu.
30 kl./s i 60 Hz
30 kl./s 60 Hz | 1. próba | 2. próba | 3. próba | 4. próba | 5. próba |
---|---|---|---|---|---|
Liczba trafionych kropek (x/100) | 13 | 15 | 20 | 19 | 20 |
45 kl./s i 60 Hz
45 kl./s 60 Hz | 1. próba | 2. próba | 3. próba | 4. próba | 5. próba |
---|---|---|---|---|---|
Liczba trafionych kropek (x/100) | 36 | 37 | 43 | 35 | 39 |
60 kl./s i 60 Hz
60 kl./s 60 Hz | 1. próba | 2. próba | 3. próba | 4. próba | 5. próba |
---|---|---|---|---|---|
Liczba trafionych kropek (x/100) | 52 | 51 | 58 | 48 | 56 |
85 kl./s i 60 Hz
85 kl./s 60 Hz | 1. próba | 2. próba | 3. próba | 4. próba | 5. próba |
---|---|---|---|---|---|
Liczba trafionych kropek (x/100) | 59 | 61 | 58 | 60 | 63 |
60 kl./s i 120 Hz
60 kl./s 120 Hz | 1. próba | 2. próba | 3. próba | 4. próba | 5. próba |
---|---|---|---|---|---|
Liczba trafionych kropek (x/100) | 58 | 57 | 60 | 56 | 58 |
85 kl./s i 120 Hz
85 kl./s 120 Hz | 1. próba | 2. próba | 3. próba | 4. próba | 5. próba |
---|---|---|---|---|---|
Liczba trafionych kropek (x/100) | 65 | 64 | 65 | 67 | 66 |
120 kl./s i 120 Hz
120 kl./s 120 Hz | 1. próba | 2. próba | 3. próba | 4. próba | 5. próba |
---|---|---|---|---|---|
Liczba trafionych kropek (x/100) | 76 | 75 | 78 | 75 | 76 |
Podsumowanie
W takim razie pora na podsumowanie naszych zmagań w CS:GO, do których wykorzystaliśmy konfiguracje zapewniające od 30 kl./s aż do 120 kl./s. Zgodnie z naszymi przewidywaniami liczba klatek, tak samo jak szybkość monitora, ma ogromny wpływ na wyniki gracza. Im mniej klatek na sekundę i czym wolniejszy monitor, tym trudniej trafić w cel, a więc pora omówić poszczególne progi.
30–35 kl./s i monitor 60-hercowy. Przykład pokazujący skuteczność w najgorszych możliwych warunkach, czyli podczas gry w 30 kl./s i z użyciem przeciętnego monitora. Sprawdził się najgorszy scenariusz: nie można mówić o jakiejkolwiek skuteczności. Zdołałem trafić średnio około 17 kropek na 100, więc pudłowałem fatalnie, ale w sumie nic dziwnego: odczuwalne opóźnienie na ekranie jest ogromne. Po tej serii pozostało pójść do domu i wypłakać się cicho w poduszkę ;)
45 kl./s i monitor 60-hercowy. Zwiększenie średniej wydajności komputera tak, aby zdołał wygenerować około 45 kl./s, czyli „tylko” 50% więcej, przełożyło się na... dwukrotnie lepsze wyniki. W tej skali różnica 15 kl./s po prostu zapewnia kolosalny wzrost skuteczności, bo spokojnie mogłem trafić około 38 celów na 100.
60 kl./s i monitor 60-hercowy. Teoretycznie złoty środek dla graczy pecetowych. Wzrost liczby klatek na sekundę z 45 na 60 niby nie jest imponujący, ale grało się już w miarę przyjemnie, co pozwoliło dalej poprawić wyniki. Przy 45 kl./s skuteczność strzelania wynosiła 38%, a teraz – już 53%.
85 kl./s i monitor 60-hercowy. To ustawienie miało pokazać, czy w ogóle jest sens walczyć o większą liczbę klatek na sekundę, niż może wyświetlić monitor 60-hercowy. Okazuje się, że tak. Nowych klatek obrazu nie zobaczymy na ekranie, ale zmniejszy się opóźnienie na urządzeniu wejścia (myszce). Oznacza to możliwość trafienia w większą liczbę celów niż przy 60 kl./s: udało mi się osiągnąć średnią na poziomie 60 trafień.
60 kl./s i monitor 120-hercowy. Przyszła pora na włączenie naprawdę dużej częstotliwości odświeżania ekranu, 120 Hz. Jednocześnie postanowiliśmy sprawdzić, czy 120-hercowy wyświetlacz pozwala spożytkować szybsze odświeżanie, jeśli komputer zapewnia w grze „zaledwie” 60 kl./s. Średnio udało mi się trafić około 58 celów. Przy tej samej liczbie klatek na sekundę (60), ale po podłączeniu 60-hercowego monitora średnia trafień wynosiła około 53. Można więc mówić o 10-procentowej poprawie skuteczności w strzelaniu.
85 kl./s i monitor 120-hercowy. Jeśli komputer umiał wygenerować 85–90 kl./s, średnia liczba trafień po użyciu 120-hercowego monitora wynosiła już 65 na 100, a więc zaczęliśmy zbliżać się powoli do oczekiwanego poziomu 75–85 trafień na 100.
120 kl./s i monitor 120-hercowy. To ustawienie pożądane z punktu widzenia gracza posiadającego 120-hercowy monitor – liczba klatek na sekundę przynajmniej równa częstotliwości odświeżania ekranu. W tym scenariuszu udało się osiągnąć średnią trafień na poziomie 76 na 100. Wynik może nie był rewelacyjny, ale jest to zauważalna poprawa celności względem poprzedniego ustawienia (+17%) i wręcz ogromna w porównaniu z osiągami w 30 kl./s i 60 Hz (+ 450%).
BONUS: ok. 300 kl./s i monitor 120-hercowy. W pewnym momencie naturalne możliwości gracza się kończą i dalsze zwiększanie liczby klatek na sekundę czy też zmiana monitora już nic nie dają. Idealne warunki do naszego testu to około 300 kl./s w połączeniu z monitorem o wysokiej częstotliwości odświeżania. Wtedy to strzelanie do czerwonych kropek kończyło się wynikiem w okolicy 85 trafionych celów na 100. Tych 85 trafień to taka bezpieczna średnia – w tym momencie ewidentnie zaczynała już być odczuwalna niemoc strzelecka, a nie problemy sprzętowe.
Więcej klatek = lepiej
I chciałoby się powiedzieć: koniec, kropka. Trzeba jednak rozwinąć tę myśl. Ogółem wiadomo, że jeśli ktoś chciałby się potykać z innymi w grach sieciowych, sprzęt odegra niemałą rolę. Każdy wzrost liczby klatek na sekundę jest nie tylko widoczny, ale i odczuwalny. Twierdzenia o konsolowej płynności animacji w 30 kl./s można włożyć między bajki – w tym miejscu mówimy o pecetach i w praktyce trzeba walczyć o każdy możliwy wzrost wydajności, aby osiągnąć większą płynność obrazu, a tym samym, potencjalnie, również lepsze wyniki na wirtualnym polu bitwy. Oczywiście, o liczbie klatek na sekundę w grze decydują podzespoły komputera. Im szybszy procesor i karta graficzna, tym zwykle można liczyć na większą płynność, a jak już wykazaliśmy, ma to wpływ na rezultaty osiągane w rozgrywkach sieciowych (i nie tylko).
Powtórzmy: naszym zdaniem warto walczyć o każdy, choćby niewielki, przyrost wydajności. Karty podkręcone w fabrycznej konfiguracji potrafią być szybsze o kilkanaście procent od niepodkręconych, a wybór odpowiedniej płyty głównej pozwoli przyspieszyć taktowanie procesora – automatycznie (nawet bez wchodzenia do ustawień BIOS-u/UEFI, jak w przypadku płyt głównych Asusa dla graczy z serii Gamer i ROG) lub ręcznie. Poprawa może być znacząca, gdyż wydajność CPU można zwiększyć nawet o kilkadziesiąt procent.