Bez grafike ne bi bilo niti videoigara, a bez operativnih programa kao što je DirectX ne bi bilo niti grafike. Naravno, to u cijelosti i nije točno, ali DirectX kao takav je uvelike ‘zaslužan’ za sve ono što vidimo na zaslonima za vrijeme igranja igara.

Iako je prošlo puno vremena od nastanka prvog DirectX-a i unatoč tome što su sada najnoviji DirectX 11 i DirectX 12 (koji je podržan samo na Windowsima 10), veliki broj developera videoigara se još uvijek uvelike oslanja na sada već stari DirectX 9c.

Koje su prednosti DirectX-a 12, što je uopće DirectX, te kako se u cijelu priču uklapa Vulkan API saznati ćemo u nastavku.

 

Što je uopće DirectX?

Velika većina ljudi je zasigurno barem čula za DirectX i veliki broj ljudi sada već sigurno ima neku predodžbu u vezi toga da je DirectX jako važan program ako želimo igrati videoigre, a pogotovo ove najnovije. No recimo prvo nešto o tome što uopće jest DirectX.

DirectX je program, odnosno skup kodiranih naredbi koji je kreiran prvenstveno iz razloga omogućavanja pokretanja različith zadataka koji se odnose na multimedije. To znači da je DirectX nešto što je potrebno imati na vašem računalu ako želite da vaše igre rade i funkcioniraju normalno ili općenito- da rade.

DirectX je kao program važan za Windows operativni sustav, što znači da se ostali operativni sustavi (kao što je na primjer Mac) za svoj rad ne oslanjaju na DirectX. Zaključno sa Windowsima XP servisnim paketom 3 izašao je i DirectX 9c, odnosno DirectX koji se još i dandanas koristi od strane programera za razvoj velike većine igara.

Istina, izlaskom Windowsa Vista, 7 i 8 kreirani su i novi DiretX 10 i 11, no velika većina igara za svoj rad ne traže nužno da imate instalirane DirectX 10 i/ili 11. Dovoljno je da imate DirectX 9c i velika većina igara će raditi sasvim normalno.

Izlaskom Windowsa 10 došao je i DirectX 12. DirectX 12 kao takav jamči puno bolju iskoristivost komponenti računala koja su zadužena za grafičku prezentaciju. To znači da bi igrači instalacijom DirectX 12 i na Windowsima 10 trebali imati veći broj fps-a (frameova, ili sličica po sekundi) te da bi im igre trebale raditi puno bolje nego što je to bio slučaj na prošlim verzijama DirectX-a.

 

Maksimalna iskoristivost samo jedne jezgre

U čemu je zapravo stvar sa DirectX-om? Stvar je u tome da sa DirectX 11 sav rad vašeg računala (što se pogotovo vidi pri visokim opterećenjima kakvi su prisutni kod igranja igara), odnosno velika većina tog rada ‘vrti’ uz maksimalnu iskoristivost samo jedne jezgre procesora ili grafičke kartice vašeg računala.

Što to u praksi znači? Recimo da imate računalo koje ima dobar procesor i dobru grafičku te da i grafička kartica i procesor imaju po četiri jezgre (quad core). Uz to, vi pokrenete neku igru. Za vrijeme igranja, glavnina aktivnosti koju vaš procesor i grafička kartica trebaju obavljati, obavljati će se na način da će veliku većinu toga obrađivati samo jedna jezgra, dok će ostalih tri biti ‘na poštedi’. To u prijevodu znači da na se na taj način potencijali vašeg računala ne iskorištavaju onako kako bi trebali.

DirectX 12 omogućuje podijeljeno korištenje jezgri među svim postojećim jezgrama. Na taj način ne samo da igre ne bi više radile samo na jednoj jezgri nego bi one radile puno fluentnije i bez bilo kakvih ‘zapinjanja’ koja se često puta znaju vidjeti posebice u novijim igrama i to baš iz razloga što one, kako to gameri vole reći (što je u biti i istina)- nisu optimizirane.

Ono što je isto tako Microsoft rekao za DirectX 12 jest mogućnost optimiziranog korištenja i grafičke kartice i procesora na puno bolji način nego što je to bilo u dosadašnjim iskustvima.

 

Promjena u odnosu na DirectX 11

Zbog gore spomenutih razloga na DirectX 12 se gleda kao na puno boljeg ‘nasljednika’ DirectX 11. Za sam DirectX 12 je često puta rečeno kako se njime htjela postići učinkovitost ”konzolaške razine igrivosti” uz već spomenuto poboljšano iskorištavanje resursa procesora.

Prema nekim primjerima, ako usporedimo DirectX 12 i DirectX 11 već možemo vidjeti jasnu razliku u iskoristivosti resursa. Sve u svemu, DirectX 12 sam po sebi puno obećava. Jedino što se još treba dogoditi jest ‘puni’ prelazak od strane developera na ovaj API, što trenutno još uvijek nije na vidiku.

