Dlaczego wysoka częstotliwość generowania klatek ma znaczenie w e-sporcie?

Autor: Tony Tamasi on 3 grudnia 2019 | Featured Stories

Gracze rywalizujący w zawodach oraz profesjonalni zawodnicy e-sportowi dążą do uzyskania jak najwyższych częstotliwości generowania klatek, by zyskać jak największą przewagę podczas rozgrywki. Chcąc osiągać najlepsze rezultaty, oczekują oni najbardziej płynnych animacji, najniższych opóźnień oraz maksymalnej redukcji rozpraszających efektów. Wysokie częstotliwości generowania klatek, możliwe dzięki najnowszym układom GPU, zapewniają tym graczom istotną przewagę.   

Niedawno udostępniliśmy materiał wideo, na którym tłumaczyliśmy, w jaki sposób częstotliwość generowania klatek i częstotliwość odświeżania obrazu na poziomie 60, 144 i 240 FPS/Hz wpływa na rozgrywkę w tytule CS:GO:

Pójdźmy teraz o krok dalej i sprawdźmy, jak to wszystko działa na komputerze PC oraz zobaczmy, w jaki sposób wysokie częstotliwości generowania klatek zapewniają graczom przewagę, przekładając się na bardziej płynną animację, redukując efekt ghostingu i rozchodzenia się obrazu, a także zmniejszając opóźnienie systemu.

Co oznacza „FPS” i „Hz”?

Skróty FPS (liczba klatek na sekundę) oraz Hz (herc) są w świecie gamingu często używane zamiennie i w niewłaściwym kontekście Herc to jednostka miary częstotliwości, którą wyraża się jako liczbę cykli na sekundę. Najczęściej związana jest ona z wyświetlaczem. Oba skróty odnoszą się do jednostek określających częstotliwość, jednak związane są z różnymi podzespołami systemu PC. Najprościej mówiąc, FPS to jednostka określająca z jaką szybkością system (a w szczególności układ GPU) renderuje klatki, natomiast Hz to jednostka definiująca częstotliwość wyświetlania tych klatek na monitorze.

Szare paski na poniższej animacji reprezentują klatki wyświetlane przez monitor, natomiast zielone paski oznaczają klatki wyrenderowane przez układ GPU.

Częstotliwości się różnią. Układ GPU może renderować klatki szybciej lub wolniej w odniesieniu do tego, z jaką częstotliwością jest je w stanie wyświetlać monitor. Różnice w czasie renderowania poszczególnych klatek związane są ze złożonością renderowanej sceny 3D — przykładowo, wyrenderowanie sceny eksplozji może zająć więcej czasu niż wyrenderowanie wcześniejszej sceny. Natomiast określana w hercach częstotliwość odświeżania ekranu jest stała i nie jest zależna od złożoności sceny. 60 Hz oznacza, że obraz odświeżany jest 60 razy na sekundę, 144 Hz — 144 razy na sekundę i tak dalej. Istnieją wyświetlacze, które mogą zmieniać częstotliwość odświeżania, ale dla uproszczenia zakładamy, że wyświetlacz posiada stałą częstotliwość odświeżania.

Wartość FPS to zazwyczaj średnia krocząca z wielu sekund, ponieważ czasy generowania poszczególnych klatek nie są stałe. Najlepiej przyjąć, że wartość FPS określa średnią liczbę klatek renderowanych przez układ GPU w czasie jednej sekundy.

Kiedy częstotliwości generowania klatek i częstotliwości odświeżania ekranu różnią się od siebie, możesz zauważyć efekt rozchodzenia się obrazu, ale do tego tematu wrócimy później. Podsumowując: wartość FPS odnosi się do układu GPU, a Hz do wyświetlacza. Aby uzyskać jak najwyższą wydajność, obie te wartości powinny być wysokie.

Płynniejsza animacja przy wysokiej liczbie klatek na sekundę (FPS)

Zobaczcie, jak wysoka wartość FPS wpływa na poprawę płynności animacji. Zaczniemy od bardziej podstawowych pojęć, a w dalszej części artykułu przejdziemy do bardziej złożonych tematów.

Na poniższym filmie możecie zobaczyć, jak wysokie wartości FPS/Hz wpływają na poprawę płynności animacji. Przy 60 FPS/Hz animacja wygląda na nierówną, jakby „przeskakiwała” od punktu do punktu. Przy 240 FPS/Hz nadal widać klatkowanie, ale skoki między poszczególnymi klatkami są dużo mniejsze.

