Ako volite voditi karticu o najnovijim tehnologijama, sigurno ste čuli za Vulkan. Vulkan API je najnoviji i najveći grafički API, najavio Khronos Group, koji su ljudi iza trenutnog industrijskog standarda OpenGL. Naziv projekta Vulkan službeno je objavljen na Konferenciji Game Developers (2015. godine), a prva verzija API-ja pokrenuta je u veljači 2016. Novi API je usmjeren na podizanje grafike igara na višu razinu, pa ako ste zainteresirani za detalje, mi smo tu da vam ga damo.
Razgovaramo o tome što je Vulkanov API, kako se razlikuje od svog prethodnika OpenGL, te kako bi Vulkan API mogao promijeniti način na koji se igre i druge grafički intenzivne aplikacije razvijaju u bliskoj budućnosti. Čitajte dalje i istražite ovaj uzbudljivi razvoj u svijetu renderiranja i grafike.
Što je Vulkan API?
Prije nekoliko godina, AMD je pokazao Mantle, koji je API-je koji je bio namijenjen 3D igrama i dok je pokazivao obećanje da će biti brže rješenje za grafičku obradu, AMD je uništio projekt. Zatim, AMD je dao komponente Mantle API-a Khronos Grupi da razvije standardni API za rendering. Rezultat je novi Vulcan API.
Vulkan API je API niskog režijskog renderiranja koji može bolje iskoristiti višenamjenske procesore koji su sveprisutni ovih dana te će također omogućiti programe s izravnijim pristupom CPU-u i GPU-u sustava. Također je agnostik OS-a. To znači da će aplikacije koje koriste Vulkan API biti lako prenosive.
Budući da smo i sami strastveni igrači i ljubitelji igara, odlučili smo pogledati budućnost kako će se igre uskoro razvijati i kako će (ako uopće) poboljšati naše iskustvo igranja.
Značajke
API Vulkan ima mnogo značajki koje ga čine drugačijim i boljim od svog prethodnika OpenGL:
1. Vulkanov API pokušava uravnotežiti procesiranje opterećenja jednako među svim jezgrima u okruženju s više jezgri. To znači da se svaka jezgra procesora stavlja u uporabu, čime se povećava učinkovitost .
- To će učiniti vrlo uočljivu razliku u grafičkim prikazima koji zahtijevaju mnogo poziva.
- Uz naslijeđene API-je, češće nego ne, CPU je usko grlo. Međutim, Vulkan stavlja multi-core CPU-e na tako dobro korištenje, da je vjerojatnije da će se umjesto toga u GPU naći usko grlo.
2. Vulcan API nudi izravan pristup GPU-u, koji će se pobrinuti da se izbjegnu nepotrebni režijski troškovi u pristupu GPU-u za crtanje poziva i drugim GPU objektima.
- To znači da teže igre sada neće biti toliko intenzivne kao sada. Također, vozači će igrati manju ulogu u osiguravanju pristupa GPU-u, što će znatno ubrzati prijenos informacija.
3. API je također dizajniran da bude potpuno cross platforma .
- Nema više grananja API-ja za mobitele, stolna računala i konzole. Vulkan API bit će isti u svakom uređaju s kompatibilnim GPU-om.
4. Dok je OpenGL skrivao korištenje i sinkronizaciju GPU memorije, Vulkan to izlaže i programerima daje još bolju kontrolu nad GPU-om i načinom na koji se koristi.
- Vulkan omogućuje programerima da kontroliraju kako GPU formatira teksture, upravlja memorijom i izvodi sinkronizaciju.
- Međutim, još uvijek skriva dovoljno podataka za održavanje kompatibilnosti na više platformi .
5. Vulkan koristi SPIR-V srednji jezik za paralelno računanje i grafiku. SPIR-V, kao i njegovi prethodnici, SPIR1.2 i SPIR2.0, razvila je grupa Khronos, s tom razlikom da SPIR-V ne koristi LLVM. SPIR-V omogućuje Vulkanu da na svakoj platformi ima uobičajen kompajler. Programeri također ne moraju slati kernel, shader kod, a implementacija upravljačkog programa je pojednostavljena.
Kako nam Vulkan može pomoći kao krajnjim korisnicima
Vulkan API, kada se implementira u svoj puni potencijal od strane developera može poboljšati krajnjeg korisnika (to ste vi i ja!) Gaming iskustvo drastično. Razmislite o grafici konzolnih razina na mobilnim uređajima, možda čak i grafike radne površine za vrhunske modele s kompetentnim procesorima!
1. Budući da je većina mobilnih SoC-ova ovih dana također multi-core, Vulkan će iskoristiti procesore u najvećoj mogućoj mjeri, čineći igre glatkima (viši FPS).
2. Također, budući da Vulkan pruža niski pristup grafičkom procesoru uređaja, to znači da će igre sada moći znatno smanjiti vrijeme potrebno za pristup resursima GPU-a. Još jednom, ovo se prevodi u bolju grafiku pri višim okvirima u sekundi uz maksimalno korištenje mogućnosti GPU-a .
3. Iako mogućnosti cross platforme, što olakšava prenošenje igara za igre, ne mogu izravno utjecati na vas kao krajnjeg korisnika, to znači da vaše omiljene igre i grafički intenzivne aplikacije mogu biti dostupne na gotovo svakoj platformi . Mogućnosti su beskrajne i ograničene samo našom maštom.
4. Igre će također biti u mogućnosti osigurati glatku izvedbu osiguravajući da GPU plaća više pozornosti (čitaj: dodjeljuje više memorije i daje prednost) stvarima koje su odmah vidljive korisniku, čineći igru imunijom na zaostajanje i padove okvira,
Opcije za programere
Iako je API niske razine, niskog opterećenja za grafike nesumnjivo dobra ideja, to nije očita atrakcija za svakog razvojnog programera, posebno za nove. Programiranje na nižoj, bliže hardverskoj razini zahtijeva dosta više snage nego programiranje na višoj razini, koja je više apstraktna. To ni na koji način nije šokantno. Prilično je očigledno i upravo zbog toga developeri će imati tri različite opcije o tome kako iskoristiti Vulkan za svoje razvojne projekte.
1. Upotrijebite izravno Vulkan API
- To će osigurati najnižu razinu pristupa hardveru i očito neće biti izbor za svakoga. Međutim, ova se razina može koristiti za stvaranje alata za benchmarking za druge aplikacije razvijene pomoću Vulkana.
2. Koristite Knjižnice
- Vjerojatno najpouzdanija opcija za programere koji prelaze s OpenGL na Vulkan.
- Većina knjižnica će biti otvorenog koda, tako da programeri koji imaju iskustva u razvoju pomoću OpenGL-a mogu isprobati i prenijeti svoje OpenGL aplikacije na Vulkan API s relativnom lakoćom, umjesto da moraju napraviti potpuni remont ili početi od nule.
3. Koristite igraće motore optimizirane s Vulkanom
- Sigurni smo da će se ovdje ući većina developera. Motori igara osmišljeni su i razvijeni od strane dobro poznatih, iskusnih, industrijskih teških proizvođača i mogu se lako koristiti od strane programera (iskusnih i početnika) za stvaranje igara koje koriste prednosti koje nudi API Vulkan.
- Razvojni programeri kao što su Epic Games (Unreal Engine) i Unity (Unity Engine) već su najavili Vulkanovu podršku u svojim nadolazećim motorima, a još mnogi su najavili planove za praćenje.
Također pogledajte: Razumijevanje APFS-a: Novi datotečni sustav tvrtke Apple
Uzbuditi se!
U slučaju da vas članak nije uvjerio ... uzbudite se! Sada! Vulkan obećava biti revolucionarni razvoj grafičkih API-ja koji će poboljšati naš životni stil igranja. Već postoje videozapisi usporedbi između Vulkanove i OpenGL izvedbe, a rezultati su - sasvim jednostavno - nevjerojatni. Ako su ti videozapisi indikacija, pripremite se za doživljaj nevjerojatne grafičke kvalitete posvuda, uključujući i mobitele, sve zahvaljujući dolasku Vulcan API-ja!
Što misliš o Vulkanu? Mislite li da će to biti veliki napredak u odnosu na trenutni OpenGL standard? Javite nam u odjeljku za komentare u nastavku.