Rzut okiem na Strange Brigade. Czy DirectX 12 i Vulkan są przyszłością gier?

Rzut okiem na Strange Brigade. Czy DirectX 12 i Vulkan są przyszłością gier?

Rzut okiem na Strange Brigade. Czy DirectX 12 i Vulkan są przyszłością gier?
Piotr Urbaniak
04.09.2018 05:25, aktualizacja: 04.09.2018 07:18

Słyszeliście o Strange Brigade? Ja, przyznam szczerze, przez długi czas nie miałem o tej produkcji bladego pojęcia. Jak się okazuje, jest to kooperacyjna strzelanina trzecioosobowa, osadzona w alternatywnej wersji lat trzydziestych minionego wieku, której motyw przewodni stanowi odkrywanie pozostałości po dawnych cywilizacjach. Przy czym tak naprawdę wątek archeologiczny to jedynie pretekst do rozwałki, bowiem na drodze bohaterów stają setki potworów, powołanych do życia przez złą egipską boginię imieniem Seteki.

Ale wbrew pozorom, patrząc z perspektywy technicznej, nie to jest tutaj najważniejsze. Strange Brigade skrywa bowiem pewną ciekawostkę. Otóż ma dwa API, spośród których żadne to nie DirectX 11 lub OpenGL, ale, odpowiednio: DirectX 12 oraz Vulkan. Tak, rzeczona propozycja studia Rebellion to coś, do czego gorączkowo dąży AMD: gra zbudowana w oparciu o tak zwane środowisko niskiego poziomu. W klasycznym przypadku, na przykład API DirectX 11, karta graficzna nie jest w stanie bezpośrednio realizować rozkazów zaszytych w kodzie gry, ponieważ ich nie rozumie. Dlatego sterownik, korzystając z zasobów obliczeniowych procesora centralnego, musi na bieżąco dokonywać wymiany i interpretacji danych binarnych tak, aby „przetłumaczyć” polecenia na zrozumiałe przez grafikę. I to właśnie na tym etapie rodzi się zjawisko narzutu sterownika graficznego na procesor, czyli obciążenie wynikające nie z potrzeb samej gry, choćby algorytmów sztucznej inteligencji, lecz wyłącznie z potrzeby translacji instrukcji. Niejako para idzie w komin.

Tymczasem zarówno DirectX 12, jak i Vulkan mają znacząco obniżać ciężar translacji. Oczywiście nie chodzi tu o wprowadzenie kodu maszynowego, bo tak nikt nie dałby rady napisać złożonej gry, z uwagi na czasochłonność tego procesu i różnorodność GPU dostępnych na rynku. Klucz stanowi natomiast zwiększenie kontroli programisty nad kartą graficzną. Przykładowo, pamięć graficzna przestaje być dla programisty ukryta, przez co nie sterownik, a sam twórca w pełni nadzoruje jej wykorzystanie i synchronizację. To z kolei redukuje złożoność sterownika, a takich przykładów jest znacznie, znacznie więcej: rozbicie maszyny stanu na obiekty, uproszczona korekcja błędów itd.

Mało tego, DirectX 12 umożliwia zarazem obliczenia asynchroniczne (ang. async compute). Jest to o tyle ważne, że każda karta graficzna to układ masowo równoległy, czyli taki, który potrafi przetworzyć wiele strumieni danych jednocześnie, w oparciu o pojedynczy strumień rozkazów. W czasach minionych, kiedy GPU miały mniejszą liczbę jednostek wykonawczych niż dzisiaj, zwykło się rysować kolejne klatki sekwencyjnie, każdorazowo przełączając zadania. Obecnie nie ma sensu czekać, aż procesor graficzny zakończy – dajmy na to – cieniowanie, by rozpocząć kalkulację symulacji fizycznych. Gdyby jakaś część zasobów leżała odłogiem, można skierować do nich rozkazy z drugiej kolejki, by nie marnować budżetu obliczeniowego. Tyle z grubsza jeśli chodzi o teorię.

Wydajność kart graficznych i procesorów

A co z praktyką? Strange Brigade wydaje się idealnym poletkiem doświadczalnym, pozwalającym w praktyce zweryfikować działanie tych wszystkich funkcji. W tym celu pozwoliłem sobie wykorzystać platformę z procesorem AMD Ryzen 7 1700, płytą główną Gigabyte GA-AB350N-Gaming WiFi i 8 GB pamięci DDR4-3000 Corsair Vengeance LPX, uruchamiając produkcję studia Rebellion na dwóch bardzo popularnych, a zarazem porównywalnych kartach graficznych klasy średniej: GeForce GTX 1060 6 GB oraz Radeon RX 580 8 GB. Przygotowany test polegał na przejściu początkowego fragmentu gry, kiedy to z uwagi na widoczność dużej partii mapy obciążenie ma zbilansowaną charakterystykę: wykorzystywany jest zarówno procesor, jak i karta graficzna.

