DirectX 12 na Xbox One? W końcu wiemy czy i jakie korzyści nam to zapewni

News/Gry 07.04.2014
DirectX 12 na Xbox One? W końcu wiemy czy i jakie korzyści nam to zapewni

DirectX 12 na Xbox One? W końcu wiemy czy i jakie korzyści nam to zapewni

Chmura obliczeniowa, o której niedawno wspominał Dawid, to nie jedyny as w rękawie Microsoftu jeżeli chodzi o jego nową konsolę do gier. W przyszłym roku Xbox One powinien dostać prawdziwego „kopa”. Wszystko dzięki DirectX 12.

W dzisiejszych czasach sama wydajność sprzętu to nie wszystko. Oprogramowanie stało się tak skomplikowane, że stworzenie gry lub aplikacji tak, by wykorzystywała absolutnie wszystkie możliwości sprzętu, na którym jest zainstalowane, jest na tyle trudne i kosztowne, że mało kto się tym zajmuje. Ułatwienia dla programistów, jakie daje system operacyjny, powodują, że tworzenie nowych gier i programów jest znacznie łatwiejsze. Niestety, kosztem ich wydajności.

To, jak daleko zaszły usprawnienia kosztem wydajności udowodniła nie tak dawno temu firma AMD. Opracowała konkurencyjne dla OpenGL i DirectX graficzne API o nazwie Mantle, które pozwala programistom na „zbliżenie się” do sprzętu, zachowując znaczną część dotychczasowych ułatwień. Efekty? Najpierw zacznijmy od wad. Mantle to młody projekt i jeszcze nie oferuje tak dużych możliwości graficznych co konkurencja, a na dodatek obsługują go tylko wybrane karty graficzne Radeon. Korzyści jednak są ogromne: gry działają znacznie sprawniej na tym samym sprzęcie.

AMD MAntle

A gdyby tak pozbyć się wad Mantle, zachowując jego zalety?

Odpowiedzią na Mantle ma być DirectX 12 od Microsoftu. W przeciwieństwie do rozwiązania od AMD, DirectX 12 ma współpracować ze sprzętem od innych producentów a także oferować wszystkie dotychczasowe możliwości graficzne, zapewniane przez poprzednie wersje DirectX. Pierwsze gry wykorzystujące możliwości nowego, wciąż niegotowego API, mają pojawić się w przyszłym roku. Sam DirectX 12 ma być dostępny na Windows, Windows RT, Windows Phone oraz na Xbox One. A ten ostatni przypadek jest szczególnie ciekawy.

Sprzęt dla graczy to bowiem zazwyczaj albo desktop, albo konsola do gier. Istnieją co prawda notebooki dla graczy, ale większość PC do elektronicznej rozrywki to właśnie stojące pod biurkiem „puszki”. Z bardzo prostej przyczyny: oferują bardzo dobry stosunek możliwości do ceny i można w nich wymieniać podzespoły na wydajniejsze, wraz z upływem czasu. Konsola do gier, tak jak notebook, to konstrukcja zamknięta. Nie ma szans na rozbudowę o szybsze podzespoły. To paradoksalnie jest jedną z zalet konsol: dzięki temu wszystkie wydane na nie gry wyglądają równie znakomicie i działają na nich równie sprawnie. Nie sposób jednak nie zauważyć pewnych ograniczeń.

DirectX 12 ma zmienić reguły gry

Na zakończonej właśnie konferencji BUILD dla deweloperów, podczas jednej z sesji, Microsoft zademonstrował jakie korzyści w praktyce da nowe API. I, wygląda na to, że owa konsola, aktualnie ledwo co wyciskająca z siebie rozdzielczość 1080p i to tylko w wybranych grach, stanie się znacznie wydajniejsza.

Osiąnięto to dzięki wprowadzeniu dwóch nowych mechanizmów: paczkowania („bundles”) oraz renderowania równoległego („parallel rendering”). Dzieki nim, DirectX 12 w pełni wykorzysta wiele rdzeni w procesorze konsoli. Przyjrzyjmy się poniższym slajdom. Spider’s Web nie został zaproszony na BUILD, więc slajdy znalazłem samodzielnie. Ich zdjęcia są autorstwa redaktora serwisu Neowin. Na DirectX 11.2, gra zachowuje się, mniej więcej, tak:

image_6

Jak widać, pierwszy wątek gry (thread 0) jest najbardziej obciążony. DirectX 11 właściwie prawie w ogóle nie wykorzystuje pozostałych wątków. A teraz spójrzmy na DirectX 12:

image_7

Nie tylko samo API pracuje wydajniej, dzięki zastosowaniu przeróżnych metod optymalizacyjnych, ale również wykorzystuje wszystkie rdzenie procesora by zarządzać układem graficznym i przekazywać mu kolejne polecenia. Wyniki są niesamowite, w niektórych skrajnych przypadkach zwiększając wydajność graficzną Xboxa One nawet dwukrotnie!

Wady? Są.

Świat jednak nie stanie się usłany różami po premierze DirectX 12. By wykorzystać nowe możliwości API, twórcy gier na Xbox One będą musieli się bardziej przyłożyć do swojej pracy. Teraz oni sami mają radzić sobie z konfliktami i potokami danych niskiego poziomu. Microsoft sam przyznaje, że DirectX 12 będzie trudniejszy do opanowania od API poprzedniej generacji (ale jego wykorzystanie nie jest obowiązkowe, będzie można nadal pisać gry wykorzystując swoją wiedzę na temat DirectX 11).

Oznacza to, że gry będą piękniejsze tylko wtedy, jeżeli deweloperzy odpowiednio wykorzystają nowe możliwości DirectX-a. Co więcej, pierwszych gier wykorzystujących ten potencjał powinniśmy się spodziewać dopiero w przyszłym roku.

Biorąc jednak pod uwagę zarówno DirectX 12, jak i możliwość przeniesienia części mniej pilnych obliczeń do chmury, zaczynam wierzyć w to, że Xbox One będzie konsolą prawdziwej nowej generacji. Która będzie ewoluować i zapewniać mi coraz większe możliwości, zarówno funkcjonalne, jak i czysto wydajnościowe. I ciężko mi dostrzec jakiekolwiek złe strony takiego rozwoju wydarzeń.

Dołącz do dyskusji