TEST DRIVE<>
052016<><>

DirectX 12

Direktniji nego ikad

Evolucija ili revolucija? Ili, koliko je dobro imati punu kontrolu?

Prva verzija DirectX-a pojavila se pre više od 20 godina. Zamišljen kao skup različitih aplikacionih programskih interfejsa (API), od svog nastanka do danas prevalio je dug put i postao nezaobilazan alat koji obilato koristi industrija igara.

Nekada

Prva verzija DirectX-a imala je za cilj da programere privoli novom carstvu oličenom u Windowsu 95. To je bio prvi Windows koji je predstavljao autonoman operativni sistem, a ne samo izvršni program sa grafičkim okruženjem koji se pokretao pod DOS operativnim sistemom. Naravno, tada je i drugi softver, pa i onaj zabavnog karaktera bio prilagođen DOS-u. Zbog svog minimalizma i mogućnosti da programi kroz drajvere gotovo potpuno direktno pristupaju hardverskim resursima, DOS je bio vrlo jednostavan i popularan među programerima. Windows 95 je promenio pravila igre i postavio se kao posrednik između aplikativnog softvera i hardvera u daleko većoj meri nego što je to činio DOS. Znatno viša hardverska zahtevnost i ozbiljni bagovi koji su ga pratili učinili su ga prilično nepopularnim kao osnovu buduće igračke platforme. Zbog toga je popularizacija 95-ice među igračima delovala kao nerešiv problem.

DirectX je bio neophodan Microsoftu da bi spasao svoj novi OS u svetu igara, a koliko je njegov uticaj bio snažan svedoči današnja situacija, gde on gotovo da predstavlja sinonim za virtuelno igranje. Suština DirectX-a u grubo bi se mogla svesti na to da je on postao novi sloj između drajvera i programa (igre) koji se izvršava i pristupa hardverskim resursima. Stariji čitaoci sigurno se sećaju igara koje su pre pokretanja zahtevale od korisnika da odabere tip grafičke i zvučne kartice, a nekad i periferija. Pogrešan odabir umeo je da dovede do raznih bagova, zakucavanja ili do nemogućnosti da se igra uopšte pokrene. Pojavom DirectX-a programeri više nisu morali da se trude da svoje igre optimizuju za svako pojedinačno parče hardvera koje čini PC konfiguraciju, a koje su i tada bile prilično šarolike i raznovrsne po pitanju komponenata. Dakle, za kompatibilnost hardvera i besprekorno izvršavanje softvera pobrinuo se DirectX.

Danas

Posle 20 godina, DirectX (DX) je uspeo da dogura do 12. verzije. U međuvremenu se pojavilo mnogo pod-verzija sa slovnim ili brojčanim sufiksima, neke su postojale samo na papiru (poput DX 4), neke su nepravedno zapostavljene zbog omraženih verzija Windowsa koje su uslovljavale njihovo korišćenje (Vista i DX 10), ali je činjenica da je u poslednjih 15 godina, od pojave Windowsa XP i DX 8.1, ozbiljno igranje na Windows PC-u postalo nezamislivo bez DirectX-a.

Razvojni pravac od tada je bio vrlo linearan, sa izrazitim fokusom na grafički deo koji se danas maltene poistovećuje sa DirectX-om, iako zapravo predstavlja samo jedan njegov deo. Svaka naredna verzija donosila je podršku za nove hardverske instrukcije i nove vizuelne efekte. Ovakav način razvoja doveo je do sve veće složenosti grafičkih drajvera koji su postajali sve „teži” i složeniji, jer su morali da ispune sve zahtevniju ulogu posrednika između igre, odnosno DirectX-a i hardvera. Zato sada imamo situaciju da performanse zavise od drajvera u tolikoj meri da je postala praksa da se za svaki visokobudžetni, tj. naslov „AAA” klasifikacije, po pravilu predstavlja i nov drajver. Ovo je naročito izraženo kod Nvidije i njenih Game Ready drajvera.

Zavisnost od kvaliteta drajvera ima negativne posledice po mnoge stvari. Među najvažnijima su te što razvojni timovi igara ne mogu sa sigurnošću da utvrde da li su za eventualno loše performanse krivi drajveri ili neoptimizovanost grafičkog enginea igre. Sa hardverske strane, vrlo uprošćeno govoreći, zadaci se izvršavaju u seriji sa malim ili nikakvim mogućnostima da se neki od njih izvrše paralelno kada za to postoje mogućnosti. Samim tim su i savremeni višejezgarni procesori slabo iskorišćeni, jer sem jednog, ostala jezgra sa grafičkim procesorom ne mogu da komuniciraju u potrebnoj meri i obezbede brže izvršavanje instrukcija. Slično je i sa sistemima koji koriste više istih grafičkih kartica i čije performanse nikada nisu bile naročito impresivne.

Noviteti

