Om du älskar att hålla koll på de senaste teknikerna måste du ha hört talas om Vulkan. Vulkan API är den senaste och bästa grafik-API: n, som tillkännagivits av Khronos Group, som är människorna bakom den nuvarande branschstandarden OpenGL. Projektnamnet Vulkan tillkännagavs officiellt vid Game Developers 'Conference 2015, och den första versionen av API: n lanserades i februari 2016. Det nya API: s syftar till att ta spelgrafik till nästa nivå, så om du är intresserad av detaljer, vi är här för att ge dig det.
Vi diskuterar vad Vulkan API är, hur det skiljer sig från föregångaren OpenGL och hur Vulkan API kan förändra hur spel och andra grafikintensiva applikationer utvecklas inom en snar framtid. Läs vidare för att utforska om denna spännande utveckling i världen av rendering och grafik.
Vad är Vulkan API?
För ett par år tillbaka visade AMD upp Mantle, arendering API som var inriktat på 3D-spel och medan det visade löfte om att vara en snyggare lösning för att rendera grafik, dödade AMD projektet. Därefter gav AMD Mantle API-komponenterna till Khronos Group för att utveckla ett standard-API för rendering. Resultatet är det nya Vulcan API.
Vulkan API är ett låg-overhead-rendering-API som bättre kan använda de flera kärnprocessorer som är allestädes närvarande i dessa dagar och kommer också att ge program med mer direkt åtkomst till CPU och GPU i systemet. Det är också OS-agnostiskt. Detta innebär att applikationer som använder Vulkan API är lätta att flytta.
Eftersom vi själva är ivriga spelare och spelentusiaster bestämde vi oss för att ta en titt på framtiden för hur spel snart kommer att utvecklas och hur (om alls) kommer det att förbättra vår spelupplevelse.
Funktioner
Vulkan API har en hel del funktioner som gör det annorlunda och bättre än sin föregångare OpenGL:
1. Vulkan API försöker balansera bearbetningsbelastningar lika mellan varje kärna i en flerkärnig miljö. Detta innebär att varje kärna i processorn används därför maximera effektiviteten.
- Detta kommer att göra en mycket märkbar skillnad när det gäller att rendera grafik som kräver många draganrop.
- Med äldre API: er är CPU: n oftare en flaskhals. Vulkan använder dock flerkärniga processorer så bra att det är mer troligt att en flaskhals kommer att hittas i GPU istället.
2. Vulcan API kommer att erbjuda direkt åtkomst till GPU, vilket kommer att se till att undvika onödiga omkostnader vid åtkomst till GPU: n för att dra samtal och andra GPU-anläggningar.
- Detta innebär att tyngre spel nu inte kommer att vara så CPU-intensiva som de är för närvarande. Förare kommer också att spela en mindre roll när det gäller att ge åtkomst till GPU: n, vilket gör överföringen av information mycket snabbare.
3. API: et är också utformat för att vara helt plattform.
- Inga fler förgrenings-API: er för mobiler, stationära datorer och konsoler. Vulkan API kommer att vara detsamma över alla enheter med en kompatibel GPU.
4. Medan OpenGL höll GPU-minnesanvändning och synkronisering dold, avslöjar Vulkan detta och ger utvecklarna ännu bättre kontroll över GPU och hur den används.
- Vulkan gör det möjligt för utvecklarna att kontrollera hur GPU formaterar strukturer, hanterar minne och utför synkronisering.
- Men det gömmer fortfarande tillräckligt med information för att underhålla plattformskompatibilitet.
5. Vulkan använder SPIR-V mellanspråk för parallell beräkning och grafik. SPIR-V har, precis som sina föregångare, SPIR1.2 och SPIR2.0, utvecklats av Khronos Group, med skillnaden att SPIR-V inte använder LLVM. SPIR-V gör att Vulkan kan ha en gemensam frontend-kompilator på varje plattform. Utvecklare behöver inte heller skicka kärna, skuggkod och drivrutinsimplementeringen förenklas.
Hur Vulkan kan hjälpa oss som slutanvändare
Vulkan API, när det implementeras till sin fulla potential av utvecklare, kan förbättra slutanvändarens (det är du och jag!) Spelupplevelse drastiskt. Tror konsolenivågrafik på mobila enheter, kanske till och med grafik på skrivbordskvalitet för avancerade flaggskepp med kompetenta processorer!
1. Eftersom de flesta mobila SoC i dessa dagar också är flerkärniga kommer Vulkan att göra det utnyttja processorerna i maximal utsträckning möjligt, vilket gör spel mjukare (högre FPS).
2. Eftersom Vulkan ger låg överheadåtkomst till enhetens GPU betyder det också att spel nu kommer att kunna minska den tid det tar att få tillgång till GPU-resurser i stor utsträckning. Återigen översätts detta till bättre grafik vid högre bildrutor per sekund utnyttja GPU: s funktioner maximalt.
3. Även om gränsöverskridande funktioner som gör det lättare att flytta spel kanske inte direkt påverkar dig som slutanvändare betyder det att din favorit spel och grafikintensiva applikationer kan mycket väl vara tillgängliga på nästan alla plattformar där ute. Möjligheterna är oändliga och begränsas endast av vår fantasi.
4. Spel kommer också att kunna säkerställa jämnare prestanda genom att se till att GPU ägnar mer uppmärksamhet (läs: tilldelar mer minne och ger preferens till) saker som är omedelbart synliga för användaren, vilket gör spelet mer immun mot fördröjningar och ramdroppar.
Alternativ för utvecklare
Även om ett lågnivå-låg-overhead-API för grafik utan tvekan är en bra idé, är det inte en uppenbar attraktion för alla utvecklare, särskilt de nya. Programmering på en lägre, närmare hårdvarunivå kräver en hel del mer skicklighet än programmering på en högre nivå, vilket är mer abstrakt. Detta är inte på något sätt en chockerare. Det är ganska uppenbart och det är exakt varför utvecklare kommer att ha tre olika alternativ för hur man ska använda Vulkan för sina utvecklingsprojekt.
1. Använd Vulkan API direkt
- Detta ger lägsta åtkomst till hårdvaran och kommer naturligtvis inte att vara ett val för alla. Denna nivå kan dock användas för att skapa benchmarkingverktyg för andra applikationer som utvecklats med Vulkan.
2. Använd bibliotek
- Möjligen det mest lönsamma alternativet för utvecklare som övergår från OpenGL till Vulkan.
- De flesta bibliotek kommer att vara öppen källkod, så utvecklare som har erfarenhet av utveckling med OpenGL kan försöka porta sina OpenGL-applikationer till Vulkan API relativt enkelt, snarare än att behöva göra en fullständig översyn eller börja om från början.
3. Använd spelmotorer optimerade med Vulkan
- Vi är säkra på att det är här de flesta utvecklarna kommer att komma in. Spelmotorer är designade och utvecklade av väletablerade, erfarna, industriella tungvikter och kan enkelt användas av utvecklare (både erfarna och nybörjare) för att skapa spel som använder fördelarna erbjuds av Vulkan API.
- Utvecklare som Epic Games (Unreal Engine) och Unity (Unity Engine) har redan meddelat Vulkan-support i sina kommande motorer, och många fler har meddelat planer att följa.
SE ÄVEN: Förstå APFS: Det nya filsystemet från Apple
Bli upphetsad!
Om artikeln inte övertygade dig ... bli upphetsad! Nu! Vulkan lovar att vara den typ av banbrytande utveckling inom grafik-API: er som kommer att förbättra våra spelliv. Det finns redan videor med jämförelser mellan Vulkan och OpenGL-prestanda, och resultaten är - helt enkelt - fantastiska. Om dessa videor är några indikationer, gör dig redo att uppleva fantastisk grafikkvalitet överallt, inklusive dina mobiler, allt tack vare ankomsten av Vulcan API!
Så, vad tycker du om Vulkan? Tror du att det kommer att bli en stor förbättring jämfört med den nuvarande OpenGL-standarden? Låt oss veta i kommentarfältet nedan.