Krzysztof Wołk | 6 września 2018, 14:07

FreeSync 2 – teoria i praktyka

Wyjaśniamy, czym jest i jak działa FreeSync 2

Ponieważ monitory HDR i te o szerokiej gamie barw stały się rzeczywistością, to najlepszy czas na omówienie FreeSync 2. Powstało sporo zamieszania wokół tego, czym naprawdę jest, jak działa i czym się różni od oryginalnej koncepcji FreeSync. W tym artykule omówimy technikę FreeSync 2 i wyjaśnimy, w jaki sposób współcześnie się ją wykorzystuje, ponieważ jest to rozwiązanie nieco inne od tego, które AMD zaprezentowało ponad rok temu.

Zanim jednak przystąpimy do opisu FreeSync 2, wyjaśnimy sposób, w jaki wyświetlany jest obraz na monitorze, oraz kilka typowych nieporozumień związanych z liczbą klatek na sekundę i częstotliwością odświeżania.

Jak wyświetlany jest obraz na monitorze

Po pierwsze, czym jest ramka i co decyduje o liczbie klatek na sekundę? Ramka to pojedynczy obraz, który jest nieruchomy. Liczba klatek na sekundę (ang. fps) określa liczbę takich obrazów generowanych w ciągu sekundy. Pierwsza wartość związana jest ściśle z możliwościami technicznymi monitora, a druga – z wydajnością karty graficznej.

W bardzo dużym uproszczeniu, pomijając wiele technicznych szczegółów, można powiedzieć, że typowe współczesne monitory działają ze sztywno określoną częstotliwością odświeżania. Odświeżają cały ekran na przykład 60 razy na sekundę, z tym że takie odświeżenie nie następuje na całej płaszczyźnie ekranu na raz, lecz liniami od góry do dołu. Wynika to z dosyć oczywistego faktu, że przewód łączący monitor z kartą graficzną nie ma wewnątrz milionów przewodów, a co za tym idzie – odpowiedniej przepustowości, żeby za jednym zamachem przekazać cały obraz. Robi to porcjami. 

Najpierw odświeża się górny wiersz, później następny itd., aż odświeży się cały ekran. I tak w koło, 60 razy na sekundę. Pytanie, co się dzieje, kiedy karta graficzna nie generuje sygnału o takiej samej częstotliwości, z jaką działa monitor. Powiedzmy, że GPU osiąga wydajność 40 kl./s. W tym samym przedziale czasu monitor zdąży już odświeżyć 1/3 wysokości ekranu (40 + 40 = 80, 80 – 60 = 20, 20 / 60 = 1/3), po czym dostaje zmieniony obraz. Jest to wyraźnie widoczne jako tzw. rozrywanie obrazu (ang. screen tearing), czyli jednoczesne wyświetlanie np. dwóch nieznacznie przesuniętych względem siebie obrazów.

Żeby zapobiec zrywaniu ekranu, można włączyć funkcję o nazwie synchronizacja pionowa (V-Sync). Dzięki niej GPU będzie synchronizował swoje działania z wyświetlaczem, co zmusza układ do wyrenderowania i wysłania nowej klatki, kiedy monitor jest gotowy do przerysowania ekranu. To ogranicza szybkość generowania klatek dokładnie do częstotliwości odświeżania. Na przykład, jeśli częstotliwość odświeżania wynosi 60 Hz, V-Sync ograniczy liczbę klatek na sekundę do 60. Jeśli GPU jest w stanie wyrenderować większą liczbę klatek, niż wynosi limit V-Sync, można spożytkować jego niewykorzystaną wydajność, żeby zwiększyć rozdzielczość lub inne ustawienia jakości grafiki. Jeśli karta graficzna nie może przekroczyć częstotliwości odświeżania wyświetlacza, włączenie V-Sync nie pomoże.

G-Sync i FreeSync zamiast Vsync

Techniki takie, jak FreeSync i G-Sync, niwelują ten problem dzięki temu, że monitor dostosowuje dynamicznie częstotliwość odświeżania do otrzymywanego obrazu. Główną różnicą pomiędzy tymi rozwiązaniami jest to, że G-Sync wymaga zastosowania dodatkowego układu w monitorze, a FreeSync działa głównie po stronie karty graficznej. Okazuje się także, że różne monitory mają różne zakresy takiej „płynnej adaptacji”. Bywa, że producenci ekranów chwalą się np. kompatybilnością z techniką FreeSync, lecz w praktyce działa ona jedynie w bardzo ograniczonym zakresie, np. 55–65 Hz. Oczywiście, ten problem dotyczy głównie częstotliwości niższych od standardowej częstotliwości odświeżania monitora, ponieważ wyższe są na ogół ucinane, za pomocą tzw. fps locka. Zatem jeśli liczba klatek generowanych przez kartę w ciągu sekundy jest wyższa od częstotliwości odświeżania, to tak naprawdę rozwiązanie nie działa. Opisany problem nie występuje również, jeśli mamy do czynienia z dokładną wielokrotnością częstotliwości bazowej (przykład: monitor – 60 Hz, GPU – 30 kl./s). Nie doświadczymy wtedy rozrywania ekranu, ale może wystąpić efekt tzw. jąkania, ponieważ każda klatka będzie obecna na ekranie przez kilka cykli odświeżania.