DirectX 12 je umnogome različit od svih svojih prethodnika. I on donosi novitete u vidu poboljšanja prikaza i raznih trikova za uštedu memorije, a čija primena zahteva hardversku podršku, ali time se nećemo posebno baviti, jer su to u najboljem slučaju sekundarni noviteti. Ono što je zaista revolucionarno jeste vraćanje korenima igranja na PC-u. Posle dve decenije krug se zatvorio, pa sadašnja softverska rešenja teže ka tome da se aplikativnom softveru, odnosno igrama u ovom slučaju, vrati znatno veća kontrola nad hardverom nego što je to do sada bio slučaj. U prevodu, vraćamo se u vreme DOS-a ili bar blizu ideje po kojoj neka igra može da upravlja hardverom kako joj najviše odgovara. Koliko je to dobro rešenje, najbolje svedoči podatak da konzole sa neuporedivo slabijim hardverom postižu iste ili približne performanse kao i mnogo jače PC konfiguracije.

Bez dubljeg ulaženja u problematiku nije moguće objasniti kako to sve funkcioniše ali, teoretski, prednosti se u najkraćem mogu svesti na znatno bolje iskorišćenje hardverskih resursa, naročito višejezgarnih procesora i sistema sa više grafičkih procesora, a uticaj drajvera na ukupne performanse je neuporedivo manji. Negativna strana potencijalno može da bude inertnost razvojnih timova koji će teško prihvatiti novi/stari način pisanja softvera jer, iako im pruža znatno veću slobodu u radu, od njih zahteva daleko bolje poznavanje hardvera i znatno finije „peglanje” kôda od onoga koji se trenutno smatra prihvatljivim.

Test Drive

Teorija i praksa često nisu u ljubavi, pa smo odlučili da se lično uverimo u to kako zapravo radi DirectX 12. Iako ga ne volimo i smatramo operativnim sistemom koji je još uvek u beta fazi, Windows 10 je za sada jedina platforma na kojoj radi novi DX, pa je poslužio kao osnova test platforme. Hardversku osnovu činila je Skylake konfiguracija sa najjačim i5 procesorom, 16 gigabajta DDR4 i grafičkim karticama navedenim u dijagramima. Pošto broj igara koje podržavaju DX12 trenutno može da se smesti na prste jedne ruke, nismo baš imali mnogo izbora i za test smo obezbedili ove dve: Ashes of the Singularity i Hitman. Obe igre imaju ugrađene testove performansi u DX12, ali i u režimu koji podržava stariji DX11, tako da su mogućnosti za merenje performansi vrlo bogate i precizne.

Rezultate možete videti u dijagramima, a mi ćemo prokomentarisati najzanimljivija zapažanja. Pre svega, prednost AMD kartica je više nego očigledna. Ovo deluje pomalo paradoksalno uzimajući u obzir to da samo Nvidijine kartice Maxwell generacije (sve tri testirane) trenutno u potpunosti raspolažu svim DirectX 12 instrukcijama koje zahtevaju hardversku podršku. Međutim, te instrukcije se ne odnose na način na koji DX12 funkcioniše, pa tako daleko više dolazi do izražaja paralelno procesiranje zadataka za koje su AMD kartice i njihova GCN arhitektura znatno bolje prilagođene od Nvidijinih pandana koji su projektovani sa serijskim procesiranjem u prvom planu. Razlog boljoj prilagođenosti Radeon kartica trebalo bi potražiti u Mantle i Vulkan API-jima, koji predstavljaju svojevrstan AMD-ov pokušaj da naprave pandan DirectX-u. Nijedan od njih nije doživeo širu ekspanziju i podršku od strane proizvođača igara, ali je njihova važnost u tome što su pokazali da je drukčiji pristup problematici iskorišćenja hardverskih resursa moguć, a verovatno su doveli i do toga da Microsoft pokuša i na kraju uspe u sličnoj zamisli i predstavi DirectX 12.

Uporedno testiranje u DX11 i DX12 režimima pokazuje da se GeForce modeli ne snalaze baš najbolje u novom okruženju, dok Radeoni prosto blistaju. Koliko god smešno zvučalo, potencijalni krivac za takvu situaciju mogu biti upravo drajveri. Njihova uloga sada jeste znatno manja, ali i dalje nije marginalizovana u dovoljnoj meri, a verovatno nikada i neće biti, da bi se njihov uticaj na performanse mogao izostaviti iz jednačine. Ovo se naročito odnosi na performanse u SLI režimu koje su krajnje razočaravajuće. Čak i na domaćem terenu, u DX11 režimu, Ashes of the Singularity jednostavno nije koristio drugu karticu. S druge strane, asinhrono procesiranje podataka, koje je jedan od glavnih noviteta DX12 radilo je odlično. Dve GTX 950 kartice nisu radile u SLI režimu, ali su postigle rezultat za preko 50 odsto bolji u odnosu na samo jednu karticu, što komotno možemo da proglasimo odličnim uspehom, uzimajući u obzir to da Nvidijin izvorni SLI režim rada nije doneo nikakvo poboljšanje ni u DX11 testu, dok je u DX12 rezultat bio čak i slabiji za nijansu u odnosu na onaj koji je postigla samo jedna kartica.

