Zgodnie z naszymi niedawnymi zapowiedziami, Microsoft ujawnił na konferencji GDC 2014 pierwsze oficjalne szczegóły na temat interfejsu wysokopoziomowego programowania DirectX 12. Zapowiada się zatem mały przełom w branży gier – nie tylko dla komputerów stacjonarnych, ale też konsol i urządzeń mobilnych.
Genezę interfejsu DirectX 12 można prześledzić w trendach technologicznych. Wydajność procesorów graficznych nieustannie rosła, podczas gry wydajność centralnych procesorów jednordzeniowych była ograniczona przez ograniczenia mocy. Wielordzeniowe procesory centralne osiągają wyższą wydajność, ale wciąż nie prześcigają one procesorów graficznych. Jednocześnie aplikacje coraz częściej wykorzystują równoległe wątki, stosując zaawansowane systemy planowania w celu dostosowania wydajności do liczby dostępnych rdzeni procesora centralnego. Sytuacja ta wymusiła potrzebę stworzenia interfejsu API, który skalowałby się odpowiednio do liczby rdzeni. Wydajność procesora graficznego można wykorzystać na trzy sposoby: możliwość rysowania lepszych pikseli, większej liczby pikseli i większej liczby obiektów.
DirectX 12 koncentruje się na radykalnym zwiększeniu jakości grafiki poprzez znaczące zmniejszenie narzutu interfejsu API na procesor. Historycznie, sterowniki i oprogramowanie systemu operacyjnego zarządzały pamięcią, stanem oraz synchronizacją urządzeń za programistów. Niestety takie uniwersalne podejście skutkuje nieefektywnością wynikającą z niedoskonałego zrozumienia potrzeb danej aplikacji. Nowy DirectX daje aplikacjom możliwość bezpośrednio zarządzania zasobami oraz ich stanem, a także wykonywania niezbędnej synchronizacji. W efekcie programiści tworzący zaawansowane aplikacje mogą skutecznie kontrolować procesor graficzny, dostosowując go do zachowania samej gry.
Warto również zauważyć, że z nowym DirectX będzie kompatybilnych większość (wg szacunków jest to około 80% rynku) obecnie używanych akceleratorów graficznych. W przypadku kart AMD będą to modele bazujące na architekturze Graphics Core Next (Radeon HD 7000 i Radeon R7/R9 200), w przypadku Nvidii karty graficzne bazujące na architekturach Fermi, Kepler i Maxwell (GeForce 400, 500, 600, 700 i 800), natomiast Intel potwierdził zgodność zintegrowanych układów graficznych w procesorach Haswell (HD 4400/4600 i Iris/Iris Pro). Ponadto Microsoft chwali się jego obsługą przez swoją konsolę Xbox One.
Warto jednak pamiętać, że pierwsza prezentacja nowego API koncentrował się głównie na formie interfejsu graficznego, tj. na jego modelu. Przyszłe wersje Direct3D będą zawierać dodatkowo nowe funkcje renderingu, wspierające zaprezentowany model sterowników i aplikacji. Materiały przedstawione na GDC są jedynie częścią prac, które zostaną zaprezentowane w przyszłości.
Swój wkład w prezentację miała również Nvidia, która pochwaliła się nowym API za pomocą technicznej demonstracji gry wyścigowej Forza Motorsport 5 z konsoli Xbox One, uruchomionej na komputerze PC z kartą graficzną GeForce GTX Titan Black z płynnością na poziomie 60 fps. Producent już dostarczył developerom gier odpowiedni sterownik, który ułatwi im opiniowanie interfejsu jak i samego procesu programowania gier.
Kiedy możemy się spodziewać pierwszych gier korzystających z dobrodziejstw DirectX 12? Microsoft przewiduje, że pierwsze tytuły pojawią się już (lub jak kto woli dopiero) na święta Bożego Narodzenia w 2015 roku. Oczywiście nie zabraknie w nich nowych efektów graficznych, a oferowana przez nie grafika będzie jeszcze bardziej realistyczna.
Źródło: Microsoft, Nvidia, ComputerBase