amd vulkan api

 

Vulkan API

Sada kada smo nešto rekli o DirectX-u općenito te o DirectX 12, prijeđimo na Vulkan. Koje su sličnosti između Vulkan-a i DirectX-a? Kao prvo, najvažnija svrha zbog koje je Vulkan i nastao jest povećavanje iskoristivosti rada procesora i grafičke kartice na način da Vulkan prilikom pokretanja programa, kao što je na primjer videoigra, upravlja procesima rada programa na način da ravnomjerno raspodjeljuje naredbe za rad na više jezgri umjesto samo na jednu.

Nadalje, Vulkan u teoriji nudi još bolju kontrolu nad korištenjem resursa procesora i grafičke kartice. Osim toga, Vulkan omogućuje i izravan pristup grafičkoj kartici, što u prijevodu znači i značajno bolje performanse iskoristivosti te grafičke kartice (za one koji ne znaju, Vulkanove runtime datoteke, točnije verzija 1.0 je puštena u upotrebu zajedno sa svim novim driverima za Nvidia GeForce grafe).

No kako to izgleda u praksi? Može li Vulkan zaista davati sličnu kvalitetu iskoristivosti grafičke kartice kao DirectX 12? Pogledajmo sliku dolje.

 

vulkan api

 

Ako ćemo raditi procjene prema testovima koji su opisani u slici gore tada možemo zaključiti kako Vulkan (barem zasad) ne može nadmašiti niti preformanse DirectX 11, no ono što se isto tako može vidjeti jest razlika u količini fps-ova u odnosu na protipnu verziju koja je bila za OpenGL.

directx 12 test

OpenGL
OpenGL u usporedbi sa Vulkan API

 

Još jedna činjenica koja ide u ‘obranu’ Vulkana jest ta što je ovo nije najnoviji test, što nam govori kako je Vulkan još uvijek u fazi razvoja. Iako se pokazalo kako je Vulkan već sada kompatibilan sa velikim brojem programa, o pravim mogućnostima i potencijalu koji Vulkan zapravo ima se još ne može govoriti.

Kada govorimo o kompatibilnostima, treba navesti kako je Vulkan potpuno kompatibilan sa većinom postojećih platformi (od Windowsa i Linuxa, a najnovija verzija Android Nougata 7.0 će isto tako omogućavati kompatibilnost sa Vulkanom), kao i sa Playstationom 4. Prema najavama i onome što obećavaju neki developeri, Vulkan bi se u novijoj budućnosti mogao naći i kao dio enginea kao što su Unreal Engine, Crytek, Frostbite i Source.

 

Dva API-ja koja nesumnjivo skrivaju ogroman potencijal

Za kraj treba reći kako oba API-ja obećavaju i zasad djeluju kao da skrivaju velik potencijal koji se tek treba otkriti. Ono što je dobro i kod DirectX 12 i kod Vulkan-a jest definitivno to što su oba API-ja kompatibilna sa velikim brojem platformi, a ako ćemo gledati i čitati najave developera onda možemo s pravom i pretpostaviti kako budućnost gaminga upravo leži u tome koliko će developeri znati i htjeti iskoristiti i DirectX 12 i Vulkan.

Ono što je vidljivo zasad jest to da se jedan dio igara već radi na način da podržavaju DirectX 12 i Vulkan (kao što su Rise of the Tomb Raider, Ashes of the Singularity, Battlefield 1, Civilization V, Dota 2, Need for Speed: No Limits i Doom).

Daljnjim istraživanjem procesnih mogućnosti i potencijala modernih grafičkih kartica zasigurno će se otkriti još više toga što se krije u ova dva API-ja, a u budućnosti možemo očekivati kako će velika većina i novijih i starijih naslova raditi puno bolje i puno brže nego što je to bio slučaj dosad.

No osim za poboljšanu iskoristivost rada grafičkih kartica, DirectX 12 i Vulkan će definitivno dovesti i do maksimiziranja iskoristivosti rada procesora, pogotovo onih koji imaju četiri i više jezgara. Pravilnom raspodjelom rada više neće dolaziti (ili će barem dolaziti puno rjeđe) do ”bottlenecka” u radu procesora.

To znači da napokon možemo očekivati apsolutnu iskoristivost radne i procesne moći procesora, što u kombinaciji sa snažnom grafičkom karticom otvara vrata raja za sve gamere željne pokazivanja onoga što se nalazi ‘ispod hauba’ njihovih računala.

Jedna stvar je sigurnija nego bilo koja druga – DirectX 12 i Vulkan donose novo doba u gamingu i svijetu multimedija općenito. Kako će to sve izgledati u praksi- ostaje nam vidjeti.

Piše: I.H.

Komentiraj