Katru gadu janvāra beigās Beļģijā, Briselē notiek plaša brīvās programmatūras un atvērtā pirmkoda konference FOSDEM. Tās nepiespiestais raksturs un brīvā treku sistēma ir ļāvusi pasākumam kļūt par tādu ikgadēju starta notikumu APP pasaulē. Šajā konferencē šogad oficiāli pirmo reizi tika minēts Vulkan API – par to runāja Intel Linux grafisko draiveru izstrādātājs Jason Esktrand.

Īsumā raksturojot, Vulkan ir nākošās paaudzes grafiskais API no Khronos grupas – organizācijas kas izstrādā un uztur OpenGL un OpenGL ES standartus. Tā versijas 1.0 specifikācijas publicēšanu gaidīja jau 2015. gadā, taču izskatās, ka šobrīd tās izlaišanas datums sabiedrisko attiecību nolūkos ir saskaņots ar spēļu izstrādes profesionāļu vienīgo globālo konforenci (Game Developers Conference jeb GDC). Kā un kādēļ šis standarts tika radīts, kāda tā saistība un līdzība un atšķirības ar DirectX12, Metal, Mantle un citām grafiskajām API (tai skaitā ar pašu OpenGL) – par to gaidam atsevišķu rakstu.

Konferences slaidos (kas pieejami šeit) Jason izskaidro, ka Vulkan ir jauns API, kas ir radīts modernajai grafikas aparatūrai. Lielākās izmaiņas ir tajā, ka piem. atmiņas apjomi ir jūtami lielāki, kā arī vairākpavedienu atbalstoši grafiskie procesori ir standarts mūsdienu grafiskajās video kartēs. Ne viena no šīm lietām nav fleksibli atbalstīta iepriekšējo paaudžu grafikas API – piemēram, OpenGL ir būvēts uz stāvokļa mašīnas, un tai ir viens konteksts (kaut pēdējās versijas 4.4 un 4.5 šo abus punktus kaut nedaudz, bet tomēr labo). OpenGL arī slēpj pilnībā visu, ko dara grafiskais procesors, kas mūsdienās vairs nav akceptējami dzinējiem, kas gribētu lielderīgāk izmantot resursus, it īpaši darbinot šeideru kodu. Vulkan API turpretī neizmanto globālo stāvokli, kā arī tas pieļauj daudz lielāku kontroli pār grafisko procesoru un atmiņas procesiem no klienta puses. Tas ir praktiski pusceļš kas atļauj grafiskajiem dzinējiem lielāku kontroli pār kartēm, tajā pašā laikā “noslēpjot” pietiekami, lai padarītu API par standartizējamu. Vēl jāpiezīmē ir tas, ka Vulkan ir pirmais API, kuram būs standarta testēšanas kopa (OpenGL gadījumā tiek izmantoti atvērtā pirmkoda projekta Mesa testi).

Kas ir svarīgi ka Vulkan izstrādē, atšķirībā no OpenGL, ļoti lielu lomu ir spēlējuši gan Valve, gan visi lielo dzinēju izstrādātāji un arī daži nopietnie spēlētāju spēļu publicēšanas tirgū. Tā izstrāde arī tika motivēta kā velme atdalīt OpenGL un Vulkan lietojumus, jo OpenGL ir liels vecās programmatūras atbalsts, tas tiek izmantots dažādās mehāniskās projektēšanas lietotnēs (un tur ir iesaistīta nopietna nauda, kas joprojām stutē piemēram AMD). Tas neļauj tam izkāpt no zināmiem rāmjiem un dot brīvību, ko vēlas dzinēju izstrādātāji. Vulkan arī ir šobrīd vienīgā nākošās paaudzes grafiskā API, kuru ražotāji sola oficiāli atbalstīt Windows 7, 8 un 10, GNU/Linx, Android, kā arī virkni citās sistēmās, kuru oficiālus paziņojumus un apstiprinājumus vēl gaidām (piemēram, nākošo Nitendo konsoli un PlayStation 4).

2
Leave a Reply

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Pēteris KrišjānisKrotow Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Krotow
Guest
Krotow

Kad jau spēļu u.c. 3D grafikas programmatūras ražotāju sola jauno API atbalstīt un attīstīt, tad jau viss notiks. Taču interesanti, kā tiks galā ar savietojamību ar jau esošajam grafiskajām kartēm un OpenGL atbalstu jaunajam kartēm.

Pēteris Krišjānis
Guest
Pēteris Krišjānis

Jaunajām kartēm OpenGL tiks atbalstīts vismaz pārskatāmā nākotnē, tehniski izmaiņu pašā procesā nav tik daudz lai rautu OGL podā. Visas esošās pēdējās paaudzes kartes arī ir atbalstītas, tiesa katram ražotājam tas atšķirās. Nvidia diezgan braši sola, AMD ir piesardzīgāki.