Obraz

Wnioski dla wielu mogą wydać się zaskakujące. Po pierwsze, niesamowite w obydwu API jest, że gra chodzi niemalże identycznie na obydwu kartach. Owszem, Radeon RX 580 okazuje się w tym przypadku około 14 proc. wydajniejszy od rywala, ale oba akceleratory, biorąc poprawkę na średnią liczbę klatek, mają podobnie wyrównane czasy rysowania kolejnych ramek, co czyni rozgrywkę bardzo płynną. Po drugie zaś widać, że czerwoni nie rzucali słów na wiatr, mówiąc o przystosowaniu swych architektur pod kątem nowych środowisk. O ile GeForce GTX 1060 w wyniku włączenia obliczeń asynchronicznych nieznacznie traci, o tyle Radeon RX 580 w sposób powtarzalny zyskuje. Wprowadzając architekturę Pascal, NVIDIA chwaliła się m.in. dynamiczną alokacją zasobów, jednak w niniejszym przypadku coś ewidentnie poszło nie tak.

GeForce GTX 1060 6 GB: DX12 ASYNC ON – 65,9 kl./s, DX12 ASYNC OFF – 67,9 kl./s, Vulkan – 67,5 kl./s
GeForce GTX 1060 6 GB: DX12 ASYNC ON – 65,9 kl./s, DX12 ASYNC OFF – 67,9 kl./s, Vulkan – 67,5 kl./s
Radeon RX 580 8 GB: DX12 ASYNC ON – 77,4 kl./s, DX12 ASYNC OFF – 74,2 kl./s, Vulkan – 72,6 kl./s
Radeon RX 580 8 GB: DX12 ASYNC ON – 77,4 kl./s, DX12 ASYNC OFF – 74,2 kl./s, Vulkan – 72,6 kl./s

A to nie koniec niespodzianek, jakie przygotowali twórcy. Zgodnie z deklaracjami zależność liczby klatek od procesora jest bliska zeru. Nawet wyłączając połowę rdzeni i technologię SMT Ryzena 7 1700, czyli czyniąc z niego odpowiednik ekonomicznego Ryzena 3, ciężko dostrzec widoczny spadek płynności zabawy. Wprawdzie Strange Brigade stanowi idealny scenariusz do prezentacji obniżonego narzutu sterownika, bowiem nie ma zaawansowanej SI czy daleko idącej destrukcji otoczenia, gdzie moc procesora zostałaby spożytkowana na obliczenia stricte związane ze światem, ale optymalizacja tak czy inaczej robi ogromne wrażenie. Niewątpliwie chciałoby się więcej tak dobrze dopracowanych produkcji, które do płynnej zabawy nie wymagają sprzętu z najwyższej półki.

(DX12ASYNCON)GeForceGTX10606GBkl./sRadeonRX5808GBkl./s
Ryzen71700:8C/16T659774Ryzen71700:4C/8T657775Ryzen71700:4C/4T651771

Minigaleria zrzutów ekranu

  • Slider item
  • Slider item
[1/2]
  • Slider item
  • Slider item
[1/2]

Czy DirectX 12 i Vulkan są przyszłością gier?

Siłą rzeczy, po krótkiej przygodzie ze Strange Brigade rodzi się w głowie pytanie: czy DirectX 12 i Vulkan są przyszłością gier? Co by nie mówić, ciężko udzielić jednoznacznej odpowiedzi, mając tak naprawdę jeden tytuł zbudowany od deski do deski przy użyciu najnowszych technologii, z obliczeniami asynchronicznymi, za to bez hamulca w postaci starszych środowisk. Tym bardziej, że nie jest to wyczekiwana przez wszystkich pozycja AAA, a raczej twór o umiarkowanym budżecie, i to nie z tych porywających tłumy grafiką. Chyba że ktoś za godną podziwu uzna implementację FreeSync 2 i HDR, lecz to już, jak to mawiają, inna para kaloszy. Na pewno, powtórzę, chciałoby się więcej tak dobrze zoptymalizowanych gier. Cieszy przy tym świadomość, że obietnice AMD dotyczące optymalizacji pod kątem przyszłych rozwiązań znajdują pokrycie w praktyce. A co będzie w przyszłości, nie da się ukryć, zależy głównie od deweloperów. Pożyjemy, zobaczymy.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (50)