Opóźnienia mierzy się, oczywiście, po stronie monitora. (W każdym opublikowanym na łamach PCLab.pl teście monitora można znaleźć informację o opóźnieniu, tzw. input lagu). Karta graficzna, nieco upraszczając, generuje sygnał z częstotliwością równą liczbie klatek na sekundę. Jednak liczba klatek oraz częstotliwość odświeżania monitora to nie wszystko. W grę wchodzą tu również ograniczenia związane z budową matrycy (np. szybkość, z jaką jest ona w stanie przejść z jednego koloru w drugi, ta zaś może być różna nawet w zależności od kombinacji kolorów, otoczenia danego piksela itd.). Należy zatem każdy wyświetlacz analizować z osobna bez względu na to, którą technikę obsługuje i czy w ogóle którąś obsługuje), gdyż rozwiązania AMD czy Nvidii, choć są przydatne, nie określają wszystkich aspektów działania sprzętu.

Co to właściwie jest FreeSync?

FreeSync to nazwa marki odnosząca się do implementacji techniki adaptacyjnej synchronizacji AMD. Zasadniczo umożliwia ona zmianę częstotliwości odświeżania ekranu po to, by dopasować jego działanie do szybkości renderowania procesora graficznego; na przykład gra działająca z szybkością 74 kl./s jest wyświetlana z częstotliwością 74 Hz, a kiedy tempo animacji wzrasta do 123 kl./s, ekran także przyspiesza odświeżanie na 123 Hz. Minimalizuje to „zająknięcia” i zrywanie obrazu, które występują przy stałej częstotliwości odświeżania, np. gdy monitor operuje na 120 Hz, a wyświetlana gra jest renderowana z niedostateczną szybkością, np. 74 kl./s.

FreeSync wymaga kilku modyfikacji wewnętrznych kontrolerów ekranu, a także kompatybilnego procesora graficznego. W konkurencyjnej technice Nvidii, G-Sync, która zapewnia zbliżone wyniki, również używa się wyspecjalizowanego kontrolera, objętego, niestety, ochroną patentową. FreeSync jest standardem otwartym i został przyjęty jako oficjalny standard VESA Adaptive Sync, więc każdy producent kontrolera ekranu może go wdrożyć.

Podstawową cechą FreeSync jest adaptacyjna synchronizacja. Producenci wyświetlaczy mogą integrować FreeSync w swoich urządzeniach za pomocą dowolnych środków – pod warunkiem że przejdą one proces adaptacyjnej weryfikacji synchronizacji.

Jeżeli monitor jest certyfikowany jako zgodny z FreeSync, oznacza to, że obsługuje adaptacyjną synchronizację. Nie sprawdza się nic więcej, np. jakości ekranu czy innych funkcji, więc to, że sprzęt ma logo FreeSync na pudełku, nie musi oznaczać produktu wysokiej jakości.

Czym jest zatem FreeSync 2?

I tu właśnie pojawia się FreeSync 2. Nie jest to zamiennik oryginalnej techniki FreeSync, nie jest to też jej bezpośredni następca, więc nazwa może być trochę myląca (dlatego została już zmieniona, ale o tym za chwilę). Zapewnia jednak dodatkowe funkcje. Co więcej, każdy monitor FreeSync 2 jest sprawdzany pod kątem tych dodatkowych funkcji, zatem klient może go nabyć z uwzględnieniem identyfikatora FreeSync 2, wiedząc, że sprzęt jest wyższej jakości niż standardowe monitory FreeSync.

Zarówno FreeSync, jak i FreeSync 2 będą współistnieć na rynku, chociaż schemat nazewnictwa tego nie sugeruje. FreeSync 2 jest marką AMD stosowaną do monitorów „premium”, sprawdzonych według wyższego standardu, podczas gdy FreeSync jest standardem bardziej ogólnym.

Nie jest tak, że nabywca monitora FreeSync inwestuje w starą technikę. W rzeczywistości bowiem funkcja adaptacyjnej synchronizacji działa identycznie. Monitory FreeSync po prostu nie udostępniają bardziej zaawansowanych funkcji, które zapewnia FreeSync 2. Jakie są te nowe funkcje? Cóż, dzieli się je na trzy główne obszary: wysoki zakres dynamiki (HDR), kompensacja małej liczby klatek na sekundę i mniejsze opóźnienia w wyświetlaniu grafiki.