Ashes of the Singularity je trenutno najbolji DX12 tehnološki demonstrator koji podržava čak i neke funkcije za koje sumnjamo da će dočekati širu popularnost. Naime, već smo pomenuli da DX12 obezbeđuje paralelno procesiranje i pristupanje hardverskim resursima. To podrazumeva da je moguće koristiti čak i vrlo različite kartice istovremeno. Toliko različite da jedna može da bude GeForce, a druga Radeon! Iako je napomenuto da je gotovo obavezno korišćenje kartica srazmerne snage, nismo odoleli a da ne probamo razne kombinacije. Rezultati su vrlo zanimljivi i govore u prilog tome da ovu preporuku ne treba shvatati previše striktno, ali ni previše ležerno jer je, na primer, slabašni GTX 950 jedva uspeo da neznatno poboljša performanse sledećeg najslabijeg takmičara – R9 380X, dok je svim drugim karticama samo kvario performanse.

Hitman je pokazao da će proći još dosta vremena dok se DX12 ne omasovi. Varijante sa dve kartice ovde ne prolaze. Igra koristi samo jednu, dok drugu uopšte ne konstatuje. Izuzetak je bio SLI režim kod GTX 950 kartica koji je prikazao solidno poboljšanje performansi, ali samo u DX11 režimu, dok DX12 test uopšte nije koristio drugu karticu. Problema je bilo i sa rezolucijom, pa tako nismo uspeli da poteramo test u rezoluciji većoj od 1080p na GTX 980Ti kartici i vidimo kako se nosi sa Fury modelom.

Zaključak do koga smo došli je da Nvidia mora još mnogo da se potrudi kako bi postala konkurentna u DX12 vodama. Da bismo bili fer, moramo da napomenemo da je u procesu stvaranja obe testirane igre AMD direktno učestvovao, tako da je sasvim očekivano da su posebno prilagođene GCN arhitekturi Radeon kartica, ali to svakako ne opravdava slab učinak GeForce modela.

Budućnost

DirectX 12 predstavlja prekretnicu u razvoju igara i oko njega će se lomiti mnoga koplja. Budućnost mu uopšte nije tako sigurna kakvom se možda na prvi pogled čini. Ne bi bio prvi put da neko odlično tehnološko dostignuće bude odbačeno iz sasvim banalnih razloga. Sa korisničke strane, prvi takav razlog je što je, barem za sada, DX12 vezan isključivo za Windows 10, što mu baš i ne ide u prilog. Sa programerske strane, najveći potencijalni protivnik omasovljenju DX12 je znatno veći napor koji razvojni timovi moraju da ulože u proces stvaranja svojih igara. Takođe, ova oblast je velika nepoznanica i zahtevaće dodatne obuke i usavršavanje velikog broja programera. To automatski podrazumeva i veći broj radnih sati, a samim tim i ukupnu cenu razvoja jedne igre.

Nvidija je moćna i uticajna, a kako joj trenutno ne cvetaju ruže u DX12 svetu, možda će pokušati da nastavi po starom uz DirectX 11.3, ili da makar iskoristi svoj uticaj i odloži masovniju pojavu DX12 igara dok ne sredi sopstvene drajvere ili možda i sâm hardver.

Microsoftova uloga takođe nije najjasnija. Godinama su ih mnogi optuživali da upravo DirectX i njegova nezgrapnost i hardverska zahtevnost takvog koncepta koči razvoj PC igara, a sve u korist razvoja konzola na čijem tržištu je Microsoft sa svojim Xbox modelima godinama ostvarivao uspeh i zgrtao ogroman profit. Stvari su se promenile sa poslednjom generacijom koja je doživela potpuni debakl u odnosu na konkurenciju i Microsoft dovela u vrlo nezavidnu poziciju... Toliko nezavidnu da su njegovi čelnici jasno i glasno rekli „Optimizacija kao na konzolama, to vam donosi DirectX 12 na PC-u”. Tačno je da prelazak na Windows 10 ne ide baš po Microsoftovom planu i da je DX12 jedini razlog zašto bi neko ko se iole razume u operativne sistem uopšte poželeo da ga instalira, ali da li će to biti i dovoljan razlog da se većina igrača preseli na novi sistem, a sa njima i većina programera usvoji novi/stari princip rada, vreme će pokazati.

Vladimir TRAJKOVIĆ

 
DirectX 12
Šta mislite o ovom tekstu?
Gigabyte Brix S GB-BXi3H-6100
LC-Power Gaming 982B Redeemer
LG 27UD68 i 29UM58
Asus ROG Swift PG27AQ
Asus VS248H, VE248H, VX248H, VK248H
Memteq DZ09
Epson L805
Fostex TH-7
Zoom UAC-2 i TAC-2
Netis WF2710 i TP-Link Archer MR200
Fostex PM0.4D
Sony HDR-AS50

Rezultati testova
Ashes of the Singularity, 1920 x 1080 px [avg. FPS]
Ashes of the Singularity, 2560 x 1440 px [avg. FPS]
Ashes of the Singularity, 3840 x 2160 px [avg. FPS]
Hitman, 1920 x 1080 px [average FPS]
Hitman, 2560 x 1440 px [average FPS]
Hitman, 3840 x 2160 px [average FPS]
(Za prikaz dijagrama neophodan je browser sa uključenom podrškom za JavaScript)
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera