- najwydajniejsza karta graficzna - Nvidia GeForce RTX 2080 Ti na kolanach!
- 11 GB VRAM to za mało!
- Najbardziej zaawansowany model śledzenia promieni w grze komputerowej
- Po prostu WOW! (w oddali pochlipuje GeForce RTX 2060)
Minecraft, skromna gra studia Mojang, która skradła serca 176 milionów graczy, to dzisiaj ścisła czołówka najpopularniejszych gier komputerowych. Tytuł ten zatrzymuje przed monitorem jednakowo młodego gracza, spragnionego przeżycia przygody jak i inżyniera budującego swoją maszynę w świecie Minecraft. Ikoną stała się bardzo prosta oprawa graficzną, bazującą na sześcianach, wszak nie o grafikę w tej grze miało chodzić. Co jednym fascynowało, drugim przeszkadzało, dlatego też ta charakterystyczna oprawa graficzna stała się pożywką dla ogromnej rzeszy utalentowanych moderów i prężnie rozwijających się studiów gier. Ów użytkownicy od początków istnienia gry starali się ją ulepszyć, najczęściej poprzez dodanie tekstur lepszej jakości, a kończąc na implementacji własnych rozwiązań dotyczących śledzenia promieni w grze - pisaliśmy o tym niedawno.
Nvidia i Microsoft prężą ray tracingowe muskuły
Premiera kart graficznych Nvidia GeForce RTX dla wielu graczy była rozczarowaniem, nowe karty graficzne Nvidii były szybsze od swoich poprzedniczek, ale gracze spodziewali się większego skoku wydajności. Nvidia myślała inaczej, to był moment, w którym postanowiła zaprezentować graczom, że rozwój grafiki komputerowej nie zatrzymał się w miejscu. Nvidia wyjęła swojego asa w postaci implementacji techniki śledzenia promieni, która miała zrewolucjonizować jakość oprawy graficznej w nowych grach. Niestety początki były bardzo trudne, pierwsza gra która miała obsługiwać śledzenie promieni, czyli Battlefield V, zadebiutowała bez tej techniki. Na jej implementację musieliśmy czekać kolejne sześć miesięcy. Nie była to wina Nvidii, a splot paru nieszczęśliwych wydarzeń. Za jedno z nich odpowiadał bezpośrednio Microsoft. Inżynierowie najzwyczajniej nie zdążyli zaimplementować odpowiednich rozszerzeń Direct RT do bibliotek DirectX 12, przez co gry nie mogły wykorzystywać wyspecjalizowanych rdzeni RT w kartach graficznych Nvidii. Czas mijał, na rynku pojawiało się coraz więcej tytułów wspierających efekty śledzenia promieni, jedne lepsze np. Control, Metro i słabsze Shadow of the Tomb Raider. Gracze narzekali, że efekty śledzenia promieni nie polepszyły oprawy graficznej w spektakularny sposób, że to "tylko" trochę lepsze cienie, trochę lepsze odbicia. Żartowano, że żeby odkryć piękno ray tracingu, trzeba go zaimplementować do Minecraft'a. Po takich stwierdzeniach, Nvidii nie pozostało nic innego, jak skupić się nad tym projektem. Niech się gracze przekonają, że technika śledzenia promieni to przyszłość i nawet taki Minecraft, będzie nas zachwycał swoją oprawą.
Minecraft RT (beta) – wymagania sprzętowe
Najsłabsza konfiguracja, która zdaniem producenta gry nadaje się do jej uruchomienia w rozdzielczości 1920 × 1080 pikseli, to:
- procesor – Intel Core i5-4960 / AMD A10-7800,
- karta graficzna – GeForce RTX 2060 6 GB, lub szybsza z rdzeniami RT,
- pamięć operacyjna (RAM) – 8 GB,
- nośnik danych – 4 GB,
- system operacyjny – Windows 10 64-bitowy.
Przedstawione wymagania sprzętowe w bezwzględny sposób determinują, kto zagra w nowego Minecraft'a. Tylko posiadacze kart graficznych Nvidii i to najlepiej posiadacze kart graficznych z serii RTX. W dalszej części artykułu przekonacie się, czy RTX 2060 faktycznie wystarczy do grania w najnowszego Minecraft'a
Miejsce testowe
Na start beta testów gry Minecrat w wersji RTX dostajemy sześć zróżnicowanych etapów, w których prezentowane są różne efekty techniki śledzenia promieni. My postanowiliśmy zbudować własny świat i w nim przetestować poszczególne efekty ray tracingu. Poniżej prezentujemy przejście przez naszą budowlę z szeregiem efektów śledzenia promieni.
Miejsce testowe z włączonymi efektami śledzenia promieni.
Miejsce testowe z wyłączonymi efektami śledzenia promieni.
Minecraft RTX (beta) – platforma testowa
Platforma do pomiarów wydajności kart graficznych składała się z następujących podzespołów:
Sprzęt | Dostawca | |
---|---|---|
Procesor | Core i7-8700K @ 4,9 GHz | |
Płyta główna | ROG Maximus X Apex | www.asus.com |
Monitor WQHD 144 Hz G-Sync | Asus ROG Swift PG278Q | www.nvidia.pl |
Monitor 4K 60 Hz G-Sync | Acer XB280HK | www.acer.pl |
Pamięć DDR4 | Kingston HyperX Predator DDR4 16 GB 3200 MHz | www.kingston.com |
Nośnik systemowy | Crucial BX100 960 GB | www.crucial.com |
Nośnik dodatkowy | Crucial BX100 960 GB | www.crucial.com |
Schładzacz procesora | DeepCool Captain 240EX RGB | www.noctua.at |
Zasilacz | Corsair RM1000i | www.corsair.com |
Obudowa | aerocool.com.plFractal Design Define R6 | www.corsair.com |
Miernik poziomu dźwięku | Sonopan SON-50 | www.sonopan.com.pl |
System operacyjny:
- Windows 10 64-bitowy.
Sterowniki:
- Nvidia GeForce 445.85 WHQL
Minecraft RTX (beta) — jakość grafiki
Minecraft RTX otrzymał od Nvidii i Microsoftu gigantyczną liczbę ulepszeń i poprawek. Zacznijmy od pierwszej i najważniejszej z nich. Wszystkie sześciany otrzymały tekstury PBR. Tekstury PBR, czyli Phisically Based Rendering, to nic innego jak tekstury o parametrach fizycznych. Każda taka pojedyncza tekstura składa się z kilku parametrów lub przypisanych map. Podstawowe materiały PBR w Minecraft składają się z sześciu map odpowiadających poszczególnym parametrom fizycznym.
- Color - parametr ten odpowiada za barwę obiektu, w programach do tworzenia materiałów PBR występuje pod nazwą albedo.
- Opacity - czyli przezroczystość, jak łatwo się domyśleć, parametr ten odpowiada za przezroczystość obiektu.
- Metallic - metaliczność, to parametr odpowiadający za połyskliwość materiału.
- Normal (map) - mapy normalne definiują, małe detale na powierzchni materiału np. niewielkie wgłębienia, czy strukturę drewna.
- Emmisive - emisyjność, odpowiada za to, czy dany materiał emituje ze swojej powierzchni światło.
- Roughness - czyli szorstkość, chropowatość, parametr ten jest odpowiedzialny za odbicia w materiale. Im obiekt jest gładszy, tym lepiej odbija się w nim otoczenie. Lustro to obiekt idealnie gładki.
W Minecraft RTX twórcy chcieli, żeby wszystkie materiały miały wartości fizyczne, więc takie materiały jak szkło i woda też otrzymały odpowiednie parametry.
Szkło poza parametrami, color, opacity, roughness, otrzymało parametr:
- IOR (ang. index of refraction) - IOR w dużym uproszczeniu odpowiada za współczynnik załamania się promieni słonecznych na powierzchni, na którą padają promienie słoneczne. Bbardzo dobrym przykładem jest akwarium lub szklanka z wodą. Obraz w szklance z wodą będzie zniekształcony pomimo tego, że woda jest idealnie przezroczysta. IOR dla zwykłego szkła wynosi 1.500.
- Kolor szkła oczywiście wpływa na kolor rzucanego cienia, jak i na finalną barwę światła przechodzącego przez kolorową szybę.
Korytarz zbudowany z kolorowych szklanych płytek, rzucających cienie na posadzkę.
Tylko dzięki śledzeniu promieni możemy uzyskać taki efekt w czasie rzeczywistym.
Woda to kolejny element, który zastał w pełni oddany z użyciem parametrów fizycznych. Otrzymała ona te same parametry co szkło, ale też otrzymała parametr absorpcji światła, stała się też materiałem wolumetrycznym. Skutkuje to tym, że wraz z głębokością zbiornika wodnego światło traci na intensywności, promień światła nie jest w stanie przeniknąć głębiej. Powoduje to, że woda jest wyjątkowo zasobożerna. Zwykły materiał jest testowany jeden raz dla pojedynczego promienia światła. Promień trafia w powierzchnię i od razu otrzymujemy wynik, co dalej dzieje się z nim. W przypadku wody jest inaczej. Promień trafia w taflę wody i ją przenika, to pierwszy test. Następnie, wraz z zagłębianiem się, dokonywane są kolejne testy, aż do wygaśnięcia energii pojedynczego promienia światła. Liczba testów uzależniona jest od dwóch parametrów: od mocy promienia światła i maksymalnej liczby pomiarów ang. cutoff.
Zakrzywienie perspektywy przy spoglądaniu na taflę wody
Zakrzywienie perspektywy przy patrzeniu na wprost strumienia wody.
Promienie słoneczne pod wodą, odbicie dna w tafli wody.
Oświetlenie Globalne
Minecraft RTX do oświetlenia świata wykorzystuje oświetlenie bazujące na fizycznym modelu rozchodzenia się promieni słonecznych. Jest to na tę chwilę najbardziej zaawansowany tego typu model. Parametr odbić pojedynczego promienia od różnych powierzchni został zwiększony do ośmiu odbić. To wręcz astronomiczna liczba, biorąc pod uwagę to, że druga gra, która wykorzystywała oświetlenie globalne (Metro: Exodus) ma ustawiony ten parametr na dwa. Dzięki tak wysokiemu parametrowi odbić pojedynczego promienia, oświetlenie w Minecraft RTX jest bardzo naturalne i plastyczne.
Żeby sprawdzić, jak liczba głęboko promienie słoneczne docierają, zbudowaliśmy prosty labirynt, który w naturalny sposób ogranicza penetrację światła.
Wejście do labiryntu z włączonymi efektami śledzenia promieni.
Wejście do labiryntu z wyłączonymi efektami śledzenia promieni.
Dzięki oświetleniu globalnemu możemy symulować bardzo naturalne zacienienie obiektów oraz generować cienie w miejscach bardzo trudnych do zacienienia, gdzie konwencjonalna metoda wypalania cieni jest bardzo zawodna. Zrzut ekranu poniżej prezentuje takie porównanie.
Bardzo ciężko jest poprawnie fizycznie oświetlić to pomieszczenie, ponieważ jedynym źródłem światła są kolorowe witraże zamontowane w suficie. W pomieszczeniu nie ma też innych źródeł światła, które mogłyby wspomagać doświetlenie rogów pomieszczenia, czy oświetlać białej ściany za mozaikowym murem z prześwitami.
Fizyczna symulacja oświetlenia powiązana jest z jeszcze jednym efektem, o którym już pisaliśmy przy okazji porównania oryginalnego Minecraft'a z Minecraft'em Continuum RT, czyli z transferem koloru z powierzchni na powierzchnię. Jest to bardzo obciążający proces, który nierozerwalnie powiązany jest z transportem światła w modelu śledzenia promieni (dla chętnych proponuję poszukać informacji o transporcie światła i radiancji). To zjawisko bardzo dobrze widać na zrzucie ekranu z mini basenem.
Ograniczenia śledzenia promieni w Minecraft RTX (beta)
Zaprezentowany model śledzenia promieni w Minecraft RTX to najbardziej zaawansowany model korzystający z ray tracingu, z jakim mieliśmy do czynienia w grach komputerowych. Ma on jednak swoje ograniczenia. Największym z nich jest w specyficznych warunkach widoczny algorytm odszumiania i pewna bezwładność (opóźnienie) w przetwarzaniu poszczególnych promieni światła. Przez to obraz co jakiś czas może wygenerować nieładne artefakty i szum. Poniżej przedstawiam dwa materiały wideo z takimi właśnie artefaktami.
Bezwładność w przetwarzaniu promieni światła.
Wyraźny szum przy obliczaniu cienia.
Niestety na tę chwilę nie ma prostego rozwiązania dla tych dwóch problemów. Microsoft i Nvidia pracują nad nowymi algorytmami poprawiającymi "denoiser", czyli algorytm odszumiania, ale chyba jedynym skutecznym sposobem na poradzenie sobie z tymi problemami będzie zwiększenie mocy obliczeniowej nowych kart graficznych. Pozostaje jeszcze pytanie: jak z konfrontacji ze śledzeniem promieni wybrną nowe konsole?
Minecraft RTX (beta) — jakość grafiki DLSS
Minecraft RTX korzysta z dobrodziejstw DLSS 2.0, chociaż w samym Minecrafcie występuje on pod nazwą upscaling i nie możemy wybierać, w jakim trybie DLSS będzie wyświetlana grafika. Tryby te przypisane są do rozdzielczości, w jakiej wyświetlamy grę.
- 3840 × 2160 pikseli - grafika generowana jest w trybie DLSS wydajność
- 2560 × 1440 pikseli - grafika generowana jest w trybie DLSS zrównoważonym
- 1920 × 1080 pikseli - grafika generowana jest w trybie DLSS jakość
Efekty działania DLSS w Minecraft RTX są bardzo zadowalające, aczkolwiek w przypadku naszej sceny testowej możemy zauważyć, że DLSS nie zawsze radzi sobie tak dobrze, jak byśmy się tego spodziewali. Jest to bardzo dobrze widoczne na kolorowych cieniach na podłodze. Widocznie algorytm maszynowego uczenia musi douczyć się o rekonstrukcji witraży.
Rozdzielczość 1920 × 1080 pikseli.
Rozdzielczość 4K
Technika DLSS ma zbawienny wpływ na wydajność w Minecraft RTX (beta), czasami dochodzi nawet do przyrostu płynności o prawie trzysta procent!
Minecraft RTX (beta) – jaka karta do wybranych ustawień
Największy wpływ na wydajność w Minecraft RTX ma zasięg widzenia naszej postaci. Zasięg ten określany jest w jednostkach chunks, a domyślnie ustawiony jest na wartość 8. Następnie możemy podnieść ją w krokach o 4 jednostki: 8, 12, 16, 20, 24.
Zasięg widzenia w przypadku obliczeń śledzenia promieni ma bardzo duży wpływ na wydajność i zasobożerność samego procesu. Bardzo mocno wykorzystywana jest pamięć graficzna VRAM. Niestety w przypadku ray tracingu nie istnieje pojęcie, że karta graficzna ma jej nadmiar. Doskonale znajduje to potwierdzenie w naszych pomiarach wydajności. Póki karty graficzne mogą polegać na swoich podręcznych zasobach pamięci, to wydajność utrzymuje się na przewidywalnym poziomie. Gdy tylko pamięć VRAM zostaje zapełniona, dochodzi do bardzo nieprzyjemnego zjawiska przycinania się animacji, praktycznie uniemożliwiającego dalszą rozrywkę. Wykorzystanie pamięci VRAM jest różne dla poszczególnych rozdzielczości, jak i dla odległości rysowania chunks. Poniżej przedstawiamy grafikę z zasięgami widzenia dla poszczególnych ustawień chunks, a pod nią zajętość pamięci VRAM dla poszczególnych ustawień chunks.
Zajętość pamięci VRAM w rozdzielczości 1920 × 1080 pikseli.
- 8 chunks około 3,1 GB, nie przekraczało 4 GB zajętości VRAM
- 12 chunks około 4,7 GB nie przekraczało 5 GB zajętości VRAM
- 16 chunks około 6,1 GB nie przekraczało 6,5 GB zajętości VRAM
- 20 chunks około 9,0 GB nie przekraczało 9,3 GB zajętości VRAM
- 24 chunks około 10,6 GB zbliżało się do 11 GB zajętości VRAM
1920×1080 pikseli – FullHD dla wielu użytkowników to standardowa rozdzielczość, w jakiej grają w gry. Dla nich GeForce RTX 2060 w większości przypadków popularnych grach AAA jest wystarczający, bez większych wyrzeczeń możemy grać w płynności 60 klatek na sekundę. Niestety Minecraft RTX (beta) będzie brutalnym zderzeniem z ray tracingową ścianą. Karta ta zapewnia przyzwoitą wydajność, ale tylko w trybie najbliższego rysowania świata (8 chunks), do tego musimy mieć włączony DLSS. Dopiero wtedy średnia liczba klatek na sekundę przebije 50. Jak łatwo zauważyć po tabelce zajętości VRAM, 16 chunks to maksimum, jakie jest w stanie zaoferować RTX 2060. Powyżej tej wartości liczba klatek na sekundę drastycznie spada i to koniec zabawy dla posiadacza najsłabszego RTX'a. Niestety tylko posiadacze najwydajniejszego GeForce RTX 2080 Ti mogą w miarę bezproblemowo grać w Minecraft RTX w maksymalnych ustawieniach rysowania świata. W naszym scenariuszu gra wykorzystywała 10,6 GB VRAM. Posiadacze słabszych modeli, w tym nawet mocnego GeForce RTX 2080 SUPER, muszą poskromić swoje ambicje. Ich karta łapie zadyszkę przy wyświetlaniu 20 chunks, muszą zadowolić się widocznością na odległość 16 chunks.
Minecraft RTX (beta) – wydajność w rozdzielczości 2560 × 1440 pikseli
Zajętość pamięci VRAM w rozdzielczości 2560 × 1440 pikseli.
- 8 chunks około 4,8 GB, nie przekraczało 5 GB zajętości VRAM
- 12 chunks około 5,7 GB nie przekraczało 6,2 GB zajętości VRAM
- 16 chunks około 7,8 GB nie przekraczało 8,2 GB zajętości VRAM
- 20 chunks około 10,4 GB nie przekraczało 11 GB zajętości VRAM
- 24 chunks powyżej 11 GB zajętości VRAM
2560×1440 pikseli – Zasięg widzenia 24 chunks stał się nieosiągalny dla GeForce RTX 2080 Ti! Pozostałe karty graficzne w teście wyposażone w 8 GB VRAM walczą między sobą o koronę z zasięgiem widzenia 16 chunks. GeForce RTX 2060 wyposażony w 6 GB VRAM z oddali 12 chunks może co najwyżej obserwować wydajniejsze modele.
Minecraft RTX (beta) – wydajność w rozdzielczości 3240 × 2160 pikseli
Zajętość pamięci VRAM w rozdzielczości 3240 × 2160 pikseli.
- 8 chunks około 5,7 GB, nie przekraczało 6,5 GB zajętości VRAM
- 12 chunks około 6,9 GB nie przekraczało 8,0 GB zajętości VRAM
- 16 chunks około 8,6 GB nie przekraczało 10,0 GB zajętości VRAM
- 20 chunks około 10,6 GB dochodziło do 11 GB zajętości VRAM
- 24 chunks powyżej 11 GB zajętości VRAM
3840×2160 pikseli – Na rynku kart graficznych nie ma odpowiednio wydajnej karty graficznej, która jest w stanie wygenerować obraz z szybkością 30 klatek na sekundę bez wsparcia się techniką DLSS. Dopiero jej włączenie powoduje wzrost wydajności do wartości akceptowalnych! GeForce RTX 2080 Ti możemy uzyskać średnią płynność na poziomie 40,9 klatki na sekundę, z zasięgiem widzenia 20 chunks. Gra na słabszych kartach jest możliwa, ale trzeba obniżyć zasięg rysowania do poziomu 12 chunks. Wyjątkiem jest RTX 2060, który nawet w najbliższym rysowaniem świata 8 chunks, wyświetla animację w średnim tempie 25 klatek na sekundę, ale ze spadkami do 19 klatek na sekundę.
Minecraft RTX (beta) – Podsumowanie
Tydzień czasu spędzony z Minecraft RTX to dużo, kilkukrotnie przyłapałem się na tym, że bez najmniejszego przymusu włączałem ten tytuł i eksperymentowałem z różnymi efektami śledzenia promieni. Czas ten był wyjątkowo przyjemny, a gra co kilka godzin zaskakiwała mnie kolejnym małym lub większym odkryciem, jak chociażby liczbą odbić promienia światła, wolumetryczną wodą, czy plastycznością swojej oprawy. Zabawa była przednia, ale z tyłu głowy cały czas miałem jedną myśl. Nie każdy w swoim komputerze ma GeForce RTX 2080 Ti. Podziwianie więc stworzonego przy użyciu ray tracingu świata w rozdzielczości 4K to w tym wypadku rarytas. Jaką więc przyszłość ma śledzenie promieni w tak zaawansowanej postaci? Obawiam się, że nikłą. Myślę, że Minecraft RTX w aktualnej postaci, to taki benchmark, pokazujący czego możemy spodziewać się, jeśli karty graficzne nadal będą rozwijały się w kierunku coraz wyższej wydajności w operacjach śledzenia promieni. Na łamach tego artykułu zadawałem sobie retoryczne pytanie. Jaką odpowiedź na śledzenie promieni przygotowują twórcy nowych konsol? Po prezentacjach Sony i Microsoftu wiemy, że Minecraft z funkcją śledzenia promieni ma pojawić się wraz z nowym Xboksem, ale czy będzie to ray tracing o takim stopniu skomplikowania jak ten zaprezentowany przez Nvidię? Czy jednak będzie uproszczony? Jakie wsparcie dla obliczeń śledzenia promieni będzie mieć AMD? To pytania, na które będziemy w stanie odpowiedzieć w niedalekiej przyszłości. Teraz nie pozostaje mi nic innego, jak wrócić do kwadratowego świata Minecraft RTX i podziwiać najpiękniejszy wschód słońca.