Aanbevolen, 2024

Editor'S Choice

Vulkan API: alles wat u moet weten

Als u graag op de hoogte wilt blijven van de nieuwste technologieën, moet u zeker hebben gehoord van Vulkan. De Vulkan API is de nieuwste en beste grafische API's, aangekondigd door Khronos Group, de mensen achter de huidige industriestandaard OpenGL. De projectnaam Vulkan werd officieel aangekondigd op de Game Developers 'Conference in 2015 en de eerste versie van de API werd gelanceerd in februari 2016. De nieuwe API is bedoeld om game graphics naar een hoger niveau te tillen, dus als je geïnteresseerd bent in de details, we zijn hier om het aan jou te geven.

We bespreken welke Vulkan API is, hoe deze verschilt van zijn voorganger OpenGL, en hoe de Vulkan API de manier kan veranderen waarop games en andere intensieve grafische applicaties in de nabije toekomst worden ontwikkeld. Lees verder om te verkennen over deze opwindende ontwikkeling in de wereld van rendering en afbeeldingen.

Wat is de Vulkan-API?

Een paar jaar geleden toonde AMD Mantle, een aanwervende API die gericht was op 3D-spellen en hoewel het beloofde een snakere oplossing te zijn voor het renderen van grafische afbeeldingen, doodde AMD het project. Vervolgens gaf AMD de Mantle API-componenten aan Khronos Group om een ​​standaard API voor rendering te ontwikkelen. Nou, het resultaat is de nieuwe Vulcan API.

De Vulkan API is een API met lage overhead-rendering die de multi-core CPU's die tegenwoordig alomtegenwoordig zijn beter kan gebruiken en ook programma's met meer directe toegang tot de CPU en de GPU van het systeem zal bieden. Het is ook OS agnostisch. Dit betekent dat applicaties die de Vulkan API gebruiken, gemakkelijk draagbaar zullen zijn.

Omdat we zelf fervente gamers en game-enthousiasten zijn, hebben we besloten om een ​​kijkje te nemen in de toekomst over hoe games binnenkort zullen worden ontwikkeld en hoe (als het er al is) onze game-ervaring zal verbeteren.

Kenmerken

De Vulkan API heeft nogal wat functies die hem anders en beter maken dan zijn voorganger OpenGL:

1. De Vulkan-API probeert verwerkingslasten gelijk te verdelen over elke kern in een multicore-omgeving. Dit betekent dat elke kern in de processor wordt gebruikt, waardoor de efficiëntie wordt gemaximaliseerd .

  • Dit zal een zeer merkbaar verschil maken in het weergeven van afbeeldingen waarvoor veel draw-calls zijn vereist.
  • Met oudere API's is de CPU meestal een bottleneck. Vulkan plaatst multi-core CPU's echter zo goed dat het waarschijnlijker is dat er in de GPU een knelpunt wordt gevonden.

2. De Vulcan API biedt directe toegang tot GPU, wat ervoor zal zorgen dat onnodige overheadkosten voor toegang tot de GPU voor draw calls en andere GPU-faciliteiten worden vermeden.

  • Dit betekent dat zwaardere games nu niet zo CPU-intensief zullen zijn als ze nu zijn. Ook zullen stuurprogramma's een kleinere rol spelen bij het verlenen van toegang tot de GPU, waardoor de overdracht van informatie veel sneller gaat.

3. De API is ook ontworpen om volledig cross-platform te zijn .

  • Geen vertakkende API's voor mobiele apparaten, desktops en consoles. Vulkan API is hetzelfde voor elk apparaat met een compatibele GPU.

4. Terwijl OpenGL het gebruik en de synchronisatie van het GPU-geheugen verborgen hield, onthult Vulkan dit en geeft het de ontwikkelaars nog betere controle over de GPU en hoe deze wordt gebruikt.

  • Met Vulkan kunnen de ontwikkelaars bepalen hoe de GPU texturen opmaakt, het geheugen beheert en de synchronisatie uitvoert.
  • Het verbergt echter nog steeds genoeg informatie om platformonafhankelijke compatibiliteit te behouden .

5. Vulkan gebruikt de SPIR-V-tussentaal voor parallelle berekeningen en grafische afbeeldingen. SPIR-V is net als zijn voorgangers SPIR1.2 en SPIR2.0 ontwikkeld door de Khronos Group, met dit verschil dat SPIR-V geen LLVM gebruikt. Met SPIR-V beschikt Vulkan over een gemeenschappelijke front-end-compiler op elk platform. Ontwikkelaars hoeven ook geen kernel-, shader-code te verzenden en de implementatie van het stuurprogramma is vereenvoudigd.