Załóżmy chwilowo, że wartości FPS i Hz są takie same. Choć w rzeczywistości jest inaczej, założenie, że układ GPU i wyświetlacz pracują z taką samą częstotliwością ułatwi objaśnienie tych pojęć.

Patrząc na poniższą animację odbijającej się piłki, możemy sobie wyobrazić, dlaczego animacje są płynniejsze.

Na każdy „skok” animacji przy 60 FPS/HZ, przypadają 4 „skoki” animacji przy 240 FPS/Hz. Dzięki tym dodatkowym klatkom, skok między nimi jest mniejszy, co sprawia, że animacja przy 240 FPS/Hz wydaje się być o wiele płynniejsza. Przy 240 FPS/Hz Twoje oczy rejestrują trzy dodatkowe obrazy/klatki w tym samym czasie.

Dzięki płynniejszej animacji łatwiej jest Ci śledzić swój cel. Gdy nie trafisz w cel i dokonujesz korekt, płynna animacja pomoże Ci przyspieszyć ponowne obranie celu.

Zredukowany efekt ghostingu przy wyższych wartościach FPS/Hz

Ghosting to uciążliwy efekt, który pojawia się na wszystkich rodzajach wyświetlaczy LCD. Gdy wyświetlacz odświeża obraz, kolory nie zmieniają się od razu. Zmiana pikseli zajmuje trochę czasu, zwłaszcza gdy zakres zmiany kolorów jest duży.

Na poniższym materiale wideo z gry CS:GO, ghosting widoczny jest jako swego rodzaju ślad znajdujący się za obiektem — zazwyczaj w miejscu, w którym znajdował się dany obiekt na poprzedniej klatce.

Na poniższej animacji odbijającej się piłki również widać efekt ghostingu.

Wspomniany ślad pojawia się w miejscu lokalizacji obiektu z poprzedniej klatki. Przy 60 FPS/Hz, odległość między lokalizacjami obiektu na poszczególnych klatkach jest znacznie większa, zatem również efekt ghostingu jest o wiele bardziej widoczny. Przy 240 FPS/Hz odległość między lokalizacjami obiektu na poszczególnych klatkach jest znacznie mniejsza, więc efekt ghostingu jest mniej widoczny.

Z tego powodu, gdy obracasz się lub obserwujesz obiekt w ruchu przy wyższych wartościach FPS/Hz, jakość animacji jest o wiele wyższa. Oprócz zwiększonej płynności animacji, redukcja efektu ghostingu zwiększa także precyzję celowania, ponieważ możesz skupić swój wzrok na celu, a nie jego „cieniu”.

Wysoka częstotliwość generowania klatek pomaga redukować efekt rozchodzenia się obrazu

Efekt rozchodzenia się obrazu („tearing”) występuje wtedy, gdy monitor wyświetla jednocześnie kilka różnych klatek wyrenderowanych przez układ GPU. Powoduje to poziome rozchodzenie się/przesunięcie obrazu na ekranie. Na poniższym przykładzie widać rozejście się obrazu dokładnie na wprost modelu gracza.

„Efekt rozchodzenia się obrazu („tearing”) występuje wtedy, gdy monitor wyświetla jednocześnie kilka różnych klatek wyrenderowanych przez układ GPU”

Efekt rozchodzenia się obrazu pojawia się wtedy, gdy częstotliwość generowania klatek (FPS) układu GPU jest inna niż wyrażona w hercach częstotliwość odświeżania monitora. Aby uniknąć powstawania efektu rozchodzenia się obrazu, można włączyć funkcję V-SYNC. Funkcja V-SYNC synchronizuje częstotliwość generowania klatek układu GPU z częstotliwością odświeżania monitora. Kiedy włączona jest obsługa funkcji V-SYNC, układ GPU może renderować tylko jedną klatkę na jedno odświeżenie ekranu wyświetlacza.

Choć taki zabieg eliminuje efekt rozchodzenia się obrazu, to może powodować opóźnienia w wyświetlaniu treści, ponieważ układ GPU często musi wstrzymywać ich wyświetlanie, przez co gra sprawia wrażenie mniej „responsywnej”. Ze względu na te opóźnienia, wielu graczy wyłącza obsługę funkcji V-SYNC w grach, przymykając oko na efekt rozchodzenia się obrazu.

