Hvis du elsker at holde øje med de nyeste teknologier, skal du have hørt om Vulkan. Vulkan API er den nyeste og bedste af grafiske API'er, der blev annonceret af Khronos Group, som er folket bag den nuværende industristandard OpenGL. Projektnavnet Vulkan blev officielt annonceret på Game Developers 'Conference i 2015, og den første version af API blev lanceret i februar 2016. Den nye API er rettet mod at tage spilgrafik til det næste niveau, så hvis du er interesseret i detaljer, vi er her for at give dig det.
Vi diskuterer, hvad Vulkan API er, hvordan det adskiller sig fra sin forgænger OpenGL, og hvordan Vulkan API kan ændre den måde, spil og andre grafikintensive applikationer udvikles i den nærmeste fremtid. Læs videre for at udforske denne spændende udvikling i gengivelses- og grafikverdenen.
Hvad er Vulkan API?
For et par år tilbage viste AMD Mantle, der hentede API, der var målrettet mod 3D-spil, og mens det viste løfte om at være en hurtigere løsning til gengivelse af grafik, dræbte AMD projektet. Derefter gav AMD Mantle API-komponenterne til Khronos Group for at udvikle en standard API til gengivelse. Resultatet er den nye Vulcan API.
Vulkan API er en lav rendering API, der bedre kan udnytte de multi-core CPU'er, der er allestedsnærværende i disse dage, og vil også give programmer med mere direkte adgang til CPU'en og GPU'en i systemet. Det er også OS agnostisk. Dette betyder, at applikationer, der bruger Vulkan API, er let bærbare.
Da vi selv er ivrige spillere og spilentusiaster, besluttede vi at se på fremtiden for, hvordan spil snart vil blive udviklet, og hvordan (hvis det overhovedet) vil forbedre vores spiloplevelse.
Funktioner
Vulkan API har en hel del funktioner, der gør det anderledes og bedre end sin forgænger OpenGL:
1. Vulkan API forsøger at afbalancere behandlingsbelastninger lige mellem hver kerne i et multi-core miljø. Dette betyder, at hver kerne i processoren derfor bliver brugt maksimere effektiviteten.
- Dette vil gøre en meget mærkbar forskel i gengivelse af grafik, der kræver mange draw-opkald.
- Med ældre API'er er CPU oftere end ikke en flaskehals. Vulkan bruger imidlertid multikerne-CPU'er til så god brug, at det er mere sandsynligt, at der i stedet findes en flaskehals i GPU'en.
2. Vulcan API tilbyder direkte adgang til GPU, som sørger for at undgå unødvendige omkostninger ved adgang til GPU'en til trækopkald og andre GPU-faciliteter.
- Dette betyder, at tungere spil nu ikke vil være så CPU-intensive, som de i øjeblikket er. Drivere vil også spille en mindre rolle i at give adgang til GPU'en, hvilket gør overførslen af information meget hurtigere.
3. API'en er også designet til at være helt på tværs af platformen.
- Ikke flere forgrenings-API'er til mobiltelefoner, desktops og konsoller. Vulkan API vil være den samme på alle enheder med en kompatibel GPU.
4. Mens OpenGL holdt GPU-hukommelsesforbrug og synkronisering skjult, udsætter Vulkan dette og giver udviklerne endnu bedre kontrol over GPU'en og hvordan det bruges.
- Vulkan giver udviklerne mulighed for at kontrollere, hvordan GPU formaterer strukturer, administrerer hukommelse og udfører synkronisering.
- Det skjuler dog stadig nok information til at vedligeholde platformskompatibilitet.
5. Vulkan bruger SPIR-V mellemliggende sprog til parallel computing og grafik. SPIR-V er, ligesom sine forgængere, SPIR1.2 og SPIR2.0, udviklet af Khronos Group med den forskel, at SPIR-V ikke bruger LLVM. SPIR-V giver Vulkan mulighed for at have en fælles frontend-compiler på hver platform. Udviklere behøver heller ikke at sende kerne, shader-kode, og driverimplementeringen er forenklet.
Hvordan Vulkan kan hjælpe os som slutbrugere
Når Vulkan API implementeres til sit fulde potentiale af udviklere, kan det forbedre slutbrugerens (det er dig og mig!) Spiloplevelse drastisk. Tænke grafik på konsolniveau på mobile enheder, måske endda desktop grade grafik til high-end flagskibe med kompetente processorer!
1. Da de fleste mobile SoC'er i disse dage også er multi-core, vil Vulkan udnytte processorer i det maksimale omfang muligt, hvilket gør spil jævnere (højere FPS).
2. Da Vulkan giver lav overheadadgang til enhedens GPU, betyder det også, at spil nu i høj grad kan reducere den tid, det tager at få adgang til GPU-ressourcer. Endnu en gang oversættes dette til bedre grafik ved højere billeder pr. Sekund udnytter maksimalt GPU'ens muligheder.
3. Mens kapaciteter på tværs af platforme, hvilket gør det lettere at overføre til spil, muligvis ikke direkte påvirker dig som slutbruger, betyder det dog, at din favorit spil og grafikintensive applikationer kan meget vel være tilgængelige på næsten alle platforme der ude. Mulighederne er uendelige og begrænses kun af vores fantasi.
4. Spil vil også være i stand til at sikre jævnere ydelse ved at sikre, at GPU'en lægger mere vægt på (læs: tildeler mere hukommelse og foretrækker) ting, der er umiddelbart synlige for brugeren, hvilket gør spillet mere immunt for forsinkelser og rammedråber.
Valgmuligheder for udviklere
Mens et lavt niveau, lavt overhead-API til grafik utvivlsomt er en god idé, er det ikke en åbenlyst attraktion for enhver udvikler, især de nye. Programmering på et lavere, tættere på hardwareniveau kræver en hel del mere dygtighed end programmering på et højere niveau, hvilket er mere abstrakt. Dette er på ingen måde en choker. Det er ret indlysende, og det er præcis, hvorfor udviklere vil have tre forskellige muligheder for, hvordan man bruger Vulkan til deres udviklingsprojekter.
1. Brug Vulkan API direkte
- Dette vil give adgang til hardware på det laveste niveau og er naturligvis ikke et valg for alle. Dette niveau kan dog bruges til at oprette benchmarkingværktøjer til andre applikationer udviklet ved hjælp af Vulkan.
2. Brug biblioteker
- Muligvis den mest levedygtige mulighed for udviklere, der overgår fra OpenGL til Vulkan.
- De fleste biblioteker vil være open source, så udviklere, der har erfaring med udvikling ved hjælp af OpenGL, kan prøve at porte deres OpenGL-applikationer til Vulkan API med relativ lethed snarere end at skulle foretage en komplet eftersyn eller starte fra bunden.
3. Brug spilmotorer optimeret med Vulkan
- Vi er sikre på, at det er her, de fleste af udviklerne kommer ind. Spilmotorer er designet og udviklet af veletablerede, erfarne tungtvægte i branchen og kan let bruges af udviklere (både erfarne og begyndere) til at skabe spil, der bruger fordelene tilbydes af Vulkan API.
- Udviklere som Epic Games (Unreal Engine) og Unity (Unity Engine) har allerede annonceret Vulkan-support i deres kommende motorer, og mange flere har annonceret planer om at følge.
SE OGSÅ: Forståelse for APFS: Det nye filsystem fra Apple
Blive begejstret!
Hvis artiklen ikke overbeviste dig ... bliv begejstret! Nu! Vulkan lover at være den slags banebrydende udvikling inden for grafik-API'er, der vil forbedre vores spilliv. Der findes allerede videoer af sammenligninger mellem Vulkan og OpenGL-ydeevne, og resultaterne er - ganske enkelt - fantastiske. Hvis disse videoer er en indikation, så gør dig klar til at opleve fantastisk grafik kvalitet overalt, inklusive dine mobiltelefoner, alt sammen takket være ankomsten af Vulcan API!
Så hvad synes du om Vulkan? Tror du, det vil være en stor forbedring i forhold til den nuværende OpenGL-standard? Lad os vide det i kommentarfeltet nedenfor.