:

Szerző: Gálffy Csaba

2015. augusztus 12. 12:47

Modern grafikus API-t kap az Android is

Akár évekre is szükség lehet, míg beérik a Google és a Khronos bejelentése, miszerint a modern grafikus API-k közül a Vulkan mögé áll be a Google. Az új API gyorsaságban és hatékonyságban is áttörést hozhat, nagy kérdés, hogy mikor.

Beáll a Vulkan grafikus API mögé az Android is - jelentette be a Google és a szabványt fejlesztő iparági konzorcium, a Khronos Group. Ezzel a grafikus hardverhez alacsony szintű hozzáférést biztosító Vulkan hatalmas lökést kapott, a milliárdnyi androidos eszköz támogatása egy csapásra az egyik legfontosabb grafikus API-vá emelte a Vulkant.

Vulkan a Metal és a DirectX12 ellen

Miről van szó dióhéjban? A hagyományos grafikus API-k (DirectX, OpenGL) mára a teljesítmény egyik legnagyobb akadályává váltak, különösen olyan környezetben, ahol szerény CPU-s sebességgel kell számolni vagy szempont a minél magasabb hatékonyság - az okostelefonoknál pedig mindkét tényező jelen van. Válaszként hány éve kirajzolódott az új trend: a konzoloktól kölcsönözni megközelítést. Ez azt jelenti, hogy alacsony szintű hozzáférést kap a fejlesztő a hardverhez, vagyis sokkal közvetlenebbül programozhatja a GPU-t, mint amit a nagy, "vastag" API-k elérhetővé tesznek.

A szabadságfok növelésével természetesen nő a grafikus alkalmazások komplexitása is - egész pontosan a komplexitás a grafikus meghajtóból a grafikus motorba költözik. Ezzel a jövőben a fejlesztőknek kell megbirkózni, a közvetlen memóriakezelés, manuális párhuzamosítás azonban olyan optimalizációt tesz lehetővé, amely bőven kárpótolni tud ezért. Az egyszeri fejlesztőnek pedig még ezzel a fejfájással sem kell számolnia, a licencelhető grafikus motorok, játékmotorok ezt egészében kezelni tudják, így érdemi változással ezen a szinten nem kell számolni.

Ilyen alacsony szintű grafikus API-ra immár minden nagyobb szereplő kínál. Az AMD a Mantle-lel igyekezett kamatoztatni a konzolos dominanciát (ez nagyon hasonló funkcionalitást kínál az Xbox One grafikus rétegéhez), a Microsoft a DirectX 12-vel hozza el ezt a megközelítést az Apple pedig iOS-en és OS X-en is elérhetővé tette a Metal API-t. A szabad szoftveres megoldásra sem kell már sokat várni, az OpenGL-ek mögött álló Khronos Group is megjelent a színen a Vulkan API-val. Elsőre azonban nem volt egyértelmű, hogy a Vulkan milyen támogatásban részesül az operációs rendszerek és a hardverek szintjén, miután a legfontosabb OpenGL-támogató Apple csinált saját megoldást. A Google belépésével ez a kérdés egy csapásra választ kapott - a Vulkan még akkor is releváns grafikus API lesz, ha az Android mellett soha senki más nem fogja támogatni.

01:20
 

PowerVR Rogue GPUs running Gnome Horde demo (Vulkan prototype)

Még több videó

Zongorázni lehet a különbséget.

A Gitlab mint DevSecOps platform (x)

Gyere el Radovan Baćović (Gitlab, Data Engineer) előadására a november 7-i DevOps Natives meetupon.

A Gitlab mint DevSecOps platform (x) Gyere el Radovan Baćović (Gitlab, Data Engineer) előadására a november 7-i DevOps Natives meetupon.

A Vulkan igazi áttörés is lehet a mobilos grafikában (nem véletlen, hogy az Apple is sietett az OpenGL ES lecserélésével). A telefonos-tabletes processzorok ugyanis nem egyszálú CPU-teljesítményben erősek, a grafikus API többletterhelése azonban pontosan ilyen terhelést jelent. Ez roppant energiapazarló, az egy-két CPU-mag magas órajelen való pörgetése égeti az akkus töltöttséget.

Mobilos Vulkan - évek múlva számolhatunk vele

Vannak dolgok, amelyeket nem lehet elég korán elkezdeni. Ezek közé tartozik az alacsony szintű grafikus API-k operációs rendszer szintjén történő támogatása is. Ahhoz ugyanis, hogy a fejlesztőknek az új grafikus platform releváns legyen, szükséges a jelentős telepített bázis - olyan telefonok és tabletek, amelyek képesek is a Vulkan-kompatibilis játékokat futtatni. Erre azonban jelen állás szerint minimum néhány évet várni kell: az Android jelenlegi kiadásai egyáltalán nem támogatják a Vulkant, és több, mint valószínű, hogy a Google Play Services-en keresztül történő "visszaportolás" sem járható út.

A hardver pedig elvben rendelkezésre áll, a Vulkan minden olyan GPU-t támogat, amely legalább az OpenGL ES 3.1-et hardveresen támogatja. Ez a támogatás pedig rendelkezésre áll a Qualcomm Adreno 400-as sorozatú GPU-kban, a Bay Trail-alapú Atomok, Celeronok és Pentiumok, a Mali T6xx sorozat, a Tegra K1 és X1, a PowerVR 6 és 7 sorozat tagjaiban is - hogy a legfontosabbakat említsük. Ez azt jelenti, hogy jellemzően az idei csúcstelefonok és az elmúlt egy évben kiadott Atomos tabletek már támogatni fogják az új API-t.

Az operációs rendszer azonban nem áll készen, az Android 5.0 és 5.1 sem ismeri a Vulkant, és ha a Google illetve a Khronos mély hallgatásából következtethetünk, akkor az Android M sem fogja támogatni a szabványt. Mivel a Vulkan implementációja igen komoly fejlesztést igényel a rendszer szintjén is, várakozásaink szerint csak a következő, Android "N"-ben jöhet, 2016-ban. Ennek egyenes ágú következménye, hogy az Android elképesztően lassú frissítési ciklusát figyelembe véve 2017 vagy akár 2018 is lehet, mire a Vulkan-kompatibilis telefonok számottevő tényezővé válnak - a tavaly óta támogatott OpenGL ES 3.1 részesedése például még mindig csak 3,4 százalék az Android Developer Dashboard szerint, ráadásul még a legmodernebb Nexus 6 sem tartalmaz Vulkan-képes hardvert.

Az üzemeltetői szakmát számos nagyon erős hatás érte az elmúlt években. A történet pedig messze nem csak a cloudról szól, hiszen az on-prem világ is megváltozott.

a címlapról