Mały pożytek z DX12, a może nawet straty. Vulkan się bardziej opłaca?

Mały pożytek z DX12, a może nawet straty. Vulkan się bardziej opłaca?

Star Citizen – pierwsza gra, która postawi wszystko na Vulkana?
Star Citizen – pierwsza gra, która postawi wszystko na Vulkana?
31.03.2017 12:28

DirectX 12 miał zrewolucjonizować rynek gier. Pierwszetechnologiczne dema pokazywaływzrost wydajności GPU o nawet 60% a zmniejszenie zużycia energiiCPU o 50% i GPU o 20% – przynajmniej dla zintegrowanych grafikIntela. Wprowadzone w D3D12 zmianyw architekturze uzasadniały taki wzrost wydajności. A potem,gdy pojawiło się Windows 10, i pierwsze gry wykorzystujące noweAPI, okazało się, że właściwie to nic specjalnego się niestało. Ani pożytku wielkiego z DX12, ani też specjalnych powodów,by w niego inwestować. A w dodatku na horyzoncie pojawił siękonkurent, który nie tylko wydaje się być technicznie lepszy odnowego microsoftowego API grafiki, ale też działa praktyczniewszędzie.

Benchmarki przeprowadzone ostatnio przez [H]ardOCPna nowych grach i nowym sprzęcie pokazały interesujące zjawisko.Generalnie im lepszy procesor główny, tym mniejsza wartość DX12.Już przy procesorach Skylake i5 i i7 można oczekiwać nawetregresji dla DX12, gry uruchamiane na DX11 przynosiły zwykleporównywalne, a niekiedy lepsze uśrednione wyniki. Co więcej,uwzględniając wyniki minimalne widać było, że DX11 zapewnia natych lepszych procesorach większą płynność grania. Przykładowow Battlefield 1 (FullHD Ultra), w konfiguracji Core i5-6600K i RadeonR9 Fury X, DX12 pozwalało na osiągnięcie średnio 112 FPS iminimalnie 79 FPS, podczas gdy DX11 średnio 109 FPS i minimalnie 98FPS. Właściwie jedyną grą AAA, w której odnotowano znaczącąprzewagę DirectX 12 jest Sniper Elite 4. Znaczącą… na poziomie17%. Daleko od tych niesamowitych dem technologicznych Intela.

Obraz

Sytuacja dla DX12 wyglądała znacznie lepiej, gdy zeszliśmy nadolną półkę procesorów, w szczególności starszych procesorówAMD, takich jak np. ten wciąż sprzedawany w sklepach staroć z 2014roku, FX-8370 – architektura Piledriver, litografia 32 nm. Tenłatwo dławiący się od nadmiaru danych układ zyskiwał nawydajności w testach na realnych grach z DX12 ponad 25%,przynajmniej dla uśrednionych wyników. Te minimalne pokazywały wwielu grach wciąż regresje.

Najgorzej zaś DX12 w praktyce wypadał w testach, w którychwykorzystywano GPU Nvidii, bądź co bądź lidera rynku kartgraficznych. Sterowniki „zielonych” wspierały wielowątkowośćjuż w erze DX11, więc przejście na DX12 niewiele im dawało.Trudno zresztą, by było inaczej. Podstawową zaletąniskopoziomowych sterowników grafiki ma być możliwośćprzetworzenia większej ilości wywołań rysowania na sekundę. Tyleże jeśli GPU jest w pełni obciążone, a procesor dość szybki,by wywołania te obsłużyć (szczególnie na wielu wątkach), toniby skąd mielibyśmy mieć wzrost wydajności?

Vulkan: wyniki prosto w twarz

Kilka dni temu Futuremark wydał nową wersję API Overhead,narzędzia do szacowania narzutu generowanego przez interfejs grafiki– jest ono dziś wbudowane w popularny pakiet3DMark (w wersjach płatnych, Advanced i Professional). Tendostępny od 2015 roku test służył przede wszystkim do robieniawrażenia na graczach przyzwyczajonych do DX11 – mogliśmyzobaczyć, jak pod DX12 system sobie świetnie radzi z rosnącąliczbą wywołań grafiki podczas rysowania przestrzeni miejskiej zesnów Gaudiego.

Compare Vulkan and DirectX 12 with 3DMark

Nowa wersja API Overhead przyniosła wsparcie dla interfejsuVulkan, czyli de facto następcy AMD Mantle, rozwijanego przezstowarzyszenie branżowe Khronos Group. Dziś popularność Vulkana wświecie PC jest wciąż niewielka, poza nowym Doomem trudno wskazaćjakąś grę AAA, która z niego by korzystała, ale to wszystko możesię jeszcze bardzo szybko zmienić.

W przeprowadzonym przez Futuremarka teście mogliśmy zobaczyćniespodziewaną sytuację. Vulkan okazał się wyraźnie wydajniejszyod DX12, szczególnie było to widoczne w odniesieniu do kart Nvidiize środkowej półki, tj. GTX 1060 – tam przewaga sięgnęła 30%.Najgorzej Vulkan wypadł na kartach AMD – na RX 480 przegrał zDX12 o około 4%. Nawet jeśli pominąć jednak ten wyjątkowy wynikdla GeForce GTX 1060, jednemu nie można zaprzeczyć: Vulkan startujew tej samej lidze co DirectX 12, niczego mu nie brakuje. A w jednejkwestii wyraźnie wygrywa.