Hoe Vulkan ons als eindgebruikers zou kunnen helpen

De Vulkan API, wanneer deze door ontwikkelaars volledig wordt geïmplementeerd, kan de spelervaring van de eindgebruiker (dat ben jij en ik!) Drastisch verbeteren. Denk aan grafieken op consolevelniveau op mobiele apparaten, misschien zelfs grafieken op desktopniveau voor high-end vlaggenschepen met competente processors!

1. Omdat de meeste mobiele SoC's tegenwoordig ook multi-core zijn, zal Vulkan de processors maximaal gebruiken, waardoor games soepeler worden (hogere FPS).

2. Aangezien Vulkan een lage overheadtoegang tot de GPU van het apparaat biedt, betekent dit ook dat games de tijd die nodig is om toegang tot GPU-bronnen te krijgen, in grote mate kunnen verminderen. Dit vertaalt zich wederom naar betere graphics bij hogere frames per seconde door optimaal gebruik te maken van de mogelijkheden van de GPU .

3. Hoewel crossplatform-functies gemakkelijker portabiliteit voor games kunnen maken, zijn uw favoriete games en grafisch intensieve applicaties mogelijk op vrijwel elk platform beschikbaar. De mogelijkheden zijn eindeloos en alleen beperkt door onze verbeeldingskracht.

4. Games zullen ook soepeler kunnen presteren door ervoor te zorgen dat de GPU meer aandacht besteedt (lees: wijst meer geheugen toe en geeft de voorkeur aan) aan dingen die direct zichtbaar zijn voor de gebruiker, waardoor het spel meer immuun is voor vertragingen en frame drops .

Opties voor ontwikkelaars

Hoewel een low-level, low-overhead API voor grafische afbeeldingen ongetwijfeld een goed idee is, is het geen voor de hand liggende attractie voor elke ontwikkelaar, vooral de nieuwe. Programmeren op een lager niveau, dichter bij het hardwareniveau, vereist nogal wat meer dapperheid dan programmeren op een hoger niveau, wat meer geabstraheerd is. Dit is op geen enkele manier een shocker. Het is vrij duidelijk, en het is precies waarom ontwikkelaars drie verschillende opties hebben voor het gebruik van Vulkan voor hun ontwikkelingsprojecten.

1. Gebruik de Vulkan API rechtstreeks

  • Dit biedt de laagste toegang tot de hardware en is duidelijk niet voor iedereen een keuze. Dit niveau kan echter worden gebruikt om benchmarkingstools te maken voor andere toepassingen die zijn ontwikkeld met behulp van Vulkan.

2. Gebruik bibliotheken

  • Mogelijk de meest haalbare optie voor ontwikkelaars die overgaan van OpenGL naar Vulkan.
  • De meeste bibliotheken zullen open source zijn, dus ontwikkelaars die ervaring hebben met de ontwikkeling met behulp van OpenGL, kunnen hun OpenGL-applicaties met gemak aan de Vulkan-API koppelen, in plaats van een complete revisie te doen of helemaal opnieuw te beginnen.

3. Gebruik game engines geoptimaliseerd met Vulkan

  • We weten zeker dat dit de plek is waar de meeste ontwikkelaars zich begeven. Game-engines zijn ontworpen en ontwikkeld door gevestigde, ervaren zwaargewichten uit de industrie en kunnen door ontwikkelaars (zowel ervaren als beginners) eenvoudig worden gebruikt om games te maken die de voordelen benutten aangeboden door de Vulkan API.
  • Ontwikkelaars zoals Epic Games (Unreal Engine) en Unity (Unity Engine) hebben al Vulkan-ondersteuning aangekondigd in hun aankomende engines en nog veel meer hebben plannen aangekondigd om te volgen.

ZIE OOK: APFS: het nieuwe bestandssysteem van Apple

Opgewonden raken!

In het geval dat het artikel je niet kon overtuigen ... opgewonden raken! Nu! Vulkan belooft een soort baanbrekende ontwikkeling te worden in grafische API's die ons gamingleven zullen verbeteren. Er bestaan ​​al video's van vergelijkingen tussen de Vulkan- en OpenGL-prestaties en de resultaten zijn - eenvoudigweg - verbluffend. Als deze video's een indicatie zijn, maak je dan klaar om overal geweldige graphics te ervaren, inclusief je mobiele apparaten, allemaal dankzij de komst van de Vulcan API!

Dus, wat denk je van Vulkan? Denk je dat het een grote verbetering zal zijn ten opzichte van de huidige OpenGL-standaard? Laat het ons weten in de comments hieronder.

Top