Anonim

Naj se soočimo: DirectX 11 in OpenGL se že nekoliko starata. DirectX 11 je bil predstavljen z Windows 7 leta 2009, OpenGL 4.0 pa leto kasneje. V programskih letih so te tehnologije danes že starodavne, trenutne letine strojne opreme, ki jo izvajajo, pa ob izdaji teh grafičnih API-jev sploh ni bilo na risalni plošči. Kaj ima industrija glede na to očitno prekinitev povezave s časom? No, poglejmo v bližnjo prihodnost in poglejmo, za začetek pa najprej razložimo, kaj je API in katera funkcija služi za igranje iger.

Kaj je API?

Vmesnik za programiranje API ali aplikacij je niz protokolov in orodij, ki se uporabljajo za izdelavo programske opreme. Grafični API-ji so v resnici le specializirani API, ki je narejen za lažje ustvarjanje 3D grafike. Grafični API-ji olajšajo gradnjo 3D-slik, hkrati pa vam omogočajo, da API-ju rečete, da naredi nekaj (npr. Nariše pravokotnik), nato pa API-ju nato sporoči s strojno opremo, kako opraviti to nalogo. To je glavni razlog, da lahko toliko različnih GPU-jev s specializirano strojno opremo zažene iste igre. Brez obstoja API-ja bi morali isto igro napisati na različne načine, da bi komunicirali z vsakim določenim sklopom strojne opreme. To bi močno omejilo proizvodnjo strojne opreme in močno povečalo stroške gradnje iger, kar bi na koncu preneslo na končnega potrošnika.

Da bom razlago zgoraj malo lažje razumel, bom uporabil analogijo: Pomislite na API kot upravitelja gradbišča. Njegova naloga je, da prevzame idejo arhitekta in jo razčleni, načrtuje, kakšne posadke morajo biti, kje in kdaj, ter zagotoviti, da so vsi na isti strani, kaj je treba storiti.

Slika 1: Grafični prikaz delovanja API-ja

Trenutno uporabljeni grafični API-ji

Zdaj, ko razumemo nalogo grafičnega API-ja, poglejmo natančneje trenutno sestavo. Najpomembnejši igralec na današnjem trgu je Microsoftov DirectX, ki je bil predstavljen že leta 1995. Od njegove izdaje je bil že nekajkrat posodobljen in je vključen v Microsoftov operacijski sistem Windows. DirectX je tisti grafični API, ki ga podpira skoraj vsaka igra, izdana za PC. Pravzaprav je tako pogost, da je danes res standard za igranje računalnikov. DirectX je ekskluziven za izdelke Windows in Microsoft, zaradi česar je na žalost zelo zaprt sistem. Naslednji vrsti je OpenGL, edini večji grafični API z odprtokodno kodo. OpenGL je bil izdan leta 1992 in je večplatenten, kar pomeni, da deluje z več operacijskimi sistemi, vključno z Windows, Linux in Mac OS. Končno imamo na voljo najnovejši grafični API, Mantle. Mantle je bil razvit leta 2013 s partnerstvom med AMD in Dice. Mantle je na voljo v operacijskem sistemu Windows in samo za AMD GPU.

Slika 2: Primerjava DirectX 12 in DirectX 11
Vir slike; Število slik: Intel

DirectX 12

DirectX 12 naj bi bil izdan z Windows 10 to jesen in veliko novih izboljšav je na voljo. Ena večjih izboljšav je veliko boljša podpora za več navojev. Več dela je razdeljeno na več jeder v CPU, kar omogoča veliko boljšo in učinkovitejšo rabo procesorja. Velikokrat bo DirectX 11 imel samo eno jedro CPU-ja v celoti izpraznjeno, medtem ko druga jedra sedijo v prostem teku. DirectX 12 obljublja, da bo to delovno obremenitev razširil po jedrih procesorja in enakomerneje dajal igram veliko več CPU moči. Naslednja velika izboljšava, ki jo je obljubil DirectX 12, je možnost obravnave številnih drugih klicev. Žrebni klic se zgodi kadar koli želi igralec narisati nekaj na zaslonu. Zahteva veliko vlečnih klicev je na splošno zelo obdavčljiva na CPU. DirectX 12 naj bi zmogel do 600.000 vlečnih klicev. Če pogledam to, je DirectX 9 sposoben samo 6000 klicnih klicev ali 1/100 tistega, kar bo DirectX 12 zmogel.

Že leta je možno izvajati več GPU-jev v načinu SLI / Crossfire. Kljub temu pa je bila ena od velikih omejitev to, da se VRAM, vgrajen v kartice, ni združeval, da bi naredil en velik neprekinjen bazen. Na primer, če imate dva GPU-ja, vsaka z 2 GB VRAM-a, imate še vedno le 2 GB VRAM-a, ker mora imeti vsaka kartica enake podatke, shranjene v njej. DirectX 12 upa, da bo to težavo rešil z uporabo AFR ali nadomestnega upodabljanja okvirja. Namesto vsakega GPU-jevega upodabljanja vsakega dela okvirja bo zdaj GPU-jev ustvaril en celoten okvir. To bo omogočilo samostojno uporabo VRAM-a na vsaki kartici in upam, da bodo kartice z manjšimi količinami VRAM-a sposobne preživeti igranje še dlje časa. V DirectX 12 naj bi bilo vključenih še mnogo novih funkcij, ki bodo igralne grafike potisnile dlje kot kdajkoli prej. Vendar pa je Microsoft še vedno zelo bučen glede teh novih funkcij. Upamo, da bomo o njih kmalu izvedeli več, ko se bo izid API-ja približal.

