Windows 10 je već godinu dana prisutan i polako zamjenjuje svoje predhodne verzije na računalima širom planeta. Iako se mnogi još drže sedmice i XP-a, treba priznati da je sa desetkom Microsoft napravio dobar posao i napravio jako dobar operativni sustav. Zajedno s ugrađenom Cortanom, streamingom za Xbox One igre i ljepuškastim novim web preglednikom Edge, jedan od njegovih ključnih elemenata je i DirectX 12, najnovija verzija API-ja za igre na ovom operativnom sustavu.

DirectX je zapravo sloj softvera koji stoji između hardvera koji pokreće naša računala i softvera koji radi pomoću hardvera, i on je u srcu velike većine igara koje rade na Windowsima. Drugi veliki gejmerski API je OpenGL, čije ime upućuje da se radi o API-ju otvorenog koda. Oba nude veoma slične osnovne funkcije, ali DirectX je češće u središtu pažnje i prisutan kod većine velikih igara.

Microsoft je govorio o novim mogućnostima DirectX-a 12, i zaista postoje neke nove značajke, barem što se tiče poboljšanja performansa. Ima i neke nove alate za efekte i funkcije koje čine izgled igara boljim nego ikada.

Pa pogledajmo što nam DirectX 12 donosi…

 

DirectX 12:  Direct3D 12 i prilagodba hardvera

Najveći pojedinačni novi dodatak Direct X-u 12 je promjena u 3D grafici – prozvana Direct3D, koja poprilično povećava mogućnosti programera kod optimizacije njihovih igara za određeni hardver. Tome služi Direct3D koji će upregnuti slabiji hardver i izmijeniti kontrolu nad grafikom, što nije postojalo kod prijašnjih izdanja Direct X-a.

Što je to apstrakcija hardvera? To je ono što zapravo Api čini vrlo korisnim. Umjesto da programeri moraju pisati kodove za svaku vrstu hardvera i drivera, API se bavi sa svim tim kodovima, pa s njim programeri dobivaju pojednostavljenu listu uputstava kojih se moraju pridržavati prilikom optimizacije svojih igrica za pojedini hardver.

Ranije je DirectX donosio ograničenu hardversku apstrakciju kako bi olakšao život koderima. Problem je bio u tome što su programeri imali manje prostora za optimizaciju učinkovitosti za pojedini hardver. Kod Direct3D 12 Microsoft omogućava izravniji pristup hardverskim specifikacijama.

Način na koji nam to omogućavaju je preveliki zalogaj za ovaj članak, ali ako želite saznati više o Pipeline State Objects, Command Lists i Descriptorima, idite na Microsoftov blog i pročitajte detaljnije sve o tome.

directx 12 test
Izvor: Microsoft Testirano na GIGABYTE Brix Pro (Intel Core i7-4770R + Iris Pro Graphics 5200)

 

 

DirectX 12: Smanjenje čekanja na odziv grafičkog procesora

Jedno od glavnih poboljšanja je smanjenje vremena za odziv GPU-a, jer mora uvijek čekati CPU tj. glavni procesor da mu dodijeli upute da GPU počne rendeirati grafiku. To je u prijašnjim verzijama DirectX-a bilo usko grlo, koje je ograničavalo količinu objekata vidljivih na ekranu, ali s novim promjenama u sustavu GPU više nemora toliko čekati da mu glavni procesor kaže što da radi.

Budući da najnovije igre koriste mnoge naprednije značajke, kao npr. umjetnu inteligenciju AI, procesori moraju obavljati sve više i više zadataka. Isto tako, i igranje multiplayer igrica može ovisiti o ograničenja CPU-a. Dobar primjer je Battlefield 1, koji je ograničen snagom procesora čak i kod korištenja prilično moćnog okolnog hardvera poput jakih grafičkih kartica.

direct3d 11
Izvor: Microsoft, DirectX 11: Ukupno vrijeme odaziva je 6.6 milisekundi.

 

direct3d 12
Izvor: Microsoft, DirectX 12: Ukupno vrijeme odaziva je smanjeno na 3.2 milisekunde.

 

DirectX 12: Multi adapter

Druga ključna značajka je Explicit Multi-Adapter. On omogućava igrama da koriste multigrafičke procesore različitih marka i brzina, neovisno o postojećim programima poput SLI i Crossfire.

Može raditi s kombinacijama grafičkih kartica kao i s ugrađenim GPU unutar većine modernih procesora. Potonje će samo malo poboljšati učinkovitost, pogledaj sliku dolje, ali ih svejedno vrijedi koristiti, jer može upregnuti hardver koji bi inače ostao neupotrebljen.

directx 12 multiadapter
Izvor: Microsoft

 

To je vjerojatno bio najteže izvedivi element od svih poboljšanja DirectX-a 12, na opće veselje korisnika koji si mogu priuštiti kupovinu dvije grafičke kartice.

 

Zašto DirectX 12?

Kao što smo već spomenuli, uvođenje veće apstrakcije hardvera sa DirectX 12 olakšava život programerima, jer imaju manje posla oko optimizacije igrice za svaku pojedinu grafičku karticu. Budući da programeri često rade i na verzijama igrica za konzole, koje pak koriste drugačije API-e, dodatna muka optimizacije za svaki hardver koji se nudi na tržištu PC-a je jednostavno preveliki zalogaj.

Međutim, veliki broj čimbenika upućuje da je tržište već jako dobro prihvatilo DirectX 12. Uvijek možete baciti još novaca na još brži hardver za osobna računala, ali s DirectX-om 12 možete još bolje iskoristiti mogućnosti svojeg hardvera, kupljenog za skromniju cijenu. Generalno će to pomoći osobnim računalima da još uvijek budu najvažnija platforma za igranje, naspram jake konkurenciju u obliku konzola i mobilnih igara.

directx 12 prednosti

 

Spomenimo i činjenica da sve najnovije konzole nose APU (kombinirane procesore i grafičke kartice) proizvedene u AMD-u, pa će optimizacija za ove konzole biti dobra lekcija za optimiziranja za osobna računala s AMD-ovim hardverom.

DirectX 12 je podržan od velike većine grafičkih kartica koje su trenutno dostupne za osobna računala. Svaka Nvidia kartica nakon lansiranja Fermi arhitekture (GTX 400 serija), svaka Intelova grafička od Haswella nadalje i svaka AMD-ova kartica bazirana na GCN-u (HD 7000 serija) podržava DirectX 12, što čini oko 85% postojećih kartica.

Piše: D.M.

 

 

Komentiraj