Poniższy przykład obrazuje sytuację, w której wartość FPS jest wyższa niż częstotliwość odświeżania wyświetlacza, a funkcja V-SYNC jest wyłączona.

Jak widać, efekt rozchodzenia się obrazu jest mniejszy przy częstotliwości 240 FPS/Hz, ale dlaczego tak się dzieje? Przyjrzyjmy się temu bliżej.

Na poniższej animacji mamy postać poruszającą się od lewej do prawej. Na końcu występuje efekt rozchodzenia się obrazu.

Gdy następuje rozejście się obrazu, widać dolną połowę obiektu wyglądającą, jakby poruszała się do przodu, podczas gdy reszta obrazu zostaje w tyle. Ponieważ częstotliwość generowania klatek przez układ GPU nie jest zsynchronizowana z częstotliwością odświeżania monitora, układ GPU prześle do wyświetlacza kolejną wyrenderowaną klatkę zanim wyświetlacz zdąży ponownie odświeżyć obraz. Po zmianie klatki, pozostała część klatki jest renderowana razem z odświeżonym obrazem, tworząc przesunięcie — efekt rozchodzenia się obrazu.

Odległość, którą obiekt pokonuje między klatkami, jest większa przy 60 FPS/Hz, więc przesunięcie obiektu między dwiema klatkami również jest większe, a efekt rozchodzenia się obrazu jest bardziej zauważalny. Przy 240 FPS/Hz przesunięcie obiektu między dwiema klatkami jest mniejsze, ponieważ różnica czasu między dwiema klatkami jest mniejsza, dzięki czemu efekt rozchodzenia się obrazu będzie mniej zauważalny. Zredukowanie efektu rozchodzenia się obrazu oznacza mniej artefaktów rozpraszających uwagę gracza, dzięki czemu może się on skupić na wygrywaniu.

Jak wcześniej wspomniano, istnieją wyświetlacze, takie jak G-SYNC, które wykorzystują technologię zmiennej częstotliwości odświeżania obrazu, aby zapewnić graczom korzyści płynące z wyłączenia funkcji VSYNC przy jednoczesnej eliminacji efektu rozchodzenia się obrazu. Wyświetlacze G-SYNC wstrzymują odświeżenie obrazu do momentu, aż kolejna klatka zostanie wyrenderowana przez układ GPU. Dzięki temu układ GPU może renderować klatki z maksymalną prędkością. Więcej na ten temat napiszemy w kolejnym artykule.

Wyższa częstotliwość generowania klatek = niższe opóźnienie systemu

Na poniższym filmie widać, że gracz prowadzący rozgrywkę przy 240 FPS/Hz zdaje się wyprzedzać ruchy przeciwnika grającego przy 60 FPS/Hz.

Jest to powiązane z opóźnieniem systemu.

Mówiąc o opóźnieniach w grach, wielu graczy ma na myśli takie pojęcia jak ping, czy opóźnienie sieci. Opóźnienie tego typu odnosi się do czasu potrzebnego, aby informacja z Twojego komputera PC została przesłana do serwera gry i z powrotem na Twój komputer PC.

Z kolei opóźnienie systemu odnosi się do czasu potrzebnego, aby Twoje polecenia (kliknięcia i ruchy myszą, sygnały z klawiatury) „dotarły” do wyświetlacza. Takie opóźnienie często nazywane jest opóźnieniem typu „motion to photon” lub „click to muzzle flash”.

Skąd się bierze opóźnienie systemu? Przyjrzyjmy się bliżej procesowi renderowania.

Dla uproszczenia, w poniższym przykładzie ograniczyliśmy ten proces do trzech etapów. Począwszy od lewej, mamy jednostkę CPU (niebieski pasek), która przetwarza dane wejściowe, aktualizuje stan gry, przygotowuje klatki do renderowania przez układ GPU i umieszcza je w kolejce renderowania układu GPU. Układ GPU (zielony pasek) odbiera te przygotowane klatki z kolejki i renderuje je. Gdy układ GPU skończy, monitor (szary pasek) wyświetla ostateczny obraz po odświeżeniu ekranu.

Wszystkie te procesy wymagają czasu, a suma tego czasu to właśnie opóźnienie systemu.