Slika 3: DirectX 12 režijski stroški se zmanjšajo pri uporabi večjedrnih procesorjev.
Vir slike; Kreditna slika: nVidia GeForce

Vulkan

O Vulkanu ni toliko znanega, kot je o DirectX 12, kot je bilo pravkar objavljeno na GDC 2015. Kar vemo, je, da so proizvajalci OpenGL, Khronos Group, v imenu Vulkana opustili ime glNext. Zdi se, da Vulkan izhaja iz Mantle, ki sem ga omenil prej v članku. Poleg tega je videti, kot da AMD prinaša najboljše dele Mantle na mizo za Vulkan v partnerstvu s Khronos Group. Vulkan naj bi imel veliko enakih prednosti DirectX 12, ni pa vezan na eno platformo, kot je Windows. Namesto tega bo na voljo na številnih različnih platformah, vključno z Linuxom in celo mobilnimi napravami. Gonilniki Vulkan za Windows in Linux bodo v nasprotju z DirectX-om popolnoma odprti vir. Vulkan bo izboljšal povezovanje z več niti, zato bo danes veliko bolje izkoristil moč CPUja, tako da bo širil delovno obremenitev po več jedrih procesorja. Kot smo že omenili, bo zmanjšanje obremenitve CPU-ja omogočilo, da GPU-jev ne bo tako ozko, kot zdaj. To bi moralo zagotoviti precej velik okvirni zagon med igranjem iger. Vir 2, ki ga je pred kratkim napovedal Valve, bo prvi novi igralec, ki bo v celoti podpiral Vulkan, čeprav sem prepričan, da bo v bližnji prihodnosti napovedano še veliko. Dota 2, igra, ki je znana po intenzivnosti CPU-ja, je bila prikazana v Viru 2 z novim Vulkan API-jem z uporabo Intelove integrirane grafike na CPU-ju. To v DirectX-u 11 zagotovo ne bi bilo zaželeno, toda z Vulkanom se je zdelo, da igra ves čas ohranja razumno hitrost slike. Dan Baker, ki je razvijal za igre Oksid, je celo šel daleč in rekel, da "dokler proizvajalci GPU ne nastopijo skupaj in ne naredijo GPU-ja desetkrat hitreje, kot ga imamo zdaj, ne moremo maksimirati CPU-ja". To je dobra novica za ljudi, ki poganjajo počasnejši procesor ali ki imajo trenutno veliko konjskih moči GPU-ja, ker bo to pomenilo, da je na istem naboru strojne opreme doseči veliko boljšo zmogljivost.

Slika 4: Diagram, ki prikazuje prednosti Vulkana (zmanjšano ozko grlo na GPU).
Vir slike; Kreditna slika: Khronos

Kaj to pomeni za prihodnost igranja iger?

No, za dolgo časa se moč GPU-ja povečuje precej hitreje kot zmogljivost CPU-ja. Pred petimi leti je Intel celo izjavil, da so nekateri GPU-ji kar 14-krat hitrejši kot njihovi lastni procesorji. Ti testi so bili narejeni s pomočjo nVidia GTX 280 v primerjavi z i7 960 Intel CPU - zdaj velja za razmeroma zastarelo strojno opremo. Razkorak med nVidia GTX Titan X (ali celo nVidia GTX 980) in trenutnim glavnim procesorjem CPU - Intel i7-4790k CPU - bi moral biti veliko večji. Poskušam poudariti, da zaradi CPU-ja začenjamo opaziti, da je vse več iger na steni. Vprašajte vsakogar z nadzorom visoke hitrosti osveževanja, kako težko je v nekaterih igrah vzdrževati 100 + fps s trenutnimi procesorji. Iskreno povedano, brez teh novih API-jev in njihove zmožnosti učinkovitejše uporabe moči CPU-ja bi bilo le težje. Uvedba teh novih API-jev bi za večino ljudi lahko pomenila velik napredek. Poleg tega bi razvijalcem omogočili tudi gradnjo veliko bolj intenzivnih iger s procesorjem, kot jih imamo zdaj. Predstavljajte si na primer igro, kot je Assasins Creed, ki ima na tisoče naenkrat več tisoč NPC-jev, ki med seboj potujejo po mestu in se med seboj družijo z vašim junakom. Ali igre, kot je Star Citizen, kjer potrebujete zelo močan CPU, da dobite kakršno koli stabilno in sprejemljivo hitrost slike, bo v bližnji prihodnosti morda potreben povprečen CPU v najboljšem primeru in močan GPU, da ohranite dobrih 60 sličic v sličici.

Konec koncev je to zelo vznemirljiv čas za igranje iger. Ob izdaji teh novih grafičnih API-jev bomo morda videli največji skok v igralniških tehnologijah že dolgo. Upajmo le, da lahko ti API-ji dosežejo hype, ki so ga že ustvarili zase.

Nove grafične apije in prihodnost računalniških iger