Če vam je všeč, da imate na kartici najnovejše tehnologije, ste verjetno slišali za Vulkan. API za Vulkan je najnovejši in največji grafični API, ki ga je napovedala skupina Khronos, ki je zadolžen za trenutni industrijski standard OpenGL. Ime projekta Vulkan je bilo uradno objavljeno na Konferenci razvijalcev iger leta 2015, prva različica API-ja pa se je začela februarja 2016. Novi API je namenjen privabljanju grafike iger na naslednjo raven, tako da če vas zanima podrobnosti, tukaj smo, da vam ga damo.
Razpravljamo o tem, kaj je Vulkanov API, kako se razlikuje od njegovega predhodnika OpenGL in kako lahko Vulkan API spremeni način, kako se igre in druge grafično intenzivne aplikacije razvijajo v bližnji prihodnosti. Preberite o tem zanimivem razvoju v svetu upodabljanja in grafike.
Kaj je API Vulkan?
Pred nekaj leti je AMD pokazal Mantle, ki je ponudil API, ki je bil ciljno usmerjen na 3D igre, medtem ko je AMD pokazal obljubo, da je hitra rešitev za upodabljanje grafike. Nato je AMD podelil komponente Mantle API skupini Khronos, da bi razvil standardni API za upodabljanje. Rezultat je novi Vulcan API.
API Vulkan je nizko API za upodabljanje, ki lahko bolje izkoristi večjedrne procesorje, ki so danes prisotni, in zagotavlja programe z neposrednejšim dostopom do CPU in GPU sistema. Prav tako je agnostik OS. To pomeni, da bodo aplikacije, ki uporabljajo Vulkan API, lahko prenosljive.
Ker smo sami navdušeni igralci iger in ljubitelji iger, smo se odločili pogledati v prihodnost, kako bodo igre kmalu razvite in kako (če sploh) bodo izboljšale naše igralne izkušnje.
Lastnosti
API Vulkan ima veliko funkcij, zaradi katerih je drugačen in boljši od svojega predhodnika OpenGL:
1. API Vulkan skuša uravnotežiti obremenitve za obdelavo enako med vsakim jedrom v večjedrnem okolju. To pomeni, da je vsako jedro v procesorju uporabljeno, kar poveča učinkovitost .
- To bo zelo opazno razliko v upodabljanju grafike, ki zahteva veliko klicev.
- S starejšimi API-ji, je pogosto CPU ozko grlo. Vendar pa Vulkan postavi večjedrne procesorje v tako dobro rabo, da je bolj verjetno, da se bo v GPU našel ozko grlo.
2. Vulcan API bo nudil neposreden dostop do GPU-ja, ki se bo izognil nepotrebnim splošnim stroškom pri dostopu do GPU-ja za klice v strežniku in druge zmogljivosti GPU-ja.
- To pomeni, da zdaj težje igre ne bodo tako intenzivne, kot so trenutno. Tudi vozniki bodo imeli manjšo vlogo pri zagotavljanju dostopa do GPU, kar bo omogočilo hitrejši prenos podatkov.
3. API je zasnovan tako, da je popolnoma prečno platformo .
- Nič več razvejanih API-jev za mobilne naprave, namizne računalnike in konzole. Vulkan API bo enak v vseh napravah z združljivim GPU.
4. Medtem ko je OpenGL skril uporabo in sinhronizacijo pomnilnika GPU, Vulkan to razkrije in razvijalcem omogoča še boljši nadzor nad grafičnim procesorjem in načinom njegove uporabe.
- Vulkan omogoča razvijalcem, da nadzorujejo, kako GPU oblikuje teksture, upravlja pomnilnik in izvaja sinhronizacijo.
- Vendar pa še vedno skriva dovolj informacij za ohranitev združljivosti med različnimi platformami .
5. Vulkan uporablja vmesni jezik SPIR-V za vzporedno računanje in grafiko. SPIR-V, tako kot njegovi predhodniki, SPIR1.2 in SPIR2.0, je razvila skupina Khronos, z razliko, da SPIR-V ne uporablja LLVM. SPIR-V omogoča Vulkanu, da ima na vsaki platformi skupnega prevajalnika. Razvijalcem tudi ni treba pošiljati jedra, shader kode in izvajanje gonilnika je poenostavljeno.
Kako nam lahko Vulkan pomaga kot končnim uporabnikom
API Vulkan, ko ga razvijalci v celoti izkoristijo, lahko bistveno izboljša izkušnjo končnega uporabnika (to ste vi in jaz!). Razmislite grafiko konzolnih ravni na mobilnih napravah, morda celo namizne grafike za vrhunske modele z ustreznimi procesorji!
1. Ker je večina mobilnih SoC-jev tudi več-jedrnih, bo Vulkan uporabil procesorje v največji možni meri, tako da bodo igre bolj gladke (višji FPS).
2. Ker tudi Vulkan zagotavlja nizek režijski dostop do GPU naprave, to pomeni, da bodo igre sedaj lahko v veliki meri zmanjšale čas, potreben za dostop do virov GPU. Še enkrat, to pomeni boljšo grafiko pri višjih posnetkih na sekundo z maksimalno uporabo zmogljivosti GPU .
3. Medtem ko zmožnosti za različne platforme, ki olajšajo prenosljivost iger, morda ne vplivajo neposredno na vas kot končnega uporabnika, to pomeni, da bi lahko vaše najljubše igre in grafično intenzivne aplikacije na voljo na skoraj vseh platformah . Možnosti so neskončne in omejene le z našo domišljijo.
4. Igre bodo tudi zagotovile bolj gladko delovanje tako, da bodo zagotovile, da bo GPU posvetila več pozornosti (branje: dodeli več pomnilnika in daje prednost) za stvari, ki so uporabniku takoj vidne, zaradi česar je igra bolj imuna na zamude in padce okvirja. .
Možnosti za razvijalce
Čeprav je nizka raven API-ja za grafiko nedvomno dobra ideja, to ni očitna privlačnost za vsakega razvijalca, zlasti za nove. Programiranje na nižji, bližji ravni strojne opreme zahteva precej več moči od programiranja na višji ravni, ki je bolj abstraktna. To nikakor ni šokantno. To je precej očitno in prav zaradi tega bodo razvijalci imeli tri različne možnosti, kako uporabiti Vulkan za svoje razvojne projekte.
1. Uporabite neposredno Vulkan API
- To bo zagotovilo najnižjo raven dostopa do strojne opreme in očitno ne bo izbira za vsakogar. Vendar pa se ta raven lahko uporabi za ustvarjanje orodij za primerjalno analizo za druge aplikacije, razvite z uporabo Vulkana.
2. Uporabite knjižnice
- Mogoče najbolj izvedljiva možnost za razvijalce, ki prehajajo iz OpenGL v Vulkan.
- Večina knjižnic bo odprtokodnih, zato lahko razvijalci, ki imajo izkušnje z razvojem z uporabo OpenGL, preizkusijo in prenesejo svoje aplikacije OpenGL na API Vulkan z relativno lahkoto, namesto da opravijo popolno prenovo ali se začnejo iz nič.
3. Uporabite igralne motorje, optimizirane z Vulkanom
- Prepričani smo, da bodo prišli v večino razvijalcev. Motorji za igre so oblikovali in razvili dobro uveljavljeni, izkušeni industrijski težki in jih lahko razvijalci (tako izkušeni kot začetniki) zlahka uporabljajo za ustvarjanje iger, ki uporabljajo prednosti Vulkanov API.
- Razvijalci, kot so Epic Games (Unreal Engine) in Unity (Unity Engine), so že napovedali Vulkanovo podporo v svojih prihajajočih motorjih in veliko več jih je napovedalo, da bodo sledili.
GLEJ TUDI: Razumevanje APFS: Novi datotečni sistem podjetja Apple
Bodi navdušen!
V primeru, da vas članek ni prepričal ... navdušite se! Zdaj! Vulkan obljublja, da bo takšen prelomni razvoj grafičnih API-jev, ki bo izboljšal naše življenje. Video posnetki primerjav med performansom Vulkan in OpenGL že obstajajo, rezultati pa so preprosto neverjetni. Če so ti videoposnetki indikacija, se pripravite na izjemno kakovost grafike povsod, vključno z mobilnimi telefoni, vse zahvaljujoč prihodu Vulcan API-ja!
Torej, kaj misliš o Vulkanu? Ali menite, da bo to velik napredek v primerjavi s sedanjim standardom OpenGL? Sporočite nam v spodnjem oddelku za komentarje.