Anonim

Pogledajmo se: DirectX 11 i OpenGL postaju malo stari. DirectX 11 predstavljen je sa sustavom Windows 7 još 2009. godine, a OpenGL 4.0 slijedi godinu dana kasnije. U programskim godinama ove su tehnologije danas drevne, a trenutna kultura hardvera koju pokreću nije bila ni na ploči za crtanje kad su objavljeni ti grafički API-i. S obzirom na ovaj očigledan prekid, što industrija radi s vremenima? Pa, pogledat ćemo blisku budućnost i vidjet ćemo, ali za početak ćemo prvo objasniti što je API i koja funkcija služi za igranje.

Što je API?

Sučelje za programiranje API-ja ili aplikacija je skup protokola i alata koji se koriste za izgradnju softvera. Grafički API-i doista su samo specijalizirani API izgrađeni za olakšavanje generiranja 3D grafike. Grafički API olakšava izgradnju 3D slika, ali oni vam također omogućavaju da kažete API-ju da nešto napravi (npr. Nacrta pravokutnik), a zauzvrat neka API-u komunicira s hardverom o tome kako započeti ovaj zadatak. To je glavni razlog zašto toliko različitih GPU-a sa specijaliziranim hardverom svi mogu pokrenuti iste igre. Bez postojanja API-ja, ista bi igra morala pisati na različite načine da bi komunicirala sa svakim određenim hardverskim sklopom. To bi ozbiljno ograničilo proizvodnju hardvera i uvelike bi povećalo troškove izgradnje igara, troška koji bi se u konačnici prenio na krajnjeg potrošača.

Da bih malo bolje razumio objašnjenje, poslužiću se analogijom: Zamislite API kao upravitelja gradilišta. Njegov ili njezin posao je uzeti arhitektonsku ideju i razbiti je, zakazati što posade trebaju biti gdje i kada, te osigurati da svi budu na istoj stranici o onome što treba učiniti.

Slika 1: Grafički prikaz rada API-ja

Trenutno korišteni grafički API-i

Sada kada razumijemo posao grafičkog API-ja, pogledajmo bliži trenutni sastav. Glavni igrač na današnjem tržištu je Microsoftov DirectX koji je predstavljen još 1995. godine. Već nekoliko puta je ažuriran, a uključen je u Microsoftov operativni sustav Windows. DirectX je grafički API koji će podržavati gotovo svaka igra objavljena za PC. U stvari, toliko je česta da je doista standard za igre na računalu danas. DirectX je ekskluzivan za Windows i Microsoft proizvode što ga, nažalost, čini vrlo zatvorenim sustavom. Sljedeći je red OpenGL, jedini glavni grafički API otvorenog koda. OpenGL je objavljen 1992. i više je platformski što znači da radi s nekoliko operativnih sustava uključujući Windows, Linux i Mac OS. Konačno, imamo najnoviji grafički API, Mantle. Mantle je razvijen 2013. godine kroz partnerstvo AMD-a i Dice. Mantle je dostupan na Windowsima i to samo za AMD GPU.

Slika 2: Usporedba DirectX 12 i DirectX 11
Izvor slike; Zasluge za slike: Intel

DirectX 12

DirectX 12 trebao bi izaći s Windowsom 10 ove jeseni i očekuje se mnogo novih poboljšanja. Jedno od velikih poboljšanja je puno bolja podrška u više navoja. Većina posla raspoređena je na više jezgara na CPU-u što omogućava mnogo bolju i učinkovitiju upotrebu CPU-a. Mnogo puta će DirectX 11 imati samo jednu jezgru CPU-a potpuno maksenu, dok druge jezgre sjede u praznom hodu. DirectX 12 obećava ravnomjernije rasporediti ovo radno opterećenje na CPU jezgrama, što igrama daje mnogo više snage za rad CPU-a. Sljedeće veliko poboljšanje koje je obećao DirectX 12 je mogućnost rukovanja s mnogo više telefonskih poziva. Poziv za izvlačenje događa se kad god motor igre želi nešto nacrtati na ekranu. Zahtjev puno poziva za izvlačenje općenito je vrlo oporezivajući CPU. DirectX 12 trebao bi moći upravljati s do 600 000 poziva na izvlačenje. Da ovo pogledamo u perspektivu, DirectX 9 mogao je podnijeti samo 6000 poziva za povlačenje ili 1/100 onoga što DirectX 12 može.

Godinama je moguće pokretanje više GPU-ova u SLI / Crossfire načinu rada. Međutim, jedno od velikih ograničenja bilo je to što se VRAM ugrađen u kartice ne spaja zajedno kako bi napravio jedan veliki, kontinuirani bazen. Na primjer, ako imate dva GPU-a svaki s 2 GB VRAM-a, zapravo imate samo 2 GB VRAM-a, jer svaka kartica mora imati iste podatke pohranjene u njoj. DirectX 12 se nada da će ovaj problem riješiti pomoću AFR-a ili alternativnog prikazivanja okvira. Umjesto svakog GPU-a za prikazivanje dijela svakog okvira, GPU će sada umjesto toga prikazati po jedan cijeli okvir. To će omogućiti da se VRAM na svakoj kartici neovisno koristi, a nadamo se da će kartice s manjim količinama VRAM-a biti sposobne za igranje i duže. U DirectX-u 12 bi trebalo biti mnogo drugih novih značajki koje će gurnuti grafiku za igre dalje nego ikad prije. Međutim, Microsoft je i dalje prilično bujan što su ove nove značajke. Nadamo se da ćemo uskoro znati više o njima čim se približi izdanje API-ja.

