Nową generację konsol już znamy. DirectX 12 Ultimate to kolejna generacja dla graczy PC
DirectX 12 Ultimate wprowadzi wiele nowych mechanizmów, by ułatwić twórcom gier tworzenie jeszcze piękniejszych i wizualnie rozbudowanych gier. Ale wprowadza też coś jeszcze: pełną unifikację z konsolą Xbox.
AMD, Nvidia i Microsoft w końcu zaprezentowali nam efekt ich wspólnych prac, który wyznaczy kierunek rozwoju gier na najwyższe lata. Chodzi oczywiście o nową edycję API o nazwie DirectX, w wersji 12.2 – lub jak kto woli pod marketingową nazwą DirectX 12 Ultimate.
Jak numer wersji i nazwa sugerują, to rozwinięcie wprowadzonego sześć lat temu DirectX 12. Poza wprowadzeniem wielu istotnych nowości, w tym niskopoziomowego dostępu do sprzętu, DX12 częściowo zunifikował proces pisania gier na PC i konsole Xbox One. Teraz, przy okazji następcy tejże konsoli, Microsoft wspólnie ze swoimi sprzętowymi partnerami wprowadza uaktualnienie uwzględniające nowości techniczne konsol Xbox nowej generacji.
Microsoft zapowiada, że nie będzie już „portów z konsol na PC”. DirectX 12 Ultimate ma unifikować proces technologiczny gry.
Xbox od zawsze miał być pokazem siły DirectX-a, nawet jego nazwa do tego nawiązuje. Jednak paradoksalnie wykorzystuje on dedykowaną wersję tego API, które w wielu miejscach różni się od tego wbudowanego w Windowsa na PC. Tworzenie gry multiplatformowej w wersji na PC i konsole Xbox było więc znacząco ułatwione, nadal jednak musiały to być dwa osobne projekty.
DirectX 12 Ultimate ma podobno zlikwidować bariery między pisaniem gier na PC a na nową generację konsol Xbox – której na razie jedynym reprezentantem jest Xbox Series X. Microsoft nie chce po raz kolejny popełniać błędów z przeszłości: Xbox One pojawił się na rynku zanim zakończono prace nad DirectX 12, co wywołało duże rozbieżności między teoretycznie tymi samymi API.
Tym razem ma być pełna synchronizacja. Konsole Xbox, począwszy od Series X, będą w pełni zgodne z wytycznymi DirectX 12 Ultimate . Podobnie jak komputery czy karty graficzne, które będą mogły być oznaczane jako zgodne z DirectX 12 Ultimate. Ma to znacząco ułatwić planowanie przyszłych gier: twórcy będą mieli jasno wytyczoną następną generację o spójnych cechach i rozwiązaniach technicznych.
Oznaczenie o zgodności z DirectX 12 Ultimate przyda się też konsumentom, którzy będą wiedzieli, że kupując dany sprzęt wybierają ten w pełni zgodny z umownym next-genem.
Czy muszę wymienić kartę graficzną by zyskać zgodność z DirectX 12 Ultimate?
To zależy od tej, która znajduje się w twoim komputerze. Pełną zgodność z tym API mają układy z rodziny Nvidia Turing oraz AMD RDNA2. Częściową zgodność – czyli gry zadziałają, choć bez niektórych elementów graficznych – będą miały układy z rodziny Nvidia Maxwell 2, AMD Vega, AMD Hawaii oraz Intel Gen9. Czyli całkiem duża grupa pecetowych graczy mogłaby grać już w te w pełni nextgenowe gry, to nadal nie stanowią oni większości potencjalnych nabywców.
Należy się więc spodziewać okresu przejściowego, wydaje się wątpliwe, by studia deweloperskie przeszły w pełni na nową platformę. Jednak gdy większość graczy będzie już dysponowała sprzętem zgodnym z silnikami gier optymalizowanymi pod DirectX 12 Ultimate, problem leniwych portów gier z wersji konsolowych powinien zostać zredukowany. Bo, jak nam jest obiecywane, pisanie gry na Xboxa i PC będzie pracą nad pojedynczym projektem programistycznym, choć oczywiście w kilku podwersjach w zależności od sprzętu.
DirectX 12 Ultimate – co nowego? Po pierwsze, dojrzała implementacja śledzenia promieni.
Śledzenie promieni co prawda jest już od pewnego czasu dostępne za sprawą rozszerzenia DXR 1.0, jednak było ono pisane głównie w celu obsłużenia kart Nvidia Turing – które wówczas jako jedyny produkt masowy obsługiwały akcelerację przeliczeń. DXR 1.1, będący częścią DirectX 12 Ultimate, to wprowadzenie API do śledzenia promieni dla wszystkich partnerów Microsoftu.
Nowe elementy DXR mają charakter programowy, więc będą obsługiwane w pełni przez wszystkie karty Turing. Wersja 1.1 umożliwia tworzenie zadań obliczeniowych związanych ze śledzeniem promieni bez udziału CPU do ich nadzorowania oraz wprowadza mechanizm inline raytracing, a więc uproszczony model śledzenia promieni, który może być łączony z pracą shaderów.
DirectX 12 Ultimate to również Variable Rate Shading.
Technika VRS umożliwia twórcom gier sterowanie precyzją, w jakiej pracują shadery w każdej klatce obrazu. Jeżeli jakieś miejsce w wirtualnej scenie jest mało widoczne lub o mniejszym znaczeniu, programista może zmniejszyć dokładność pracy shadera na pikselach, dzięki czemu zwolni moc obliczeniową na operacje, które gracz faktycznie widzi przed swoimi oczyma.
Mesh shaders, czyli bardziej złożone wieloboki w grach z obsługą DirectX 12 Ultimate.
To zupełnie nowa, znacząco uproszczona metoda tworzenia wieloboków od tej stosowanej od dwóch dekad po dziś dzień, do której były tylko niedbale doklejane nowoczesne rozwiązania, takie jak teselacja. Microsoft porównuje tę metodę w dużym uproszczeniu do shaderów, ale dla geometrii. Twórcy gier będą mieli za sprawą mesh shaderów znacznie większe pole do popisu w optymalizacji metod, w jakich w ich grach tworzone są wieloboki a sama metoda ma znacząco zmniejszyć obciążenie przeliczeniami związanymi z wielobokami – pozwalając na ich większą złożoność.
Sampler Feedback, czyli silniki gier będą podejmowały trafniejsze decyzje.
Ostatnia z wprowadzanych nowości to sampler feedback, a więc narzędzie analityczne zapewniające silnikowi gry informacje o wykorzystaniu tekstur w pamięci. Te informacje mogą być wykorzystane przez kod gry do efektywniejszego zarządzania pamięcią graficzną, operacyjną i masową – a więc, na przykład, które tekstury powinny być przetwarzane, a które mogą zostać przerzucone do pliku wymiany. Gracze w efekcie będą widzieli na ekranie tekstury o wyższych rozdzielczościach.
Kiedy pojawi się DirectX 12 Ultimate?
DirectX 12.2 (lub, jak kto woli, DirectX feature level 12_2) pojawi się wraz z aktualizacją Windowsa 10 do wersji 2004. Ta ma być udostępniona na początku przyszłego miesiąca. Premiera Xboxa Series X spodziewana jest na zimę bieżącego roku. DirectX 12 Ultimate nie będzie obsługiwany przez starsze wersje Windowsa a także przez konsole z rodziny Xbox One.