Vulkan er et nytt programmeringsgrensesnitt fra Khronos Group som skal overta arven etter OpenGL. (Bilde: Creative Commons Free License by gnuckx (at) gmail.com)

Vulkan

Overtar arven etter OpenGL

Lover enda bedre datagrafikk med Vulkan.

OpenGL er et åpent, standardbasert programmeringsgrensesnitt (API) for 2D- og 3D-grafikk som ble lansert av Silicon Graphips i 1992. I dag brukes OpenGL av stort sett klientenheter, fra smartmobiler til arbeidsstasjoner, så lenge de ikke bruker DirectX og Windows.

Men både datamaskiner og OpenGL har endret seg mye siden 1992. Av den grunn er tiden nå inne for å starte med relativt blanke ark. Derfor avduket standardiseringsorganisasjonen Khronos Group i forrige uke det som av gruppen omtales som neste generasjons grafikk-API, nå med navnet Vulkan.

Mantle

Vulkan er riktignok ikke designet helt fra bunnen av. Khronos Group, som har medlemmer som AMD, Apple, ARM, Intel, Nvidia og Qualcomm, har valgt å basere spesifikasjonen på utvalgte deler av Mantle, et programmeringsgrensesnitt primært for spillgrafikk som AMD presenterte i 2013, men som ikke greide å få særlig fotfeste på egenhånd.

Vulkan har en rekke fordelaktige egenskaper, sammenlignet med dagens OpenGL. Det loves blant annet mer direkte applikasjonstilgang til «jernet». Applikasjonene gis direkte kontroll over GPU-akselerasjonen (Graphics Processing Unit), noe som skal kunne bidra til bedre ytelse og forutsigbarhet. Blant annet vil applikasjonene være ansvarlige for minne-allokering og trådhåndtering, noe som i stor grad gjøres av maskinvaredrivere i dag.

Dette gjør at driverne blir enklere og mer forutsigbare på tvers av leverandører.

Det loves dessuten høyere bilderater, redusert rederingforsinkelse og GPU-effektforbruk, redusert CPU-belastning og bedre utnyttelse av flerkjernede CPU. Vulkan vil dessuten tilby et forent API på tvers av både mobile enheter, pc-er, spillkonsoller og integrerte enheter.

SPIR-V

Mellomspråket SPIR (Standard Portable Intermediate Representation) ble opprinnelig utviklet for å brukes sammen med parallellprosesseringsstandarden OpenCL, men med den nyeste versonen av dette, SPIR-V, støttes også grafikk. Høynivåkode basert på både GLSL (OpenGL Shading Language), OpenCL C, spillmotorer og mye annet oversettes til SPIR-V, som både OpenCL- og Vulkan-drivere kan behandle. For maskinvareleverandørene betyr dette at enhetsdriverne ikke lenger behøver å ha en innebygd kompilator for høynivåspråk, noe som åpner for et større utvalg på begge sider av SPIR.

Kompilatorøkosystemer for Vulkan og OpenCL 2.1
Kompilator-økosystemene til henholdsvis Vulkan og OpenCL 2.1. Klikk på bildet for å se større utgave. Bilde: Khronos Group
 

Selve Vulcan-spesifikasjonen skal gjøres tilgjengelig senere i år.

I likhet med DirectX 12 fra Microsoft, som Vulkan på mange måter er et svar på, vil også Vulkan kunne brukes av maskinvare som ikke er helt ny. Ifølge amerikanske PC World inkluderer dette alle mobilgrafikkprosessorer som i dag er i stand til å støtte OpenGL ES 3.1, og alle pc-grafikkprosessorer som støtter OpenGL 4.3 eller nyere. Det er mange opptil fem år gamle grafikkort inkludert.

 

Til toppen