20Aug
Microsofts DirectX 12 och Apples Metal är nästa generations grafikplattformar. De ger lägre nivå åtkomst till grafikkhårdvara, vilket gör att spelprogrammerare kan klämma ut mer prestanda ur hårdvaran. Vulkan är plattformsvaret till Microsoft och Apples teknologier.
Eftersom Vulkan är plattformsplattform tar den den här generationen av nästa generationens grafikteknik till Googles Android, Valves SteamOS, Linux, alla versioner av Windows och eventuellt även Nintendos nästa konsol. Vulkan ger bättre spelprestanda på absolut vilken plattform som helst som vill använda den och gör spel mer bärbara mellan olika plattformar.
Det började med AMDs mantel
För att förstå var Vulkan kom ifrån, är det viktigt att veta en liten historia. Allt började med AMDs arbete på Mantle, som tillkännagavs 2013. Mantle var ett nytt grafiksystem som spelades direkt till spelutvecklare. Det lovade att göra spel snabbare genom att tillhandahålla ett effektivare grafiklager. Mer tekniskt lovade den lägre CPU-överhead och mer direktåtkomst till lägre grafikhårdvaruegenskaper.
AMD tillhandahåller grafikhårdvaran för både Microsofts Xbox One och Sonys PlayStation 4 och sa att Mantle byggdes på optimeringarna som de arbetade för för nästa generations spelkonsoler.
Mantle konkurrerade med Microsofts DirectX och plattformen OpenGL, som båda visade sin ålder vid tiden. Det var faktiskt en direkt attack på Microsofts egen DirectX, som många PC-spel använder. AMD-chefer på den tiden sa att de aldrig förväntade sig att Microsoft skulle släppa en annan DirectX.Så AMD måste bara övertyga spelutvecklare för att lämna DirectX och OpenGL bakom och använda sitt nyare, bättre system.
DirectX 12, Metal och Vulkan
Microsoft svarade.2014 meddelade Microsoft DirectX 12, som nu ingår i Windows 10 och Xbox One. Microsoft lade upp det på samma sätt och lovade ett effektivare grafiksystem än DirectX 11, och en som gav direkt åtkomst till grafiska maskinvarukonfigurationer med låg nivå.
Apple meddelade också en liknande teknik 2014 kallad Metal. Den lades till i iPhones och iPads med iOS 8 och till Mac med OS X 10.11 El Capitan.
AMD växlade växlar efter detta. Några spel genomförde experimentellt Mantle-stöd, men tekniken var aldrig riktigt släppt för allmänheten. AMD meddelade att det skulle fokusera på Microsofts DirectX 12 och "Next-Generation OpenGL Initiative" istället för att driva sin egen plattform. Att "nästa generations OpenGL-initiativ" förvaltades av Khronos-gruppen, som också förvaltar OpenGL, och blev till sist Vulkan.Även om du aldrig har hört talas om OpenGL har du säkert använt den. Alla Android 3D-spel och de flesta iPhone 3D-spel-tills Apples Metal blev annonserat, åtminstone har skrivits i OpenGL.
Vulkan ger ett plattformsplattform, nästa generations grafiksystem till Android, SteamOS och Linux. Windows-spel kan också använda Vulkan. Sony PlayStation 4 kan komplettera Vulkan-support, precis som Microsofts Xbox One har lagt till DirectX 12-support. Nintendo gick tyst till Khronos-gruppen 2015, så det finns en bra chans Nintendos nästa konsol kan också använda Vulkan.
Vulkan fungerar även på Windows 7 och Windows 8.1, som aldrig kommer att få Microsofts DirectX 12. Eftersom det är plattformen kan spelutvecklare välja Vulkan och deras optimerade kod kan köras på olika plattformar, i stället för bara Windows 10 eller bara OSX.
Det är meningen med Vulkan: det kan läggas till praktiskt taget vilken plattform som helst. Utvecklare kan koda spel i Vulkan och de skulle vara lätta att transportera mellan olika plattformar, vilket är en stor boon om den levererar på sina löften.
Vulkan är redan här
Khronos-gruppen släppte version 1.0 av Vulkan-specifikationen den 16 februari 2016. Både NVIDIA och AMD lade till Vulkan-stöd till sina Windows-drivrutiner och Linux-grafikkdrivrutiner, vilket möjliggör för Windows och Linux-spel att använda Vulkan. Intel har släppt beta-versioner av sina grafikkdrivrutiner med Vulkan-stöd för både Windows och Linux. Valves SteamOS har fått Vulkan-support genom att uppdatera dessa nya drivrutiner.
Kort sagt: Så länge du uppdaterar dina drivrutiner, arbetar Vulkan redan med en hel del befintlig grafikhårdvara. Nu behöver vi bara Vulkan-aktiverade spel.
Google har till och med meddelat att framtida versioner av Android kommer att ha inbyggt stöd för Vulkan, och bevis på arbetet på Vulkan kan ses i arbetet med Androids källkod. Vulkan kommer troligen att visas på framtida konsoler och olika andra hårdvaruplattformar.
Spel med Vulkan finns på horisonten
Vulkan, precis som DirectX 12 och Metal, är inte riktigt något du som spelare kan välja att använda. De är nya grafikprogrammeringssystem spelutvecklare kan välja att använda.
Precis som med DirectX 12 och Metal, måste du bara vänta på framtida spel för att stödja denna teknik. För närvarande Talosprincipen erbjuder experimentellt stöd för Vulkan, som du kan aktivera. Men det här spelet var inte utformat för att använda Vulkan, och dess Vulkan-kod är tidigt och inte så optimerad, så det här kommer inte nödvändigtvis att berätta mycket om Vulkans potentiella prestanda.
Vulkan ersätter inte helt OpenGL.Som Croteam, utvecklare av The Talos Principle , sätta det: "För enkla spel är OpenGL( eller Direct3D för den delen) här för att stanna;[den] inlärningskurvan är inte [lika] brant som med vulkanen. Men Vulkan skiner verkligen när det gäller att minska applikations- och drivrutinens CPU-kostnad. Det är( eller kommer bli) mycket snabbare än Direct3D 9, 11 och OpenGL! "
Men Vulkan handlar inte bara om att välja ett nytt alternativ i en grafikinställningsmeny. Det hjälper Linux och SteamOS att komma ikapp med Windows-spel och bli mycket mer konkurrenskraftiga. Det betyder att Android snart kommer att få ett nästa generations grafiklager konkurrenskraftigt med Apples Metal. Och det betyder att spelutvecklare kan välja Vulkan istället för DirectX 12 och lättare stödja en mängd olika plattformar - inklusive Windows. Detta är bra för alla spelare.
Precis som DirectX 12 på Windows och Metal på Apples plattformar är Vulkan en spännande ny grafikteknik som kommer att lova att hjälpa spelutvecklare att göra sina spel snabbare. Som en plattformsteknik har den också andra fördelar, vilket ger dessa funktioner till nya plattformar och lovar att göra det lättare att porta spel mellan plattformar.