Technologicznie

Ciekawostki z Tech świata

Sprzęty

DirectX 12 – Rewolucja czy utpia?

DirectX 12 już teraz stał się w środowisku graczy Świętym Graalem. Nie ma w tym niczego dziwnego. Informacje o 70-procentowym wzroście wydajności bez zmiany karty graficznej i innych podzespołów komputera robią wrażenie na wszystkich miłośnikach wirtualnej rozrywki.

DirectX 12 to API udostępnione twórcom gier przez Microsoft, które jest nierozerwalnie związane z Windowsem 10. Zostało ono zaprezentowane przez firmę z Redmond już blisko dwa lata temu, ale dopiero teraz zaczynają pojawiać się pierwsze gry, które je wykorzystują. Zanim jednak przejdę do omawiania DirectX 12, postaram się odpowiedzieć na pytanie, czym w ogóle to całe API jest i do czego służy.

Gry to nic innego jak programy, które zostały napisane przez deweloperów i zawierają specjalny kod oraz szeroko rozumiane materiały graficzne – modele postaci, tekstury, mapy itd. Kod ten jest odczytywany przez komputer, a ponieważ gry to w dużej mierze produkcje skupione na warstwie wizualnej, to niebagatelne znaczenie dla ich prawidłowego działania ma karta graficzna. Kart jest zaś na rynku całkiem sporo, więc deweloper nie jest w stanie napisać dostosowanego do każdej z nich kodu. Co przychodzi na ratunek? Sterowniki do karty graficznej od jej producenta oraz API (interfejs programistyczny aplikacji), z którym pracuje deweloper.

Aby maksymalnie uprościć opisany wyżej układ posłużę się porównaniem. Załóżmy, że każdy tłumacz na świecie zna język angielski. Ten język angielski to w tym przypadku API, w którym „mówi” twórca gry. Następnie sterownik, będący tłumaczem, przekłada go kartom graficznym na ich rodzimą mowę, która jest jedyną, jaką znają. Dlatego też gry konsolowe są lepiej zoptymalizowane, gdyż deweloper „mówi” od razu w języku karty graficznej, a będący „ciałem obcym” sterownik nie odgrywa większej roli. W przypadku PC sterownik opóźnia zaś komunikację między procesorem a kartą graficzną, co powoduje, że komputery nie wykorzystują w pełni możliwości swoich podzespołów.

DirectX 12 przynosi zmiany na opisanej wyżej płaszczyźnie i daje większe możliwości deweloperom. Dzięki temu rozwiązaniu API jest niejako bliższe sterownikom kart graficznych. Wiążą się z tym także pewne problemy, gdyż twórcy gier otrzymują więcej możliwości, z którymi wcześniej nie mieli styczności. Co ważne, za sprawą DirectX 12 wszystkie rdzenie procesora mogą być wykorzystane do komunikacji z kartą graficzną. Wcześniej zdarzały się sytuacje, gdy karta wyrenderowała już klatkę obrazu i czekała przez jakiś czas bezczynnie, gdyż nie dostawała informacji od procesora o kolejnym zadaniu. Choć opóźnienia należy tutaj rozpatrywać w ułamkach sekund, to podobnie jak wspomniany wyżej sterownik, wpływały one negatywnie na końcowy, widoczny dla gracza, efekt.

Według ostatnich testów szybkość przesyłu informacji między procesorem a kartą graficzną jest w przypadku DirectX 12 zwiększana nawet dwunastokrotnie względem poprzedniego API. Jeżeli chodzi zaś o liczbę wyświetlanych klatek na sekundę, zależnie od sprzętu i gry można zobaczyć różnicę rzędu nawet 20 FPS.

Kiedy DirectX 12 stanie się standardem? Na to pytanie obecnie ciężko odpowiedzieć, ale procesowi wdrażania z pewnością sprzyja fakt, że Windows 10 został zainstalowany już na ponad 200 milionach komputerów (dane ze stycznia). Dużą rolę z pewnością odegrają dysponujący dużymi budżetami wydawcy. Dwie największe gry Electronic Arts tego roku – Mirror’s Edge Catalyst oraz Battlefield 1 – będą wymagały wspomnianego wyżej API. Twórcy silnika Frostbite już teraz apelują, że DirectX 12 powinien stać się standardem w minimalnych wymaganiach sprzętowych do końca 2016 r. Czy to jednak dobra informacja? Z jednej strony tak, bo zmiany nastąpią szybciej, ale z drugiej strony użytkownicy Windowsa 8.1, 8, 7 itd. będą mogli co najwyżej pomarzyć o graniu w najnowsze produkcje. Warto w tym momencie wspomnieć również o wsparciu dla kart graficznych, które w przypadku Nvidii zaczyna się od serii GTX 400 (2010 r.), a dla AMD od HD 7000 (2012 r.).

Czy wzrost wydajności jest jedyną zaletą, jaka wiąże się z DirectX 12? Otóż nie! Zakończenie powyższego akapitu nawiązaniem do kart graficznych dwóch czołowych producentów nie było przypadkowe. Nowe API Microsoftu pozwoli im bowiem współpracować, co daje lepsze rezultaty, niż połączenie GPU tych samych firm. Co więcej, DirectX 12 może wykorzystać kartę graficzną zintegrowaną z procesorem, co jest popularnym rozwiązaniem na przykład w podzespołach firmy Intel.

DirectX 12 z pewnością przyniesie dobre efekty dla świata gier komputerowych. Warto jednak pamiętać, że będą one widoczne przede wszystkim w grach, które wykorzystują w dużym stopniu procesor (strategie czasu rzeczywistego, FPSy, ale już nie cRPG). Jak pokazują testy, obecnie API Microsoftu przynosi bardziej znaczące wzrosty wydajności w przypadku kart graficznych AMD. Amerykańska firma już wcześniej korzystała ze swojego rozwiązania tego typu – Mantle – które dawało świetne efekty. Jeżeli DirectX 12 stanie się powszechnie wykorzystywany, a deweloperzy będą potrafili w pełni skorzystać z narzędzi, jakie on daje, gry osiągną jeszcze wyższy poziom graficzny niż znany nam do tej pory.

 

Tekst pozyskany z archiwalnej wersji strony technologicznie.pl – Napisany przez autora bloga.

ZOSTAW ODPOWIEDŹ

Twój adres e-mail nie zostanie opublikowany.