Są to procesy potokowe, co oznacza, że cykl dla kolejnej klatki na każdym etapie jest rozpoczynany dopiero po zakończeniu poprzedniego. Przetwarzanie potokowe wpływa na częstotliwość wyświetlania klatek (FPS), ale niekoniecznie zmienia opóźnienie systemu, ponieważ działania gracza nadal przechodzą przez każdy etap.

Porównajmy potok przetwarzania przy 60 FPS/Hz z potokiem przetwarzania przy 240 FPS/Hz.

Widać, że w przypadku konfiguracji 60 FPS/Hz, system wyświetla klatki dużo później. Analizując to na przykładzie pojedynczej klatki, widać różnicę między opóźnieniem poszczególnych systemów.

Na początku jednostki CPU poszczególnych systemów odbierają dane dotyczące pozycji gracza w tym samym czasie. W tym przypadku jednostka CPU i układ GPU potrzebują tyle samo czasu na przygotowanie i wyrenderowanie klatki. Czas potrzebny jednostce CPU do wykonania swojej pracy przy 60 FPS jest czterokrotnie dłuższy niż przy 240 FPS. Czas renderowania na układzie GPU także jest czterokrotnie dłuższy przy 60 FPS. Również czas potrzebny wyświetlaczowi jest 4-krotnie dłuższy przy 60 FPS, ponieważ częstotliwość odświeżania jest 4-krotnie niższa niż w przypadku wyświetlacza 240 Hz.

System pracujący w konfiguracji 60 FPS/Hz po prostu wolniej przetwarza dane i dochodzi do opóźnień względem faktycznego stanu gry. Przy 240 FPS/Hz, renderowane treści o wiele lepiej odpowiadają aktualnemu stanowi gry, choć nadal jest pewna różnica.

Na poniższym przykładzie widać różnicę między opóźnieniami dwóch różnych systemów. Odległość na osi czasu między wygenerowanymi przez oba systemy klatkami, to właśnie różnica w opóźnieniu obu systemów. Czarna pionowa linia ułatwia porównanie tych przesunięć spowodowanych opóźnieniem systemu.

Niższe opóźnienia systemu pozwalają wcześniej dostrzec innego gracza. Ponadto zmniejszenie opóźnień systemu sprawia, że gra jest bardziej „responsywna”, ponieważ czas między wykonaniem ruchu myszą a pojawieniem się rezultatów na ekranie jest krótszy. Wszystko to razem sprawia, że niższe opóźnienia systemu zapewniają graczom przewagę na polu bitwy.

Układy GeForce zapewniają wysoką częstotliwość generowania klatek

Podsumowując, wyższa częstotliwość wyświetlania klatek zapewnia wyraźne, wymierne korzyści: płynniejsze animacje ułatwiają śledzenie celu, redukcja ghostingu i efektu rozchodzenia się obrazu pomaga zmniejszyć ilość czynników rozpraszających uwagę gracza, a niższe opóźnienie systemu pomaga szybciej dostrzec cele i skraca czas reakcji.  Wszystko to razem sprawia, że wyższa częstotliwość generowania klatek zapewni Ci przewagę nad konkurencją.

Chcecie wiedzieć, jak duża jest to przewaga? Wykorzystując dane zebrane podczas badania, które przeprowadziliśmy w 2019 roku, stworzyliśmy wykres przedstawiający zależność między średnią częstotliwością generowania klatek, a stosunkiem Kill/Death (K/D) — powszechnie stosowanym wskaźnikiem umiejętności gracza w grach, takich jak Fortnite i PUBG.

Na wykresie widać, że istnieje korelacja między średnią częstotliwością generowania klatek (FPS) a współczynnikiem K/D gracza w tytułach PUBG i Fortnite. Przy 180 FPS, współczynniki K/D graczy były o 90% lepsze, niż przy 60 FPS!

Sama korelacja nie oznacza oczywiście związku przyczynowego. Jednak w kontekście korzyści płynących z wysokich częstotliwości generowania klatek, takich jak płynność animacji, redukcja ghostingu i efektu rozchodzenia się obrazu oraz niższe opóźnienia systemu, które opisaliśmy w tym artykule, pozytywny związek pokazany na wykresie ma sens.

Zobacz najnowszą stronę #FramesWinsGames, aby sprawdzić, w jaki sposób nasze układy GPU GeForce mogą zapewnić Ci odpowiednio wysoką częstotliwość generowania klatek, aby maksymalizować Twoją przewagę w grach typu Battle Royale i First Person Shooter.