Nvidia G-Sync
Od jakichś 2–3 lat Nvidia przykłada niesamowitą wagę do tego, aby gracze korzystający z jej sprzętu mieli jak największą frajdę. Na pierwszy ogień poszły mikrozacięcia w konfiguracjach multi-GPU. To właśnie od „zielonych” rozpoczęła się wielka rewolucja: testowanie narzędziem FCAT. Zmusiło to rywala, AMD, by także poprawił ten aspekt działania swoich GPU.
Następnym krokiem było narzędzie GeForce Experience. Automatycznie dostosowuje ono ustawienia obrazu w grach na podstawie podzespołów w komputerze. Towarzyszy mu moduł Shadowplay, pozwalający nagrywać filmy z rozgrywki w wysokiej jakości (o przepływności rzędu 50 Mb/s w rozdzielczości Full HD, a nawet WQHD) lub bezpośrednio strumieniować ją w witrynie Twitch.tv. Rozwijaniem narzędzia zajmuje się moskiewski oddział firmy, gdzie codziennie testowane są w różnych grach dziesiątki konfiguracji, co pozwala przygotowywać gotowe profile do gier, a także poprawiać działanie programu. Czy te rozwiązania są przydatne? Odpowiedzią może być tylko to, że AMD dodało do swoich sterowników i wciąż rozwija podobne funkcje.
Ostatnim znanym nam krokiem Nvidii na polu poprawy komfortu gry użytkowników kart graficznych GeForce jest zaprezentowana po raz pierwszy w zeszłym roku technika G-Sync. Do tej pory była dostępna tylko w formie zestawu do samodzielnego montażu, niedawno jednak pojawiła się w gotowym produkcie: monitorze Asus ROG Swift PG278Q.
Impuls do działania
Co skłoniło Nvidię do stworzenia G-Sync? Prawdopodobnie przede wszystkim to, że sposób, w jaki obraz jest obecnie renderowany i pokazywany na monitorze, jest po prostu przestarzały, powoduje wiele problemów i rodzi wiele pytań ze strony użytkowników. Rozrywanie obrazu (tearing), zacięcia (stuttering), opóźnienie sygnału (input lag)... Pecetowcom zawsze towarzyszyło przynajmniej jedno z tych zjawisk.
V-Sync – półśrodek z przeszłości
Współczesne monitory komputerowe to w zdecydowanej większości 60-hercowe LCD. Oznacza to, że cała zawartość ekranu jest odświeżana od górnej krawędzi do dolnej 60 razy na sekundę, a więc co mniej więcej 16 ms.
W tym momencie do gry wchodzi synchronizacja pionowa. Standardowe ustawienie tego parametru w sterownikach kart graficznych przewiduje, że jest on kontrolowany przez program 3D. Taka opcja znajduje się w każdej grze, ale w 90 proc. przypadków w podstawowej konfiguracji synchronizacja pionowa jest po prostu wyłączona. To sprawia, że pojawia się tak zwany tearing.
Tearing to rozrywanie się obrazu w poziomie, po prostu przesunięcie jednej jego części względem innej. Spowodowane jest to dwoma czynnikami, które się zazębiają: stałym odświeżaniem ekranu oraz różnym czasem renderowania klatek przez GPU.
Jak już wspominaliśmy, 60-hercowy ekran odświeża obraz co mniej więcej 16 ms. Druga kwestia to nierówny czas renderowania klatek przez GPU. W trakcie gry rzadko się zdarza, by liczba klatek wyświetlanych w ciągu sekundy była stała: złożoność scen sprawia, że na przykład jedna klatka jest generowana przez 8 ms, a następna – przez 16 ms lub 12 ms.
W tej sytuacji często jest tak, że do pewnego momentu w buforze ramki GPU znajduje się jedna klatka, która za chwilę zmieni się na następną. Jeśli ta zmiana nastąpi w środku 16-milisekundowego odświeżenia ekranu, na wyświetlaczu pojawi się rozdarcie.
Jeśli gracz zniesie taki widok, w zamian otrzyma tylko minimalne opóźnienie sygnału. Najnowszy obraz pojawi się na monitorze po prostu najszybciej, jak to możliwe, co jest szczególnie pożądane w szybkich grach wieloosobowych, takich jak Quake Live i Counter-Strike: Global Offensive, w których ułamki sekundy decydują o wygranej lub przegranej.
Ci, dla których takie rozrywanie obrazu to za wiele, są skazani na synchronizację pionową. Wówczas będą wyświetlane całe ramki obrazu i cała zawartość ekranu będzie zmieniana jednocześnie. Przy włączonej synchronizacji pionowej wszystko powinno działać idealnie, ale znów pod warunkiem, że GPU będzie renderować kolejne klatki na sekundę w równych odstępach czasu.
Wiemy jednak, że tak nie jest. Jeśli GPU renderuje klatkę dłużej niż przez mniej więcej 16 ms, na ekranie pojawia się zacięcie i gracz odczuwa opóźnienie. Problemem przy włączonej synchronizacji pionowej jest również odczuwalne zjawisko „pływania” myszy.
Kiedy rdzeń graficzny nie zdąży przygotować nowej klatki do wyświetlenia, monitor wyświetli dwa razy z rzędu tę samą. Gracz doświadczy więc jakby lekkiego zerwania obrazu, które powoduje odczuwalny spadek płynności ruchu, a dodatkową konsekwencją jest opóźnienie.
G-Sync – nowa jakość gry
Właśnie problemy związane z włączoną i wyłączoną synchronizacją pionową postanowiła rozwiązać Nvidia za pomocą techniki G-Sync. Podczas pierwszej, ubiegłorocznej prezentacji prezes firmy Jen-Hsun Huang zadał wszystkim obecnym pytanie: „Dlaczego mielibyśmy wybierać pomiędzy mniejszym [tearing] czy większym [input lag i stuttering] złem?”. Celem było przekazanie kontroli nad wyświetlaczem układowi graficznemu. To on miał decydować, kiedy nastąpi odświeżenie zawartości ekranu.
Kiedy GPU mówi „Odświeżam!”
W idealnej sytuacji, w której karta graficzna w danej grze byłaby zdolna bez zająknięcia renderować 60 kl./s, synchronizacja pionowa sprawdzałaby się znakomicie. Niestety, w praktyce trzeba się liczyć z tym, że w wysokich ustawieniach szczegółowości obrazu karta w jednej części gry zapewni 80 kl./s, a w innej – tylko 40 kl./s. Obciążenie jest dynamiczne i to karta graficzna wie dokładnie, ile trwało renderowanie ostatniej klatki, i właśnie dlatego to ona, jako ostatnia podająca sygnał do samego monitora, powinna mieć kontrolę nad jego ekranem. Sama jednak nie może tak po prostu komunikować się z monitorem i wydawać mu poleceń: obecnie wyświetlacz jest niezależny, odświeża obrazy z ustaloną wcześniej częstotliwością (najczęściej są to wartości: 60 Hz, 120 Hz lub 144 Hz) i po prostu przyjmuje obrazy, które znajdują się na wyjściu karty graficznej.
To dlatego pierwszym niezbędnym krokiem do stworzenia G-Sync było wprowadzenie zmian w elektronice monitora. Aby funkcja G-Sync zadziałała, musi się w nim znaleźć specjalny układ FPGA z 768 MB pamięci DDR3, który zastępuje standardowy skaler. Sam układ komunikuje się z kartą graficzną wyłącznie za pomocą interfejsu DisplayPort 1.2. W pamięci przechowywane są różne informacje, między innymi ostatnia klatka obrazu.
Działanie G-Sync polega na manipulowaniu parametrem VBLANK monitora (różnica czasu pomiędzy wyświetleniem ostatniej linii obrazu x i pierwszej linii obrazu x + 1). W najprostszym tłumaczeniu: karty GeForce GTX 600 i nowsze są zdolne dynamicznie kontrolować odświeżanie obrazu w zakresie od 30 Hz (najdłuższy możliwy sygnał VBLANK to 33,3 ms) do 144 Hz. Warto przy tym wspomnieć, że górny limit wynika nie z ograniczeń G-Sync, a z ograniczeń samych LCD. Nvidia twierdzi, że to rozwiązanie (również w obecnej formie) umiałoby wysterować także szybsze monitory.
Ujmując to jeszcze inaczej: G-Sync sprawia, że to karta graficzna mówi do monitora „Odśwież obraz”. Dopiero wtedy zaczyna on odświeżać panel, od góry do dołu, wyświetlając już pełną, gotową ramkę.
Zalety takiego rozwiązania są nieocenione:
- Znika zjawisko rozrywania obrazu. Na ekranie monitora z włączoną funkcją G-Sync pokazują się tylko pełne, gotowe ramki obrazu, dokładnie tak jak po włączeniu synchronizacji pionowej.
- Wyeliminowane zostają zacięcia. Efekt wywołany wyświetleniem dwa razy tej samej klatki obrazu (bo karta graficzna nie zdążyła w czasie krótszym, niż wynosi czas odświeżania, wyrenderować następnej) również się nie pojawia. G-Sync odświeża obraz od razu, jak tylko klatka zostaje wyrenderowana, i to widać – zarówno bezpośrednio na ekranie, jak i na filmach.
- Opóźnienie sygnału jest tak małe, jak to tylko możliwe. Nvidia twierdzi, że G-Sync nie zapewnia takiej szybkości jak całkowite wyłączenie synchronizacji pionowej, ale jest pod tym względem lepiej niż po jej włączeniu. Opóźnienie będzie dokładnie tak duże, jak duże będą odstępy pomiędzy renderowaniem kolejnych klatek obrazu przez GPU. Sprawdziliśmy to zresztą i swoje spostrzeżenia przedstawiliśmy na stronie 5.
Aktywowanie techniki G-Sync jest bajecznie proste: w sterownikach GeForce, w zakładce Manage 3D Settings, wystarczy na stałe wymusić odświeżanie G-SYNC. Oczywiście, aby to było możliwe, potrzeba jeszcze odpowiedniej karty graficznej (GeForce'a z serii 600 lub nowszego) oraz monitora z modułem G-Sync. Po ustawieniu tego parametru w sterownikach funkcja G-Sync będzie działać w każdej grze: nie ma znaczenia, kto współpracował przy tworzeniu gry: Nvidia, AMD czy Intel.
Z samego zastosowania G-Sync wynika jednak mała wada: wydajność jest o 3–5 proc. gorsza niż po włączeniu synchronizacji pionowej. W momencie gdy GPU wyrenderuje obraz i wyśle go do monitora, karta graficzna zacznie próbkować układ Nvidii w monitorze, aby sprawdzić, w jakim stanie jest wyświetlacz, czy akurat w tej chwili upływa czas VBLANK, tak aby GPU nie wysłał nowej ramki za wcześnie (w połowie skanowania poprzedniego obrazu).
Układ G-Sync do tej pory był dostępny wyłącznie jako dodatkowy, osobno kupowany moduł dla użytkowników jednego z monitorów Asusa: VG248QE. Gracze, którzy chcieli zasmakować tej techniki przed innymi, musieli i wciąż muszą zapłacić za układ G-Sync (który jak już wspominaliśmy, zastępuje skaler w monitorze) około 200 dol. i wykonać przeróbkę na własną rękę. Nad tym sposobem trzeba się poważnie zastanowić ze względu na utratę gwarancji, ale w końcu na rynku zaczynają się pojawiać monitory z fabrycznie zainstalowanym modułem. Jednym z nich jest Asus ROG Swift PG278Q, którego test ukaże się na naszych łamach już wkrótce.
Zapraszamy na następną stronę, na której przedstawiamy kilkanaście filmów nagranych kamerą FASTEC TS3 z szybkością 500 kl./s.
G-Sync w akcji na filmach
Każdy, kogo postawi się przed monitorem, bez problemu dostrzeże zalety G-Sync. Odtwarzacze wideo na stronach internetowych wyświetlają jednak wideo najczęściej w 30 kl./s, więc aby uchwycić rezultat, użyliśmy kamery FASTEC TS3, która nagrywa wideo w 500 kl./s (i rozdzielczości 1280 × 1024). Później spowolniliśmy obraz, aby wyraźnie było widać, w którym miejscu G-Sync okazuje się lepszym rozwiązaniem od konkurencyjnych. Działanie nowej techniki sprawdziliśmy w demie technologicznym Nvidii o nazwie Pendulum, a także w grze Tomb Raider.
Działanie G-Sync w grze Tomb Raider:
Input lag – V-Sync kontra G-Sync
Szczególnie uważnie postanowiliśmy przyjrzeć się opóźnieniu obrazu we wszystkich trzech ustawieniach: przy wyłączonej i włączonej synchronizacji pionowej, a także po aktywowaniu G-Sync.
Opóźnienie sygnału zmierzyliśmy z użyciem swojej nowej metody. Pozwala nam ona ocenić rzeczywiste opóźnienie: od działania gracza do reakcji na ekranie. Więcej na ten temat można przeczytać w naszym niedawnym artykule.
Trochę się obawialiśmy, że układ Nvidii dodatkowo je zwiększy, ale jak się okazało, inżynierowie z Santa Clara zadbali o wszystko: moduł G-Sync wprowadza minimalne, niewyczuwalne opóźnienie i faktycznie jest ono mniejsze niż przy włączonej synchronizacji pionowej. Przypominamy, że to wszystko przy braku zjawiska rozrywania ekranu!
Podsumowanie
G-Sync, czyli technika stworzona przez Nvidię po to, by wyeliminować zjawiska rozrywania ekranu, zacięć oraz opóźnienia sygnału, sprawdza się znakomicie. Pomysł, by to właśnie karta graficzna decydowała o tym, kiedy ma nastąpić kolejne odświeżenie ekranu, okazuje się lekarstwem na dotychczasowe bolączki spowodowane tym, że monitory wyświetlały kolejne obrazy w ustalonych odstępach czasu bez względu na to, czy nowa klatka w buforze GPU była gotowa w całości czy w połowie. Po użyciu G-Sync cały obraz jest wyświetlany dokładnie w tym momencie, w którym rdzeń graficzny kończy go rysować.
Każdy spośród członków redakcji, którzy mieli okazję posiedzieć przed pierwszym monitorem Asusa z wbudowaną obsługą techniki G-Sync (ROG Swift PG278Q), umiał bezbłędnie wskazać, kiedy ta funkcja była włączona, a tym samym odróżnić obraz idealnie płynny od poszarpanego. Nasze początkowe sesje, które miały trwać może z kilkadziesiąt minut i jedynie wstępnie nas zapoznać z nowością, skończyły się beztroską kilkugodzinną zabawą, bo takiej płynności obrazu dotąd nie widzieliśmy. Bez wahania zamienilibyśmy najmocniejsze zestawy, takie jak Core i7 @ 4,5 GHz i dwa GTX-y 780 w SLI, na Core i5 @ 4,5 GHz, pojedynczy GTX 780 i po prostu monitor z modułem G-Sync.
O tym, jak świetny jest to pomysł, najlepiej świadczą ruchy rywala, który w pośpiechu stworzył własny wariant, FreeSync. Na razie jednak producenci monitorów nie chcą na ten temat powiedzieć ani słowa, a samo AMD twierdzi, że produkty z obsługą techniki FreeSync faktycznie będą dostępne dopiero w przyszłym roku. Zatem nowość Nvidii obecnie nie ma żadnej realnej konkurencji.
Jeśli chodzi o cenę rozwiązania Nvidii, możemy się opierać wyłącznie na cenie zestawu do samodzielnego montażu, która wynosi 200 dol. Jest wysoka, ale usprawiedliwiona, bo konkurencji nie ma. Nie umiemy tylko pogodzić się z tym, że użycie G-Sync w monitorze VG248QE wiąże się z wymianą całej jego elektroniki, co równa się utracie gwarancji. Trudno więc polecić tę opcję do typowego domowego komputera.
Większość będzie zainteresowana przede wszystkim gotowymi konstrukcjami z G-Sync, a te dopiero zaczynają pojawiać się na rynku. Pierwszym monitorem z fabrycznie zamontowanym modułem jest 144-hercowy Asus ROG Swift PG278Q o rozdzielczości 2560 × 1440, który kosztuje około 3000 zł. Niestety, nie wiadomo, w jakim stopniu na cenę wpłynęło użycie G-Sync, a jaką to, że model Asusa to pierwszy monitor o rozdzielczości WQHD z tak wysokim odświeżaniem ekranu. Swoje konstrukcje zapowiedziało jednak pięciu innych producentów: Acer, AOC, Asus, BenQ, Philips oraz ViewSonic.
Jedno jest pewne: G-Sync zasługuje na uznanie, bo to rewolucja w dziedzinie płynności obrazu w grach przeznaczonych na komputery osobiste.