Slika 3: DirectX 12 režijski troškovi smanjuju se kada se koriste višejezgreni CPU-i.
Izvor slike; Kreditna slika: nVidia GeForce

Vulkan

O Vulkanu se ne zna toliko koliko postoji o DirectX-u 12, kao što je upravo najavljeno na GDC-u 2015. Ono što znamo je da su tvorci OpenGL-a, Khronos Group, ustupili ime glNext u korist Vulkana. Čini se da Vulkan potiče iz plašta, što sam već spomenuo u članku. Nadalje, čini se da AMD donosi najbolje dijelove Mantle-a za stol Vulkanu u partnerstvu s Khronos Group-om. Vulkan bi trebao imati mnoge iste prednosti DirectX-a 12, ali nije vezan ni za jednu platformu poput Windowsa. Umjesto toga bit će dostupan na mnogim različitim platformama, uključujući Linux, pa čak i mobilne uređaje. Upravljački programi Vulkan i za Windows i Linux bit će potpuno otvoreni izvori za razliku od DirectX-a. Vulkan će poboljšati rad s više niti i zato će danas bolje iskoristiti snagu CPU-a širenjem radnog opterećenja u više jezgara CPU-a. Kao što smo već spomenuli, smanjenje opterećenja na CPU-u omogućit će da GPU-ovi uski grli nisu tako lako kao sada. Ovo bi trebalo osigurati priličan poticaj u sekundi tijekom igre. Izvor 2, koji je nedavno najavio Valve, bit će prvi novi pokretački sustav koji će u potpunosti podržati Vulkan, mada sam siguran da će još mnogo toga biti najavljeno u skoroj budućnosti. Dota 2, igra poznata po intenzivnom CPU-u, prikazana je u izvoru 2 s novim Vulkan API-jem koristeći Intelovu integriranu grafiku na CPU-u. To je nešto što sigurno ne bi bilo poželjno u DirectX-u 11, ali s Vulkanom se činilo da igra održava razumnu brzinu kadrova tijekom cijele godine. Dan Baker, koji je programer za igre Oksid, čak je otišao daleko rekavši da "sve dok proizvođači GPU-a ne postanu zajedno i ne naprave GPU deset puta brže nego sada, ne možemo maksimalno iskoristiti CPU". Ovo je dobra vijest za ljude koji rade sporije CPU ili koji trenutno imaju puno konjskih snaga GPU-a, jer će značiti puno bolje performanse na istom hardveru.

Slika 4: Dijagram koji pokazuje prednosti Vulkana (smanjeno usko grlo na GPU).
Izvor slike; Kreditna slika: Khronos

Što to znači za budućnost gaminga?

Pa, dugo vremena, snaga GPU-a povećavala se mnogo brže nego CPU. Prije pet godina Intel je čak izjavio da su neki GPU-ovi 14 puta brži od njihovih vlastitih CPU-a. Ti su testovi rađeni pomoću nVidia GTX 280 u odnosu na i7 960 Intel CPU - koji se sada smatra zastarjelim hardverom. Jaz između nVidia GTX Titan X (ili čak nVidia GTX 980) i trenutačnog glavnog CPU-a - Intel i7-4790k CPU - trebao bi biti mnogo veći. Poanta koju želim učiniti je da počinjemo gledati kako sve više i više igara pogađa zid u izvedbi zbog CPU-a. Pitajte bilo koga sa monitorom velike brzine osvježavanja koliko je teško održavati 100 + fps s trenutnim CPU-om u nekim igrama. Iskreno govoreći, samo bi bilo teže bez ovih novih API-ja i njihove sposobnosti učinkovitijeg korištenja procesora. Uvođenje ovih novih API-ja za većinu ljudi može značiti ogroman napredak u radu. Nadalje, programerima bi se omogućilo i izgradnju mnogo intenzivnijih igara CPU-a nego sada. Na primjer, zamislite igru ​​poput Assasins Creed-a s tisućama NPC-a na ekranu odjednom, koji međusobno komuniciraju s vašim likom dok šetate gradom. Ili igre poput Star Citizen-a, gdje vam treba vrlo jak CPU da biste dobili bilo kakvu stabilnu i prihvatljivu brzinu kadrova, možda bi u skoroj budućnosti trebali prosječni CPU u najboljem slučaju i jak GPU da zadržite lijepih solidnih 60 kadrova u sekundi.

U konačnici, ovo je vrlo uzbudljivo vrijeme za igranje. Kada se objave ove nove grafičke API-je, možda ćemo upravo vidjeti najveći skok u igračkoj tehnologiji u dugo vremena. Nadajmo se samo da ovi API-ji mogu dostići hype koji su već izgradili za sebe.

Nove api grafike i budućnost pc igara