r   e   k   l   a   m   a
r   e   k   l   a   m   a

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

Strona główna AktualnościSPRZĘT

DirectX 12 miał zrewolucjonizować rynek gier. Pierwsze technologiczne dema pokazywały wzrost wydajności GPU o nawet 60% a zmniejszenie zużycia energii CPU o 50% i GPU o 20% – przynajmniej dla zintegrowanych grafik Intela. Wprowadzone w D3D12 zmiany w architekturze uzasadniały taki wzrost wydajności. A potem, gdy pojawiło się Windows 10, i pierwsze gry wykorzystujące nowe API, okazało się, że właściwie to nic specjalnego się nie stał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 od nowego microsoftowego API grafiki, ale też działa praktycznie wszędzie.

Benchmarki przeprowadzone ostatnio przez [H]ardOCP na 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ć nawet regresji dla DX12, gry uruchamiane na DX11 przynosiły zwykle porównywalne, a niekiedy lepsze uśrednione wyniki. Co więcej, uwzględniając wyniki minimalne widać było, że DX11 zapewnia na tych lepszych procesorach większą płynność grania. Przykładowo w Battlefield 1 (FullHD Ultra), w konfiguracji Core i5-6600K i Radeon R9 Fury X, DX12 pozwalało na osiągnięcie średnio 112 FPS i minimalnie 79 FPS, podczas gdy DX11 średnio 109 FPS i minimalnie 98 FPS. Właściwie jedyną grą AAA, w której odnotowano znaczącą przewagę DirectX 12 jest Sniper Elite 4. Znaczącą… na poziomie 17%. Daleko od tych niesamowitych dem technologicznych Intela.

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

r   e   k   l   a   m   a

Najgorzej zaś DX12 w praktyce wypadał w testach, w których wykorzystywano GPU Nvidii, bądź co bądź lidera rynku kart graficznych. 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), to niby 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 pakiet 3DMark (w wersjach płatnych, Advanced i Professional). Ten dostępny od 2015 roku test służył przede wszystkim do robienia wrażenia na graczach przyzwyczajonych do DX11 – mogliśmy zobaczyć, jak pod DX12 system sobie świetnie radzi z rosnącą liczbą wywołań grafiki podczas rysowania przestrzeni miejskiej ze snów Gaudiego.

Nowa wersja API Overhead przyniosła wsparcie dla interfejsu Vulkan, czyli de facto następcy AMD Mantle, rozwijanego przez stowarzyszenie 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że się jeszcze bardzo szybko zmienić.

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

Niszowe Windows 10?

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

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

Jak na razie takiej postawy nie przyjmuje nikt. Standardem jest DX11. Poza Microsoft Studios dosłownie nikt nie robi gier wymagających DX12 – jedyne „eksluzywne” tytuły na nowe API to Gears 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ły kojarzone jednoznacznie z firmą z Redmond. Co więcej, coraz częściej słyszymy o nowych grach, które będą korzystały z Vulkana.

Jeden dla wszystkich, wszyscy dla jednego

Co może być tego przyczyną? Zaryzykujemy stwierdzenie, że to brak wiary w przyszłość ujednoliconego ekosystemu Microsoftu, w skład którego wchodzą Windows 10, Windows 10 Mobile oraz system działający na konsoli Xbox One. Tworzenie gier na wyłączność pod DirectX 12 to dziś strzał w stopę – tracisz klientów z około połowy rynku PC, a w dodatku znacznie utrudniasz sobie przeniesienie w przyszłości swoich gier na platformy mobilne i konsole. 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, producent automatycznie rozwiązuje sobie te wszystkie problemy. Nie tylko dostaje wsparcie ze strony Nvidii, AMD i Intela, ale też uzyskuje w efekcie grę, która zalety niskopoziomowego interfejsu wykorzysta niemal wszędzie. Windows 7, Windows 8.1, Windows 10 – Vulkan działa. Urządzenia mobilne z Androidem? Na urządzeniach NVIDIA SHIELD działa od Androida 6.0, na innych urządzeniach od Androida 7.0. Urządzenia mobilne z iOS-em? Oficjalnie Apple nie wspiera Vulkana, 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 na Linuksa). 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 wzrosty wydajności można oczywiście uzyskać na Windowsie… i na Androidzie, przynajmniej na tablecie SHIELD.

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

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

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.   

Trwa konkurs "Ogól naczelnego", w którym codziennie możecie wygrać najnowsze maszynki systemowe Hydro Connect 5 marki Wilkinson Sword.

Więcej informacji

Gratulacje!

znalezione maszynki:

Twój czas:

Ogól Naczelnego!
Znalazłeś(aś) 10 maszynek Wilkinson Sword
oraz ogoliłaś naszego naczelnego!
Przejdź do rankingu
Podpowiedź: Przyciśnij lewy przycisk myszki i poruszaj nią, aby ogolić brodę.