Może to dziwne, ale dzięki komputerowi, który do nas trafił dzięki współpracy z firmą HP zupełnie inaczej spojrzałem na świat wokół. Tak, wiem, że brzmi to nieco górnolotnie, ale tak właśnie było. Co ciekawe spojrzałem wtedy, gdy przestałem patrzeć w ekran i rozejrzałem się wokół. OK, już wyjaśniam, o co mi chodzi. Ten komputer to stworzony dla graczy Victus by HP z kartą graficzną NVIDIA GeForce RTX 3060 na pokładzie (pełna specyfikacja – na końcu). A moje olśnienie (dosłownie) wzięło się z analizy tych trzech tajemniczych literek: „RTX”. Kryją się pod nimi rozwiązania, które pozwalają odwzorować rzeczywisty świat z niespotykaną wcześniej dokładnością. By to docenić, zacząłem się przyglądać temu, co miało być odwzorowywane: zachowaniu światła wokół mnie i… zdziwiłem się. Ale po kolei.
Nie będę pytał, czy pamiętacie film „Auta”. Wszyscy go pamiętają. Przede wszystkim za sprawą fenomenalnej akcji i dialogów (wraz z doskonałym polskim tłumaczeniem i dubbingiem), ale też dzięki niespotykanej wcześniej jakości i realizmowi animacji. No właśnie – animacja. Pędzące maszyny, oświetlony jaskrawo tor, lśniące karoserie (kto nie pamięta, ten niech rzuci okiem). Tak, lśniąca karoseria to właśnie to, na czym chcę się zatrzymać. „Auta” były pierwszym filmem animowanym, w którym udało się pokazać realistyczne odbicia światła (ok, Pixar próbował to zrobić już w 1998 r. w dwóch scenach „Dawno temu w trawie”, ale efekt był… taki sobie).
Wykorzystano tu technikę ray tracingu czyli śledzenia promieni światła. Chodzi o odtworzenie tego, co w realnym świecie jest oczywiste. Wystarczy się rozejrzeć. Szyba. Szklanka. Ekran. Stół. Wszystkie te przedmioty zaburzają bieg promieni światła – rozpraszają je, odbijają, pochłaniają. To dzieje się samo, tak po prostu.
Bez tego efektu świat wydaje się… dziwny. Matowy. Nienaturalny.
Tymczasem na ekranie sprawa staje się skomplikowana, bo nic tu nie dzieje się samo. Trzeba nadać materiałom odpowiednie właściwości optyczne, a potem kazać komputerowi obliczyć, jak zachowa się światło padające na daną powierzchnię. To ogromnie złożone, bo wystarczy minimalne przesunięcie i zmieniają się wszystkie parametry.
Jak powstaje fotorealistyczna grafika
Wygenerowanie obrazu na podstawie zapisanych w postaci algorytmów reguł, czyli proces zwany renderowaniem, to najbardziej czasochłonny moment. To wtedy wylicza się bieg poszczególnych promieni światła. Odbywa się to odwrotnie niż w rzeczywistym świecie, bo interesują nas wyłącznie te promienie, które trafiają do „oka” odbiorcy, czyli punktu, w którym znajduje się wirtualna kamera. Dlatego nie liczy się biegu od źródła światła DO oka, a OD oka do źródła. Pozostałe promienie można pominąć. Mimo tego do obliczenia pozostaje bieg dziesiątków lub nawet setek milionów promieni światła dla każdej sceny.
Nic więc dziwnego, że Pixar podczas renderowania „Aut” potrzebował od kilku do nawet kilkudziesięciu godzin (średnio 17) na stworzenie jednej klatki obrazu! Przypomnę tylko, że w każdej sekundzie filmu jest takich klatek 30. To dlatego firma wykorzystywała (i nadal wykorzystuje) potężny superkomputer składający się z 2000-3000 jednostek.
To teraz podnosimy poprzeczkę. Nie renderujemy już spokojnego obrazu widzianego ze stabilnego i bezpiecznego punktu widzenia, jakim jest z góry zaplanowane położenie wirtualnej kamery. Zamiast tego lądujemy w środku gry. Dynamicznej walki z zombie i skakania po dachach (jak w polskim Dying Light 2), eksploracji świata nordyckich bogów (jak w znakomitym God of War) czy złożonego z milionów bloków świata Minecrafta. Zamiast spokojnego prowadzenia kamery – zwroty i skoki. Wiele źródeł światła, wiele postaci i przedmiotów.
I już nie 30, tylko 60 czy 90 klatek na sekundę. A na renderowanie nie mamy godzin, minut ani nawet sekund, bo to gra toczy się w czasie rzeczywistym, więc kolejne klatki muszą powstawać natychmiast. Co więcej dzieje się to na komputerze, który z łatwością można postawić na dłoni – w moim przypadku to ważący 2,5 kg Victus by HP. Czujecie skalę tego wyzwania?
Czy 16-calowy laptop dla graczy jest w stanie zastąpić superkomputer?
Karty graficzne z tak zaawansowanymi funkcjami nie są już tylko straszliwie grzejącymi się i dziko pożerającymi prąd skrzynkami, które mają rację bytu tylko potężnych komputerach stacjonarnych. Ich mobilne wersje działają z powodzeniem w laptopach pozwalając na granie tam, gdzie nam akurat wygodnie. Firma HP wprowadza właśnie nową linię takich komputerów – Victus by HP. Producent twierdzi, że to konfiguracja dla ”graczy będących na początku swojej przygody z gamingiem”, ale moim zdaniem usatysfakcjonuje nawet tych całkiem zaawansowanych (rzućcie okiem na konfigurację na końcu tekstu). Ja spędziłem sporo godzin w światach, w których cień i światło wyglądają po prostu niesamowicie.
Wracając do tematyki oświetlenia. Przez lata „wtłoczenie” zaawansowanych technik śledzenia promieni światła do małych komputerów nie było możliwe. Ray tracing i powiązane z nim technologie działały albo na potężnych serwerach albo nie w czasie rzeczywistym. Czyli były niedostępne/bezużyteczne dla zwykłych graczy.
Wszystko zmieniło się w 2018 roku, gdy na rynku pojawiły się pierwsze karty graficzne firmy NVIDIA należące do serii RTX. Ich karty miały wbudowane procedury obsługujące ray tracing na poziomie sprzętowym, a więc nie obciążały obliczeniami głównych jednostek graficznych.
To otworzyło drogę do stosowania w grach nowej technologii. Zaczęły się pojawiać kolejne tytuły, które śmiało można nazwać rewolucyjnymi, bo realizm obrazu, jaki oferowały nie przypominał niczego, co wcześniej widzieliśmy w grach. Dlaczego?
Oświetlenie w tworzonych przez komputery obrazach to trudna sprawa. Znowu proponuję oderwać wzrok od ekranu i rozejrzeć się. Niektóre powierzchnie wokół nas są rozświetlone tak, że widać każdy ich detal. Inne pozostają ciemne, niemal czarne. Światło tworzy cienie – czasem ostre, czasem rozproszone. Niektóre obszary, jak choćby zagięcia ubrań, są osłonięte. Ale czasem materiał prześwieca i zamiast zupełnego mroku widzimy światło przefiltrowane, o wyraźnym kolorze. Promienie rozpraszają się na drobinach wiszących w ziemskiej atmosferze – od najdrobniejszych pyłków po wyraźnie widoczne cząsteczki kurzu. Wszystko to, co opisuję widzę w chwili pisania tego tekstu, bez ruszania się z miejsca. A przecież gdy wstanę i zrobię kilka kroków, wiele się zmieni.
Nasz mózg od dziecka uczy się analizy tych wszystkich detali. Oczywiście nie uświadamiamy sobie, ale obserwując takie niuanse oceniamy odległości, głębię, wychwytujemy ruch. Dlatego obraz pozbawiony tych elementów odbieramy jako nienaturalny.
Z odtwarzaniem detali twórcy gier poradzili sobie dawno – już 25 lat temu przedmioty zaczęły wyglądać dość realistycznie. Ale problem oświetlenia świata starano się rozwiązywać przy pomocy najróżniejszych sztuczek. Jedną z najczęściej stosowanych było oświetlenie „znikąd”. Chcąc zapewnić dobrą widoczność różnych obiektów, a nie dysponując wystarczającą mocą obliczeniową do śledzenia promieni światła zdecydowano się na coś w rodzaju „świecącego powietrza”. Ten system sprawia, że wszystko zdaje się być oświetlone delikatną, nieokreśloną poświatą. Do tego dodawane są cienie czy inne zjawiska, ale całość robi mocno nienaturalne wrażenie.
Natomiast wprowadzenie śledzenia promieni światła możliwe dzięki kartom graficznym serii RTX zmienia wszystko. Spójrzcie na ten fragment filmu pokazującego scenę z gry Dying Light 2. Najpierw widać budynek oświetlony rozproszonym światłem (nie wiadomo skąd dochodzącym, bo słońce wyraźnie znajduje się z tyłu), a po chwili włączony zostaje ray tracing i… świat wygląda zupełnie inaczej.
Ale efekt jest niesamowity nie tylko tam, gdzie twórcy gry decydują się na tworzenie fotorealistycznej grafiki. Wystarczy spojrzeć na Minecrafta, niesamowicie popularną, uwielbianą przez miliony i przeze mnie grę. Powstała jej wersja obsługująca ray tracing, a efekty są… niezwykłe:
Sama grafika to nie wszystko. Victus by HP to optymalna konfiguracja ze skutecznym chłodzeniem.
Kłopot w tym, że „zaszycie” ray tracingu w kartach graficznych serii RTX nie załatwia wszystkiego. By uzyskać efekt naprawdę wysokiego realizmu potrzeba bardzo szybkiego procesora i dużej pamięci. A nawet przy naprawdę silnym komputerze bardziej wymagające sceny wyraźnie spowalniają tempo generowania kolejnych klatek (przypominam – to to, co Pixarowi zajmowało kiedyś długie godziny). Widać to w postaci parametru opisywanego jako FPS, czyli frames per second. To nic innego, jak właśnie liczba „obrazków”, które komputer jest w stanie wyświetlić w ciągu jednej sekundy. Gra jest płynna, dopóki parametr ten nie spada poniżej jakichś 25 FPS, ale im więcej, tym obraz lepszy, a ruch bardziej naturalny (ok, to ma swoje granice, bo gdzieś w okolicach 100 klatek na sekundę różnicę już bardzo trudno wychwycić).
Za wydajnością karty graficznej musi podążać odpowiednia moc procesora. Tutaj Victus by HP nie zawodzi, bo 8-rdzeniowy procesor AMD Ryzen 7-5800H, wspierany 16 GB pamięci RAM bez problemu radzi sobie z zapewnieniem grom odpowiedniej płynności. Istotne jest także, to, że laptop, pomimo bardzo smukłej i eleganckiej obudowy potrafi zachować wysoką kulturę pracy. Układ chłodzenia, zaprojektowano tak aby efektywnie odprowadzać ciepło generowane przez komponenty i choć gracze zazwyczaj korzystają ze słuchawek i nawet głośniej pracujące wentylatory nie są dla nich problemem, to warto zaznaczyć, że Victus by HP wyróżnia się na tym polu i nawet podczas wymagających operacji nie jest hałaśliwy. Przy typowych zadaniach praktycznie go nie słychać.
Sztuczna inteligencja, która rewolucjonizuje grafikę w laptopach
Wyobraźmy sobie scenę (znowu sięgnę do wydanej w styczniu 2022 roku gry God of War na PC), w której naszemu bohaterowi (widocznemu na pierwszym planie) towarzyszy sojusznik, na ekranie równocześnie widzimy kilku wrogów, co najmniej dwa źródła światła (słońce i ogień), mnóstwo cieni i detali. W takiej chwili system ma tyle pracy, że liczba generowanych w ciągu sekundy klatek spada o 20 a nawet 40%. Oczywiście zawsze można dać złotą radę w stylu „kup sobie lepszy komputer”, ale bądźmy poważni – są lepsze rozwiązania.
I tu sięgamy po kolejną technologię kryjącą się za tajemniczym skrótem „RTX” w nazwie NVIDIA GeForce RTX 3060. Chodzi o system zwany DLSS (Deep Learning Super Sampling). To rozwiązanie oparte na systemach sztucznej inteligencji, które zajmuje się poprawianiem jakości obrazu.
W skrócie – nasze mózgi lubią szczegóły. Nic dziwnego: znowu odrywam wzrok od ekranu, patrzę na pokój i widzę słoje drewna na komodzie, cienkie wielobarwne linie na obrazie wiszącym na ścianie, kropeczki światła odbijające się w metalowych magnetycznych kuleczkach. Jeśli obraz pozbawimy tych detali, traci na realizmie.
Tymczasem dla komputera pokazanie tych wszystkich szczegółów w grze wraz z ich prawidłowym oświetleniem to ogrom pracy i czasu. Dałoby się to obciążenie zmniejszyć w prosty sposób – renderując mniejszy obraz. Mniejszy, czyli zawierający mniej pikseli, a więc wymagający mniej obliczeń. Proste?
No, prawie. Kłopot w tym, że nikt nie chce grać wpatrując się w małe obrazki. Po to mamy duże wyświetlacze o rozdzielczości Full HD, 2K czy 4K, żeby się nimi cieszyć. A mały obrazek rozciągnięty do takiego rozmiaru wygląda fatalnie, bo nasze mózgi doskonale wyłapują niedoskonałości. Zresztą sami spójrzcie:
No i tu właśnie wkracza DLSS ze swoją sztuczną inteligencją. Pomysł polega na tym, by nauczyć komputer sprytnego powiększania obrazu. Sprytnego, czyli takiego, którego nasze mózgi nie zauważą, a które da jak największe oszczędności mocy obliczeniowej. Kluczowym elementem jest tu traktowanie kolejnych klatek gry nie jako oddzielnych obrazków, ale jako ciągu powiązanych ze sobą zdarzeń. To inaczej niż w filmie, gdzie co chwilę mamy zmianę kadru i przerwanie takiej ciągłości. W grze przez większość czasu śledzimy wydarzenia oczami bohatera czy zza jego pleców i kolejna klatka jest po prostu rozwojem wydarzeń z poprzedniej.
Po co więc za każdym razem renderować wszystko od nowa, skoro można skorzystać z już „narysowanego” materiału? Wystarczy wziąć pod uwagę wektory ruchu odbywającego się na ekranie i proszę – mamy świetny efekt uzyskany niewielkim wysiłkiem (procesora).
Czyli w rzeczywistości karta graficzna tworzy mniejszy obraz, co zużywa mniej zasobów, a system DLSS powiększa go do docelowej rozdzielczości w taki sposób, że jest to praktycznie niedostrzegalne. W efekcie nawet przy słabszym systemie jesteśmy w stanie utrzymać bardzo dużą liczbę klatek na sekundę, a więc zachować znakomitą płynność ruchu przy świetnej jakości obrazu. Przykład? Proszę bardzo:
Płynność ekranu ma znaczenie
Oczywiście by dostrzec różnicę trzeba mieć ekran, który zdoła wyświetlić tak wiele klatek w ciągu sekundy. W przypadku komputera Victus by HP, na którym grałem w opisywane gry i na którym piszę ten tekst nie ma problemu, bo ekran może być odświeżany nawet 144 razy na sekundę. Przy bardzo dobrej jasności i rozmiarze 16,1 cala wrażenia są po prostu świetne.
No i właśnie korzystanie z takiego ekranu, na którym obraz wyświetla potężna karta graficzna sprawiło, że spojrzałem w świeży sposób również na to, co zaczyna się zaraz za krawędzią ekranu. Te niuanse światła na mojej szafie, ciemność za głośnikiem i mieszające się odcienie światła na stole. Kto by pomyślał, że podziwianie świetnej symulacji może prowadzić wprost do doceniania rzeczywistości.
A, obiecałem jeszcze przedstawić konfigurację maszyny, która stała się inspiracją do powstania tego tekstu. Poznajcie zatem szczegóły laptopa Victus by HP 16:
karta graficzna: NVIDIA GeForce RTX 3060 6GB VRAM
procesor: Ryzen 7-5800H octa
RAM: 16GB DDR4 2DM 3200
dysk: 1TB PCIe 3×4
wyświetlacz: 16.1 FHD Antiglare IPS 250 nits 144Hz Narrow Border flat
Tekst jest elementem współpracy z firmą HP. Partner nie miał wpływu na wyrażane przez nas opinie
You must be logged in to post a comment.