NVIDIA Reflex, Broadcast i nowe NVENC – sprawdzamy, co Zieloni oferują streamerom
Dziś nie chcemy już tylko grać w gry. Chcemy także dzielić się tym doświadczeniem oraz oglądać rozgrywkę innych graczy. Według danych StreamElements tylko w drugim kwartale tego roku widzowie obejrzeli na Twitchu ponad 2,72 mld godzin strumieniowanego na żywo obrazu. Nic dziwnego, że pojawiają się całe systemy doskonalenia streamingu wideo – ciekawe narzędzia udostępnia między innymi NVIDIA.
Słowo systemy nie jest tu bynajmniej na wyrost. Zieloni przygotowali bowiem cały zestaw mechanizmów, które w sposób odczuwalny zarówno dla gracza, jak i widzów, ale też widoczny gołym okiem, wpływa na znaczny wzrost jakości streamów z gier. Na system składają się trzy elementy – mechanizm umożliwiający precyzyjny pomiar opóźnień, koder sprzętowy oraz aplikacja służącą do strumieniowania. Przyjrzyjmy się każdemu z nich osobna oraz korzyściom, jakie zauważą dzięki nim miłośnicy streamingu po obu stronach serwerów Twitcha czy YouTube’a.
NVIDIA Reflex
NVIDIA Reflex to zdecydowanie jedno z najciekawszych rozwiązań, z jakich korzystać mogą gracze w celu redukcji opóźnień. Aby wyjaśnić ich działanie, konieczne jest określenie o jakim rodzaju opóźnienia mowa. Nie chodzi bowiem o opóźnienie wynikające np. ze zbyt dużego pingu czy utraty pakietów podczas przesłania danych z komputera na serwer gry, lecz opóźnienie lokalne – czas dzielący kliknięcie czy naciśnięcie klawisza od reakcji w świecie gry. Dotąd, aby mierzyć ten rodzaj opóźnienia, konieczne było stosowanie kosztownego sprzętu, choćby kamery filmującej z prędkością kilku czy nawet kilkudziesięciu tysięcy klatek na sekundę, a następnie jeszcze wnikliwej analizy każdej z nich.
Przy okazji premiery kart RTX 30 zaprezentowano zbiór mechanizmów, dzięki którym posiadacze konfiguracji bazujących nawet na czteroletnich układach – obsługiwana jest seria GTX 900 (architektura Maxwell) i wszystkie układy Zielonych, które pojawiły się później – będą mogli odczuć spadek opóźnienia. Co ważne, nie są do tego potrzebne żadne dodatkowe zakupy, gdyż kluczową rolę odgrywa w całym systemie SDK udostępnione już studiom odpowiedzialnym za największe turniejowe tytuły (Apex Legends, Call of Duty: Black Ops Cold War, Call of Duty: Modern Warfare - Warzone, Destiny 2, Fortnite, Valorant). Dzięki niemu to twórcy gier będą mogli optymalizować swoje tytuły pod kątem redukcji opóźnień. SDK wprowadza także liczne mechanizmy balansowania obciążeń pomiędzy CPU i GPU pod kątem możliwie jak największej redukcji opóźnień.
Rezultaty robią wrażenie – dla Destiny 2 udało się zredukować opóźnienie z 77 ms do 51 ms, dla Fortnite’a zaś z 56 do 38 ms. Warto też zwrócić uwagę, że NVIDIA Reflex redukuje opóźnienia skuteczniej zwłaszcza przy dużych obciążeniach, np. redukcja opóźnień w Fortnite wyświetlanym w rozdzielczości Full HD wyniosła 2 ms – z 23 na 21 ms, co stanowi 8,7-procentowy spadek opóźnienia. W przypadku rozgrywki w rozdzielczości 4K udało się obniżyć opóźnienie z 49 ms do 31 ms, a zatem niemal o 37%.
Dodatkowe korzyści będą mogli uzyskać posiadacze monitorów G-SYNC 360. W tym przypadku NVIDIA Reflex automatyzuje proces redukcji opóźnień bez konieczności stosowania jakichkolwiek zewnętrznych urządzeń pomiarowych – wszystko odbywa się na poziomie oprogramowania i urządzeń peryferyjnych, algorytmy przetwarzają cały proces od samego początku do końca. Aby dokonać pomiaru, należy w pierwszej kolejności podłączyć mysz do specjalnego portu USB Reflex dostępnego w monitorach G-Sync 360 Hz. Gniazdo to umożliwia pomiar od momentu konwersji mechanicznego naciśnięcia klawisza do sygnału cyfrowego. Następnie mogą zostać zmierzona opóźnienia na wszystkich kolejnych etapach – przetworzenia sygnału przez procesor, kolejne fazy potoku, aż po wyświetlanie reakcji na działanie gracza na monitorze. NVIDIA może bowiem identyfikować moment reakcji, np. wystrzału już od pierwszego pikseli animacji i na to podstawie optymalizować cały proces.
Nowy koder NVENC
Aby dostarczać obraz w zadowalającej jakości do widzów, konieczne jest utrzymanie odpowiedniej przepływności łącza, czyli bitrate’u. Na przykład przesyłanie obrazu w rozdzielczości 4K do 100 osób bez jakichkolwiek mechanizmów kompresji wymagałoby przepływności rzędu 1,4 Gb/s. Na platformie Twitch streamerom zaleca się zapewnienie 6 Mb/s przy strumieniowaniu wideo w rozdzielczości FullHD oraz 60 klatkach na sekundę. Nie zawsze jednak zapewnienie takie połączenia jest możliwe.
Pojawia się jeszcze jeden problem. Podczas strumieniowania rozgrywki przed komputerem stoją równocześnie dwa obciążające zadania – renderowanie najczęściej trójwymiarowej grafiki w grze oraz renderowanie dwuwymiarowego obrazu, który oglądają widzowie. Profesjonalni streamerzy zazwyczaj rozdzielają te zadania na dwie maszyny – na jednej grają, a na drugiej renderują obraz z gry, który wysyłany jest następnie na serwery platformy streamingowej, np. wspomnianego Twitcha czy YouTube’a.
Dlatego NVIDIA we współpracy z twórcami Open Broadcaster Software zdecydowała się na wprowadzenie usprawnień w NVENC – sprzętowym koderze standardu H.264. W kartach GeForce RTX z serii 20 oraz najnowszych GeForce RTX z serii 30 dokonano znaczących optymalizacji, dzięki którym w stosunku do poprzedniej generacji NVENC znanym z kart Pascal obraz tej samej jakości można przesyłać ze znacznie mniejszym bitratem. Co ważne, całkowicie wyeliminowana zostaje konieczność wykorzystania drugiego komputera – NVENC w 100% odciąża CPU z zadań związanych z kodowaniem, gdyż cały proces odbywa się na karcie graficznej. Kodowanie na oddzielnym komponencie karty eliminuje także sytuacje, w którym obciążany procesor będzie dla GPU stanowił wąskie gardło.
Rezultaty są widoczne gołym okiem na powyższych zrzutach – zwłaszcza w przypadku mniejszych elementów (np. czcionek czy oddalonych postaci) znacznie zredukowana zostaje liczba artefaktów. A wszystko to w obrębie jednej maszyny, bez konieczności angażowania do dodatkowej mocy obliczeniowej do renderowania streamowanego obrazu.
NVIDIA Broadcast
Wisienką na torcie propozycji NVIDII adresowanych do miłośników streamingu jest nowa aplikacja NVIDIA Broadcast. Program został zaprojektowany właśnie w celu zaspokojenia wszelkich potrzeb osób chcących dzielić się rozgrywką z innymi. Dzięki sprytnym zabiegom optymalizacyjnym umożliwia ona odczuwalny wzrost jakości przetwarzanego dźwięku i obrazu nawet w sytuacji, której nie dysponujemy zbyt zaawansowanym sprzętem.
NVIDIA Broadcast App | Push the Limits With AI-Powered Voice and Video
Przede wszystkim NVIDIA Broadcast oferuje funkcję inteligentnego usuwania niepożądanych dźwięków zbieranych przypadkowo z otoczenia. Priorytetyzowany jest oczywiście głos samego gracza, zaś wszelkie szumy i inne dźwięki środowiskowe są wyciszane. Według producenta program ma sobie poradzić nawet w sytuacji, gdy do pomieszczenia wejdzie osoba z włączoną suszarką do włosów. Aplikacja umożliwia także stosowanie takich zabiegów, jakie znamy z programów do wideokonferencji, np. Zooma. Broadcast automatycznie rozpoznaje krawędzi sylwetki gracza, a następnie pozwala wstawić efektowne tło zasłaniające resztę pomieszczenia. Co ważne, tłem może być także sama streamowana rozgrywka. Dostępna jest także funkcja pozwalająca zmniejszyć sylwetkę gracza na ekranie oraz umiejscowić ją w rogu, dzięki czemu w zasadzie w całkowicie zautomatyzowany sposób otrzymujemy obraz gotowy do streamowania. Dostępna jest także funkcja auto-frame pozwalająca śledzić ruchy gracza na przeskalowanym obrazie. Program NVIDIA Broadcast jest w pełni kompatybilny z najpopularniejszymi platformami streamingowymi.