U jeku dok na tržište i dalje stiže sve jači i jači hardver, ali i sve češćim susretanjem s loše optimiziranim softverom (pretežito igrama) koji taj hardver ne iskorištava na najbolji mogući način, third party developeri, ali i velike kompanije uzeli su stvar u svoje ruke i krenuli nekim totalno drugim putem koji danas polako dostavlja rezultate.
Konkretno u ovom slučaju mislimo na API-je koji su u zadnjih nekoliko godina doživjeli pravu malu revoluciju, počevši od Mantlea preko DirectX 12 pa sve do naše današnje teme – Vulkana. Vrlo vjerojatan jedan od glavnih razloga zašto je naglo došlo do promjena stanja uma jest činjenica da su gaming konzole počele upotrebljavati x86 komponente i zapravo klasični “desktop hardver”. Obzirom da iste moraju imati radni vijek i biti aktualne po nekoliko godina, odnosno biti u koraku s tehnologijama i ponajprije performansama, kompanije su uz hardver, morale razviti i softver koji će se maksimalno moći iskoristiti. Ovdje im je glavni cilj bio smanjenje API overheada, multi-core / multi-threaded optimizacija i zapravo spuštanje API-ja na što osnovniju razinu (low-level API) kako bi developerima pružili što bolje uvjete i veću kontrolu tijekom razvoja igara. Tu je AMD-ov Mantle API bio glavni pokretač ovog trenda, što ne čudi obzirom da se njihov hardver (APU) nalazi u Xbox One i u PlayStation 4.
Croteam kao uzor: Najpoznatiji hrvatski game razvojni studio među prvima je implementirao Vulkan API u sklopu svojeg Talos Principle igre
Stopama Mantlea
Odmah po dolasku DX12 API-a AMD je Mantle proglasio mrtvim i krenuo developere odvlačiti od njega, no čini se kako je pozadina te priče ipak malo drugačija. Nedugo nakon toga AMD-ov head of technical marketing – Robert Hallock – potvrdio je da se njihov Mantle API projekt zapravo reinkarnirao kroz Khronosov Vulkan API. Ovo je bacilo skroz novo svjetlo na cijelu situaciju te iako je AMD imao kod developera zapravo i neočekivan uspjeh koji je naglo prekinut obzirom da je Microsoftov DirectX 12 ukomponirao feature Mantlea, izgleda da će kroz Vulkan API njegovo nasljedstvo i dalje u neku ruku ostati živim. Kao što je i Neil Trevett, predsjednik Khronos grupe sam rekao, direktna suradnja s AMD-om i pristup Mantleu dao im je dobru podlogu i početni moment u daljnjem razvoju.
Na kraju, ono što je Khronos s Vulkanom u načelu napravio jest to da je uzeo ono najbolje od Mantlea i dodatno ga unaprijedio po pitanju performansi i generalne iskoristivosti hardversko / softverskog ekosustava u kojem se nalazi te ih još pritom proširio na nekoliko različitih softverskih i hardverskih platformi (Mantle je bio AMD (Windows / Linux) only).
Dobra vijest za korisnike sa slabijim konfiguracijama: Vulkan API zamišljen je da svojim low overhead developerima omogući da izvuku maksimum iz hardvera
Projekt otvorenog tipa
Problem drugih API-ja ne leži samo u njihovoj neoptimiziranosti već i u činjenici da su kompletno limitirani po pitanju dodatnog razvoja i unaprjeđenja od strane third party devlopera, a uz to su i dobrim dijelom definirani kao proprietary tehnologije.
Vulkan je ovdje zapravo totalna suprotnost od dosadašnjih API-a i upravo to je jedna od njegovih glavnih prednosti. Khronos je na Vulkanu surađivao s velikim brojem tvrtki pa su tako svoje prste u ovom imali i neki od najpoznatijih hardverskih brandova iz industriji, od Sonyja, Intela, nVidije, AMD-a preko velikog Samsunga, Qualcomma, mediateka i Broadcoma. Naravno, softverski isto nije nedostajalo, a neka od zvučnijih imena su Valve, Pixar, Lucas Film, Oculus VR, Ubuntu, Blizzard, EA, Unity... Ukratko, Vulkan API je gotovo u samom startu postao jedan veliki grupni projekt kojeg su istodobno sve ove velike kompanije prihvatile pod svoje krilo i koji će se zapravo na taj način indirektno standardizirati kroz nekoliko polja ove industrije. S Vulkanom se nije stalo samo na tome i ono što je zapravo jedna od najvećih njegovih prednosti je cross-platformska podrška kada govorimo o operativnim sustavima. Dok je DirectX primjerice vezan za samo za Windows platformu, Vulkan osim njega podržava Linux i Android. Ovo zapravo predstavlja veliku prednost u odnosu na sve dosadašnje API-je i definitivno će uvelike pomoći developerima, a to će na kraju onda sigurno pridonijeti bržem i visokom adopt rateu ovog API-ja. Vulkan je kao open source projekt još jednom pokazao koliko je zapravo jak ovakav tip i način developinga, pogotovo kada se sve ove kompanije koje smo naveli u objedine u svojevrsnu simbiozu i daju doprinos u obliku njihovih najjačih kvaliteta.
Svi spremni: nVidia i AMD sa svojim trenutnim, a i starijom generacijom grafičkih kartica podržavaju Vulkan API
Hrvati među prvima
Naravno, glavno nagradno pitanje koje si vjerojatno svi postavljate, a i mi sami je gdje su i koje su to igre koje podržavaju Vulkan? Odgovor će vas malo razočarati, ali u njemu ima i jedna dobra vijesti. Barem za sada, osim showcase demoa, jedina igra koja podržava Vulkan je The Talos Principle od svjetski poznatog hrvatskog razvojnoga tima koji se proslavio Serious Sam serijalom – Croteam. Osim njih podršku za Vulkan trebali bi dobiti najnoviji DOOM naslov i Ashes of the Signularty, a priča se da bi i DOTA 2 mogla doživjeti svoj port na ovaj API (op.a. upravo u trenuntku pisanja teksta, Valve je najavio da će DOTA 2 dobiti podršku za Vulkan krajem svibnja). Ovako kratka lista podržanih igara možda i nije toliko neobična pojava obzirom na to da je Vulkan zapravo još uvijek u povojima, no to i nije neki razlog za brigu, pogotovo kada znamo da su se neki od najvećih pojedinaca gaming industrije već oglasili na temu Vulkan API u pozitivnom kontekstu.
Fokus na cross-platformskoj podršci: Upravo je ovo jedna od glavnih odlika Vulkan API-ja, a na popisu se nalazi čak i Android OS
U startu općeprihvaćen
Još jedna velika prednost Vulkana je to što je zapravo već podržan od strane nekoliko modela i generacija bilo nVidijinih ili AMD-ovih grafičkih kartica. U načelu, bilo koji GPU s OpenGL ES 3.1 / 4.x podrškom podržava i Vulkan API. Iz toga razloga Vulkan je dosta često stavljan u kontekst OpenGL-a kao njegovog dostojnog nasljednika. Preliminarni testovi pokazali su da je Vulkan ugrubo od 80 do 90% bolji od OpenGL-a po pitanju performansi u pojedinim specijaliziranim testovima dok je u igrama (tj. igri – The Talos Principle) tek neznatno bolji. Ovdje ga DX 11 još uvijek “šiša” za kakvih 20-30%, a iako se možda ne čini tako na prvu ruku, performanse zapravo puno obećavaju obzirom da je riječ o vrlo ranom previewu sposobnosti ovog API-a i obzirom da se tu tek zapravo utonuli i onaj bitni dio. Oni osnovni ciljevi koje si je Khronos zacrtao s Vulkanom su praktički ostvareni (low-level API i cross-platformska podrška), a sada je na developerima da vide i zapravo otkriju što sve mogu napraviti s njim jednom kada se u potpunosti posvete i jednom kada vidimo daljnji napredak i na ostalim područjima, ponajprije po pitanju po pitanju AMD-ovih i nVidijinih drivera.