DirectX 12 – co powinieneś o nim wiedzieć?

Najnowsza wersja systemu operacyjnego Microsoft dostępna jest od lipca bieżącego roku. Według informacji, które napływają do nas z samej siedziby firmy – Windows 10 cieszy się niesłabnącą popularnością. Do tej pory zainstalowało go na swoim komputerach ponad 100 milionów osób! Zyskuje on z miesiąca na miesiąc nowych użytkowników. Wynika to po części z darmowej aktualizacji, jaką oferuje się osobom bazującym na wersjach 7 i 8, ale też istotnym zmianom w obrębie kompatybilności z bibliotekami graficznymi. Dzisiaj właśnie pod tym kątem, chciałbym omówić najnowszą wersję systemu operacyjnego z Redmond.

Windows 10 to system, który od początku roku nie schodzi z nagłówków witryn internetowych. Wydanie kolejnej edycji oprogramowania zarządzającego komputerem jest zawsze ogromnym wydarzeniem. Wszyscy w końcu chcą wiedzieć, co ma do zaoferowania jego nowa wersja. Czy będzie lepsza od poprzedniczki? Jakie zmiany wprowadzi? Czy będzie udaną propozycją, czy może czymś obok czego przejdzie się bez westchnięcia? Te same pytania były zadawane przed docelową premierą Windows 10 ustaloną na dzień 29 lipca 2015 r. Oczywiście do czasu premiery można była skorzystać z otwartej beta, która mogła przedstawić „dziesiątkę” w mniej lub bardziej pozytywnym świetle, lecz nikt nie ukrywał że to nadal nie był finalny projekt systemu. Odpowiedź na pytanie, czy warto instalować Windows 10 na swoim komputerze, biorąc pod uwagę wszystkie za i przeciw nie jest łatwa. Są jednak zawarte w nim elementy, które z czasem mogą zachęcać część użytkowników Windowsów do przesiadki z starego OS na nowy. Mowa jest o graczach i ich zainteresowaniu nowymi bibliotekami DirectX 12 oraz sterownikiem graficznym WDDM 2.0.

1185.Fable12

Fable: Legends wykorzystuje w swoim działaniu biblioteki DirectX 12.

DirectX 12 to jedna z ważniejszych nowości w Windows 10. Wraz z jego instalacją otrzymujecie dostęp do niskopoziomowego API jakim jest DirectX 12. Nowa wersja interfejsu Microsoft podobnie jak jej poprzedniczki odpowiedzialna jest za obsługę efektów wizualnych i zadań multimedialnych – w grach zestaw funkcji zawartych w bibliotekach jest pakietem wspomagającym renderowanie grafiki. To inaczej narzędzie w rękach programisty, które ma ułatwić mu zbudowanie świata wirtualnego. Pod pewnymi względami nową wersje DirectX należy oceniać jako przełomową, a przynajmniej tak prezentuje się ona w teorii. API Microsoftu ma wreszcie uwolnić moc procesorów wielordzeniowych i tym samym znacząco poprawić wydajność w grach obsługujących biblioteki DirectX 12. Rola procesora w kreowaniu osiągów ma zejść na plan boczny – wierząc w zapewnienia firmy z Redmond jego wpływ na osiągi ma być zmarginalizowany. Karta graficzna przestanie oczekiwać na procesor – będzie wykonywała równoległe obliczenia z wykorzystaniem całej mocy obliczeniowej, co finalnie przełoży się na skrócenie czasu dostępu do klatki wyświetlanej na ekranie monitora. Na gry w pełni korzystające z dobrodziejstw DirectX 12 wyczekuje AMD. To właśnie firma z Sunnyvale od kilku lat boryka się z problemem wysokiego narzutu obliczeń sterownika graficznego na procesor. Moc procesorów łączonych z kartami graficznymi AMD ma zostać całkowicie uwolniona, co automatycznie przełoży się na wysoką wydajność oferowaną przez te jednostki w grach komputerowych. Musicie być uświadomieni, że jest to tylko teoretyczne podejście do zagadnienia. Każda gra oferuje inny silnik graficzny, inny stopień wykorzystania CPU i GPU. Nawet jeśli deweloper odpowiedzialny za stworzenie gry skorzysta z nowego API, to nikt nie wie jaki będzie jego wpływ na kształtowanie się wydajności. Zbyt wiele zależy od optymalizacji kodu źródłowego gry, tłumacząc to prościej: Microsoft tylko udostępnia odpowiednie narzędzia, to w gestii programisty leży to, czy będzie on w stanie z nich efektywnie korzystać.

maxresdefault

W AotS DirectX 12 dla AMD jest niczym turbo dla samochodu.

Pierwszy realny test sprawdzający  wydajność kart graficznych i procesorów pod obsługą DirectX 12 odbył się w Ashes of Singularity. To typowa strategia czasu rzeczywistego potrafiąca bardzo mocno obciążyć główny układ znajdujący się w komputerze. Przeprowadzone benchmarki nie pozostawiały wątpliwości – w DirectX 11 układy AMD borykały się z ogromnymi problemami z wydajnością, po zmianie API na DirectX 12 ilość klatek na sekundę potrafiła wzrosnąć  o nawet 100 procent! W przypadku Nvidia wzrost wydajności był niezauważalny. Dla AMD DirectX 12 jest przysłowiową szalupą ratunkową.  Dlaczego? Należy w tym momencie wrócić do teorii pracy procesora i karty graficznej – wiemy że w grach istnieją lokacje w których za wydajność odpowiada CPU lub GPU. Radeony przy wykorzystaniu nieefektywnie działającego sterownika graficznego stworzonego z myślą o DirectX 11 w miejscach CPU nagle traciły więcej niż GeForce. Okazywało się, że w tytułach takich jak Total War, Stracraft 2, czy Crysis 3 połączenie procesora z zablokowanym mnożnikiem z GPU AMD wiązało się z utratą znacznej części wydajności. Czy AoS może być podstawą do stwierdzenia, że wpływ procesora na rozgrywkę będzie marginalizowany? Tak i nie. Jest to skrajny przypadek, wykorzystujący prawdopodobnie całą optymalizacje związaną z nowymi bibliotekami Microsoft. Niekoniecznie tak samo do tego zagadnienia podejdą firmy-instytucje takie jak Crytek, DICE czy CD Projekt RED.