Niszowe Windows 10?

Decyzja Microsoftu o uczynieniu DirectX 12 „ekskluzywem” dlanowej wersji systemu była ewidentnie decyzją marketingową, a nietechniczną. W końcu jaki powód mieliby gracze, by aktualizowaćswoje Windows 7 czy 8.1 do „dziesiątki”, gdyby mogli z DirectX12 skorzystać na swoich systemach? To, że sterowniki Vulkanproducentów kart graficznych działają na starszych Windowsachwykorzystujących Windows Display Driver Model w wersjach 1.1-1.3pokazuje, że i na nich można było uzyskać niskopoziomowąkontrolę pamięci karty graficznej i stanów renderowania.

Popularność systemów wspierających DirectX 12 w sklepie Steam
Popularność systemów wspierających DirectX 12 w sklepie Steam

Rozgłos towarzyszący możliwościom DirectX 12, nawetniezweryfikowanym w praktyce, pomógł jednak wypromować Windows 10w środowisku graczy. W lutym 2017 roku z Windows 10 korzystało47,7% użytkowników sklepu Steam – więcej niż z pozostałychWindowsów razem wziętych. Czy to dość, by uznać, że DirectX 12to przyszłość i skupić się wyłącznie na nowym API?

Jak na razie takiej postawy nie przyjmuje nikt. Standardem jestDX11. Poza Microsoft Studios dosłownie nikt nie robi gierwymagających DX12 – jedyne „eksluzywne” tytuły na nowe API toGears of War: Ultimate Edition, Gears of War 4, Forza Horizon 3,Forza Motorsport 6, Halo 5: Forge i Halo Wars 2, a więc tytułykojarzone jednoznacznie z firmą z Redmond. Co więcej, corazczęściej słyszymy o nowych grach, które będą korzystały zVulkana.

Jeden dla wszystkich, wszyscy dla jednego

Co może być tego przyczyną? Zaryzykujemy stwierdzenie, że tobrak wiary w przyszłość ujednoliconego ekosystemu Microsoftu, wskład którego wchodzą Windows 10, Windows 10 Mobile oraz systemdziałający na konsoli Xbox One. Tworzenie gier na wyłącznośćpod DirectX 12 to dziś strzał w stopę – tracisz klientów zokoło połowy rynku PC, a w dodatku znacznie utrudniasz sobieprzeniesienie w przyszłości swoich gier na platformy mobilne ikonsole. Ah, no i tracisz jeszcze ten miły pozytywny PR-owy efekt,który towarzyszy przeniesieniu gry na Linuksa, głośna społecznośćfanów Pingwina potrafi się odwdzięczyć.

Decydując się dziś na wykorzystanie Vulkana, producentautomatycznie rozwiązuje sobie te wszystkie problemy. Nie tylkodostaje wsparcie ze strony Nvidii, AMD i Intela, ale też uzyskuje wefekcie grę, która zalety niskopoziomowego interfejsu wykorzystaniemal wszędzie. Windows 7, Windows 8.1, Windows 10 – Vulkandziała. Urządzenia mobilne z Androidem? Na urządzeniach NVIDIASHIELD działa od Androida 6.0, na innych urządzeniach od Androida7.0. Urządzenia mobilne z iOS-em? Oficjalnie Apple nie wspieraVulkana, ale nie szkodzi, ktoś już stworzył MoltenVK,implementację tego standardowego API na „jabłkowy” Metal.

Autor tego tekstu jak do tej pory ma na swoim pececie tylko jednągrę korzystającą z Vulkana – to The Talos Principle (w wersji naLinuksa). Przełączenie backendu renderowania z OpenGL na Vulkana(sterowniki Nvidii, karta GTX 970) przynosi ogromny skok wydajności– z 55-65 FPS do nawet 110-120 FPS. Równie imponujące wzrostywydajności można oczywiście uzyskać na Windowsie… i naAndroidzie, przynajmniej na tablecie SHIELD.

A co z konsolami? No cóż, nowy Nintendo Switch oficjalniewspiera Vulkana (w końcu w środku mamy procesor Tegra Nvidii), a wpewnym sensie i PlayStation 4 coś z Vulkanem ma wspólnego. Towspólny przodek: Sony oferuje dla swojej konsoli autorskie,niskopoziomowe API, ale z tego co wiemy, powstało ono na podstawieAMD Mantle, bo i przecież to AMD jest producentem procesorównapędzających tę konsolę. Przeniesienie kodu z Vulkana na APISony będzie więc znacznie łatwiejsze, niż zrobienie tego zespecyficznego dla Microsoftu DirectX 12.

Mad Max: Vulkan vs OpenGL on Linux

Nic więc dziwnego, że widzimy coraz więcej implementacjiVulkana w grach, lub przynajmniej obietnic implementacji. Opróczwspomnianego Dooma i The Talos Principle na Vulkanie uruchomimy Dotę2, Rusta i Mad Maxa (tylko na Linuksie). Zapowiedzano ostatniowsparcie dla Ashes of the Singularity Ark: Survival Evolved. NaAndroidzie działają Vainglory, Need for Speed: No Limits, Heroes ofIncredible Tales i Olympus Rising. Najciekawsze zaś na koniec –twórcy wyczekiwanego Star Citizena zapowiedzieli porzucenie DirectX12 i zastąpienie go Vulkanem, chcą mieć bowiem jedno uniwersalneAPI dla wszystkich.

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 (115)