Feature Level Direct3D

Pod zagadaniem DirectX 12 kryje się znacznie więcej niespodzianek. Jedną z nich są tzw. feature level. To zakres funkcji, które udostępnia DirectX określający poziom wsparcia karty graficznej. Poziom funkcji nie określa wydajności, odnosi się on tylko do funkcjonalności Direct3D z wykorzystaniem danego układu graficznego. Wiele osób identyfikuje dosłownie feature level z API DirectX. Jest to podstawowy błąd. Idąc takim tokiem rozumowania można stwierdzić, że tylko druga generacja kart z rdzeniem Maxwell w pełni obsługuje DirectX 12. Prawdą jest to, że Maxwell oferuje pełne wsparcie dla DirectX 12_1, czyli ostatniego na tę chwilę poziomu funkcji. Nie oznacza to jednak, że pierwsza generacja Maxwell i kart AMD bazujących na architekturze GCN 1.0 bądź 1.1 nie skorzysta z wsparcia DirectX 12. Wprost przeciwnie! Tylko pewne funkcje udostępnione w nowym, niskopoziomym API nie będą możliwe do uruchomienia przy karcie nie wspierającej najwyższego poziomu feature level – za przykład może służyć technologia VXGI, czyli sposób realizacji globalnego oświetlenia na kartach z serii Nvidia GeForce GTX 900. Można to określić mianem dodatku graficznego, mającego wpływ na szczegółowość grafiki ogólny zakres wydajności przez nią oferowany, lecz nie powiązanego z podstawowymi właściwościami DirectX 12.

Feature level

WDDM 2.0

Chociaż od premiery Windows 10 dzieli nas już kilka miesięcy to system ten cały czas jest w fazie rozwoju. Nie inaczej jest z DirectX 12, który z każdą kolejną grą zgodną z jego bibliotekami będzie przedstawiał nowe oblicze. Z technicznego punktu widzenia API DirectX 12 to tylko jeden z elementów składających się w większą całość zarządzania grafiką 2D i 3D w Windows 10. Premiera nowej odsłony DX przyszła w parze z nieznaną dotąd architekturą sterowników WDDM w wersji 2.0. Jest to narzędzie traktowane jako uzupełnienie bibliotek Microsoftu dodając do nich niezbędny pakiet wsparcia. Wśród jego cech wymienia się dynamiczne zarządzanie pamięcią indeksowania i odpowiedzialność za część optymalizacji w jądrze DirectX 12 – głównie związanych z kolejkowaniem zadań dla GPU i wirtualizacją pamięci. Wprowadzenie WDDM 2.0 do Windows 10 nałożyło obowiązek na producentach kart graficznych zaktualizowania sterowników graficznych. Początki były trudne – starsze karty nie od razu chciały współpracować z sterownikiem WDDM 2.0 generując w trakcie fazy beta losowe artefakty na ekranie monitorów. Jednym z powodów nie wprowadzenia DirectX 12 do starszych wersji systemów Windows było to, że WDDM był projektowany wyłącznie na potrzeby „dziesiątki”. Te dwa elementy, czyli API i pakiet wsparcia jaki kryje się pod nazwą WDDM 2.0 nie mogły zostać rozdzielone stąd decyzja Microsoftu o zachowaniu wsparcia DX12 tylko dla nowego systemu.

Obsługa DirectX w Microsoft Windows 10

Jesteś posiadaczem AMD Radeon HD z serii 6000? Obawiasz się, że instalacja Windows 10 zablokuje Ci dostęp do gier ze względu na nieobsługiwane przez Twoją kartę graficzną API? To bezpodstawne obawy. Wsparcie dla bibliotek DirectX w systemach Microsoft jest wsteczne, co oznacza że wszystkie gry zgodne z DX11 uruchomisz bez problemu  w środowisku W10. Jest też druga dobra wiadomość. Pierwsze tytuły obsługujące biblioteki DirectX 12 (Fable) wciąż wspierają starsze API. Część projektantów gier już zapowiedziała, że mimo pojawienia się na rynku DX12 pozostanie przy poprzedniej wersji API ze względu na jej wyższy poziom abstrakcji – biblioteki debiutujące wraz z Windows 10 oferują większą kontrolę, ale przy tym wymagają zaangażowania większej ilości roboczo godzin.

Ten wpis, to tylko wstęp do szerokich testów, jakich podejmę się w niedługim czasie. Wyczekujcie materiału z porównaniem dwóch najpopularniejszych systemów operacyjnych…

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies. więcej informacji

Aby zapewnić Tobie najwyższy poziom realizacji usługi, opcje ciasteczek na tej stronie są ustawione na "zezwalaj na pliki cookies". Kontynuując przeglądanie strony bez zmiany ustawień lub klikając przycisk "Akceptuję" zgadzasz się na ich wykorzystanie.

Zamknij