ID.nl logo
Huis

Vulkan en DirectX 12: Alles over grafische api's

Sinds de nieuwe grafische api’s enige tijd geleden zijn uitgebracht, zijn er veel games verschenen die hiervan gebruikmaken. Maken ze hun beloftes waar? In dit artikel alles over grafische api’s als Vulkan en DirectX 12, plus de belangrijkste nieuwe mogelijkheden ervan.

Na een lange periode van relatieve stilstand, werden in 2015 en 2016 twee nieuwe sterk vernieuwde grafische api’s uitgebracht: DirectX 12 en vervolgens Vulkan. Deze zouden de efficiëntie sterk verbeteren en de overhead verlagen.

Een ‘application programming interface’ (api) neemt over het algemeen de communicatie tussen twee software-onderdelen voor zijn rekening. Hier gaat het specifiek over grafische api’s, die de laag tussen de software en de drivers vormen. Zonder een api zouden ontwikkelaars de drivers direct moeten aansturen, wat gezien het grote aantal drivers en videokaarten een nachtmerrie zou zijn. In plaats daarvan ‘vertaalt’ de api algemene instructies naar wat de drivers en hardware kunnen uitvoeren.

Api’s zijn net zoals programmeertalen ruwweg te onderscheiden in twee groepen: ‘low-level’ en ‘high-level’. Geen van de twee is vanzelfsprekend superieur, want beide hebben hun voordelen en nadelen. Hoe hoger de api, des te meer ‘abstractie’ wordt toegepast. Dit houdt in dat de functies van de api niet direct passen op de functionaliteit van de onderliggende hardware. Het resultaat hiervan is dat de api meer van het werk doet, en het eenvoudiger is voor de ontwikkelaar om code te schrijven. Aan de andere kant leidt het wel tot meer overhead.

DirectX 12

In 2014 kondigde Microsoft plotseling een nieuwe api aan, die het jaar daarop uitkwam als DirectX 12. In navolging van destijds Mantle (deen api van AMD) kon deze low-level api beter omgaan met multicore-processors en was de overhead verminderd. Door deze verbeteringen is het aantal draw calls dat de processor kan sturen ruim tien keer zoveel. Dit betekent niet automatisch betere prestaties, maar hierdoor wordt het negatieve effect van een relatief langzame processor wel kleiner.

Naast de betere efficiëntie biedt DirectX 12 natuurlijk ook veel nieuwe mogelijkheden. Deze moeten wel ondersteund worden door de videokaart, en dit wordt uitgedrukt in twee verschillende termen: ‘feature levels’ en ‘resource binding tiers’.

Feature level geeft aan welk deel van DirectX 12 wordt ondersteund, waarbij 12_1 betekent dat de kaart volledige ondersteuning biedt. Let op: dit is niet hetzelfde als het versienummer, en kan onderscheiden worden door de underscore die aanwezig is in de feature level. Sommige oudere kaarten hebben wat beperkte DirectX 12 ondersteuning, bijvoorbeeld feature level 11_1. Deze kaarten kunnen wel DirectX 12 games uitvoeren, maar ondersteunen niet alle mogelijkheden.

Resource binding tiers gaan over beperkingen op het aantal verschillende taken dat de gpu (theoretisch) tegelijkertijd kan uitvoeren. Het maximum is drie, wat betekent dat er praktisch geen beperkingen zijn op dat vlak.

©PXimport

Een van de interessantste features van DirectX 12 is Explicit Multi-Adapter, ook wel Explicit Multi-GPU genoemd. Dit stelt de eindgebruiker in staat om twee willekeurige videokaarten te combineren. Hiermee is het zelfs mogelijk om de rekenkracht van de geïntegreerde gpu van de processor te benutten!

Dit wordt mogelijk gemaakt doordat deze feature anders werkt dan traditionele multi-gpu-toepassingen. Bij SLI en CrossFire is elke kaart verantwoordelijk voor een ander frame. Dit betekent dat dezelfde kaart gebruikt moet worden, want verschillen in snelheid zouden leiden tot het vervelende fenomeen van ‘microstuttering’. Explicit Multi-Adapter werkt daarentegen met ‘split frame rendering’, waarbij elke kaart verantwoordelijk is voor een ander deel van hetzelfde frame. Dit voorkomt microstuttering, maar betekent wel dat game-ontwikkelaars meer werk moeten verrichten om het goed te laten werken. Bij SLI en CrossFire nemen drivers het grootste deel van dit werk voor hun rekening (wat impliciete aansturing wordt genoemd).

Helaas zijn er maar weinig enthousiastelingen die meerdere videokaarten hebben. Het is daarom vaak niet de moeite waard voor ontwikkelaars om hier moeite voor te doen. Als gevolg hiervan zijn er niet veel voorbeelden van goede ondersteuning voor Explicit Multi-Adapter.

Vulkan

Vulkan werd begin 2016 op de markt gebracht door het consortium Khronos, dat sinds 2006 verantwoordelijk is geweest voor de ontwikkeling van OpenGL. Officieel bestempelt Khronos Vulkan niet als de opvolger van OpenGL, maar ondanks de nieuwe mythologische naam is dit in de praktijk wel zo. De veranderingen zijn op veel vlakken vergelijkbaar met DirectX 12. Het is een ‘low-level’ api dat ernaar streeft multithreading beter te ondersteunen en overhead te minimaliseren. Daarnaast biedt Vulkan nog twee belangrijke voordelen ten opzichte van DirectX 12: Vulkan is open source en platformonafhankelijk, waar DirectX 12 alleen wordt ondersteund door Windows 10 en Xbox.

Het wordt hiermee veel eenvoudiger om games te ‘porten’ van het ene platform naar het andere. Desondanks is Vulkan in het begin vooral gebruikt om DirectX games geschikt te maken voor bijvoorbeeld Linux. Hier begint wel langzaam maar zeker verandering in te komen: enkele maanden geleden kondigde Khronos trots aan dat er meer aangekondigde games waren voor Vulkan dan voor DirectX 12.

In maart van dit jaar is Vulkan 1.1 uitgebracht, waarin de api is verbeterd en er nieuwe features zijn toegevoegd, waaronder Explicit Multi-GPU. In een game die hier ondersteuning voor biedt, zal het daarom ook met Vulkan mogelijk zijn om twee totaal verschillende gpu’s te gebruiken.

©PXimport

Het meest opvallende verschil tussen de twee api’s is het ondersteunde platform: DirectX 12 werkt alleen op Windows 10 en Xbox, terwijl Vulkan in theorie op elk systeem zou moeten werken. Voor ontwikkelaars zijn er nog andere verschillen: Microsoft levert bijvoorbeeld veel meer ondersteuning en software dan Khronos.

Het is moeilijk om algemene uitspraken te doen over de effecten die de api’s hebben op de prestaties, omdat heel veel afhangt van het specifieke spel en de kwaliteit van de implementatie. Niettemin is duidelijk dat, om welke reden dan ook, AMD over het algemeen meer profiteert van het gebruik van DirectX 12 dan Nvidia (in vergelijking met DirectX 11). Ook boeken nieuwere videokaarten meer winst dan oudere modellen, die soms achteruitgang laten zien. Dit geldt ook voor Vulkan, vergeleken met OpenGL.

Het is vooralsnog niet mogelijk om een inschatting te maken van hoe de prestaties verschillen tussen deze twee api’s, omdat er heel weinig games zijn die zowel DirectX 12 als Vulkan ondersteunen in Windows. Zelfs sommige games die officieel beide api’s ondersteunen, doen dat op verschillende besturingssystemen – DirectX wordt gebruikt voor Windows, en Vulkan voor Linux en MacOS. Omdat de prestaties ook worden beïnvloed door het besturingssysteem, is het dan onmogelijk om het effect van de api’s te isoleren.

De toekomst

Veel ontwikkelaars blijven voorlopig werken met de oudere api’s. Dit komt doordat er een aantal drempels is voor daadwerkelijk gebruik van DirectX 12 en Vulkan. Allereerst is er vanwege de verregaande veranderingen en vernieuwingen beperkte documentatie, kennis en ervaring. Dit geldt voor beide api’s, maar met name voor Vulkan, omdat dit niet alleen een nieuwe versie is, maar ook een compleet nieuwe api voor ontwikkelaars die meestal alleen bekend zijn met DirectX.

Een ander probleem is dat oudere videokaarten niet of minder goed werken met de nieuwe api’s. Ontwikkelaars staan daarom voor de keuze om zowel een nieuwe als een oude api te ondersteunen (wat veel extra tijd kost), of om bij een oude api te blijven. Naarmate het aandeel van oudere videokaarten krimpt, zal dit steeds minder een probleem zijn.

Daarbij komt dat het voor daadwerkelijke prestatieverbetering niet voldoende is om bestaande code te ‘porten’ naar een nieuwe api. Goede optimalisatie en goed gebruik van de mogelijkheden is cruciaal. Dit kost ook weer extra tijd, en bij veel spellen is optimalisatie bij tijdgebrek het kind van de rekening.

Zijn DirectX 12 en Vulkan dan echt revolutionair? In technische zin wel. Hun ‘low-level’ aard is een breuk met OpenGL en DirectX zoals deze vanaf het begin hebben bestaan. Er zijn bijzonder interessante mogelijkheden zoals Explicit Multi-Adapter. In de praktijk zijn de gevolgen nog niet wereldschokkend geweest. Veel games blijven nog bij de oude api’s, en grote prestatieverbeteringen zijn zeldzaam.

Dit neemt niet weg dat de nieuwe api’s veel potentieel hebben. Met enig optimisme kunnen we wel zeggen dat de nieuwe features ontwikkelaars in staat stellen om op termijn de efficiëntie van games sterk te verbeteren, naarmate bekendheid met de api’s groeit.

Tekst: Farzin Parham

▼ Volgende artikel
Waar voor je geld: 5 draagbare bluetooth-speakers voor minder dan 90 euro
© Olga Demina | stock.adobe.com
Huis

Waar voor je geld: 5 draagbare bluetooth-speakers voor minder dan 90 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Ben je op zoek naar een goede bluetooth-speaker voor mee op vakantie? Wij zochten vijf modellen voor je uit voor minder dan 90 euro.

Een draagbare bluetooth-speaker is superhandig als je graag muziek luistert, waar je ook bent. Je koppelt ze in een paar seconden aan je telefoon of tablet, en je kunt meteen je favoriete playlist afspelen – zonder gedoe met kabels of ingewikkelde installatie. Gewoon aanzetten, verbinden en gaan met die beat. Wij zochten vijf modellen voor buiten voor je op, voor minder dan 90 euro.

JBL FLIP 6

Deze Flip 6 van JBL neem je makkelijk overal mee naartoe, maar produceert ondanks zijn compacte formaat toch flink wat geluid. Hij is klein genoeg om in je tas te gooien, maar als je hem aanzet, komt er verrassend veel bas en helderheid uit. Perfect voor op het strand, in het park of gewoon thuis op de keukentafel. Hij kan tegen een stootje – letterlijk – en is helemaal waterdicht. Dus regen of zwembad? Geen probleem. De batterij gaat zo'n 12 uur mee, dus je komt wel een dagje door. En heb je een vriend die ook een JBL-speaker heeft? Dan kun je ze koppelen voor dubbel zoveel geluid.

💪 Gewicht: 941 gram
🌊 Waterdicht: IP67
🔊 RMS-vermogen: 10 watt
🔋 Speelduur: 12 uur

Marshall Willen

De Marshall Willen valt op: niet alleen qua geluid, maar ook door z'n iconische rock-'n-roll-uiterlijk. Hij past makkelijk in je jaszak en maakt indruk met z'n kraakheldere geluid. Ondanks z'n formaat krijg je verrassend veel punch. De accu gaat gerust een hele dag mee en je kunt 'm gewoon meenemen onder de douche of in de regen – hij is namelijk waterdicht. Wat ook fijn is: hij heeft een handige clip waarmee je 'm ergens aan kunt hangen. Ideaal voor onderweg of op de fiets.

💪 Gewicht: 476 gram
🌊 Waterdicht: IP67
🔊 RMS-vermogen: 10 Watt
🔋 Speelduur: 15 uur

Sony ULT Field 1

De Sony ULT Field 1 is compact, makkelijk te dragen en zit verrassend goed in elkaar. Wat echt opvalt is de bas: lekker diep en vol. En als je dat niet genoeg vindt, zet je gewoon de ULT-knop aan voor nog wat extra power. Hij is water- én stofdicht, dus je hoeft 'm niet te sparen. De batterij houdt het een uur of 12 vol, wat prima is voor een dagje buiten. Gewoon een fijne, robuuste speaker die doet wat je nodig hebt.

💪 Gewicht: 650 gram
🌊 Waterdicht: IP67
🔊 RMS-Vermogen: 30 Watt
🔋 Speelduur: 12 uur

Ultimate Ears WONDERBOOM 4

De WONDERBOOM 4 is klein, rond en vrolijk, maar klinkt alsof-ie twee keer zo groot is. Zet hem in het midden van de kamer of je picknickkleed en iedereen hoort even goed wat er speelt, dankzij 360° geluid – en dat werkt verrassend goed. Hij is waterdicht én kan drijven, dus hij mag mee in bad of op een bootje, zolang je 'm maar niet lang onder water houdt. De batterij gaat ongeveer 14 uur mee, en als je er twee hebt, kun je stereo afspelen. Kortom: klein ding, groot geluid, nul zorgen.

💪 Gewicht: 420 gram
🌊 Waterdicht: IP67
🔊 Vermogen: niet opgegeven
🔋 Speelduur: 14 uur

Denver BTG-615

Denver is misschien nog niet zo bekend als de grote merken, maar deze 15 Watt BTG-615 verrast zeker. Voor een speaker onder de 50 euro krijg je een stevig geluid en een leuke lichtshow dankzij de ingebouwde leds. Perfect voor feestjes in je woonkamer of buiten op het balkon. Hij is spatwaterdicht, dus een beetje regen overleeft-ie wel. De batterij gaat zo'n 5 uur mee - dat is wel een stuk minder dan de andere hier besproken modellen, maar in principe voldoende voor een middagje muziek. En met een handvat bovenop neem je hem zo mee. Geen poespas, gewoon een leuke speaker die doet wat je verwacht.

💪 Gewicht: 2 kg
🌊 Waterdicht: IPX5
🔊 RMS-Vermogen: 15 Watt
🔋 Speelduur: 5 uur

▼ Volgende artikel
SwitchBot introduceert nieuw slim deurslot met gezichtsherkenning en Hub 3
Zekerheid & gemak

SwitchBot introduceert nieuw slim deurslot met gezichtsherkenning en Hub 3

SwitchBot - bekend van onder meer automatische gordijnsystemen - heeft twee nieuwe producten aangekondigd die het smart home-aanbod van het bedrijf verder uitbreiden. Het gaat om de SwitchBot Lock Ultra Vision Combo en de SwitchBot Hub 3.

De SwitchBot Lock Ultra Vision Combo is volgens het bedrijf het eerste slimme deurslot dat achteraf geïnstalleerd kan worden en beschikt over 3D-gezichtsherkenning. Het systeem gebruikt meer dan 30.000 infraroodpunten om een gedetailleerde gezichtskaart te maken voor identificatie. De herkenning gebeurt binnen één seconde en is zeer veilig met een foutpercentage van minder dan 0,0001%. De gezichtskaarten worden lokaal opgeslagen met AES-128 encryptie.

Het deurslot biedt in totaal 18 verschillende manieren om de deur te openen, waaronder gezichtsherkenning, automatische ontgrendeling, NFC-kaarten, vingerafdrukherkenning, app-bediening en spraakcommando's. Het is ontworpen voor vrijwel universele compatibiliteit en past op 99,9% van de bestaande deursloten zonder dat er geboord of verbouwd hoeft te worden.

Met het FastUnlock-systeem zorgt het slot voor een snelle ontgrendeling door een permanente Bluetooth-verbinding met het Keypad Vision te onderhouden. De motor is 122,2% sneller en heeft 10,5% meer kracht dan de vorige versie, terwijl het geluidsniveau laag blijft met slechts 20 dB. Er zijn verschillende modi beschikbaar, waaronder een speciale Nachtmodus die zorgt voor een stillere werking tijdens de nachtelijke uren.

Het slot is voorzien van een driefasig batterijsysteem met een grote oplaadbare hoofdbatterij die tot 9 maanden meegaat, een back-up CR123A-batterij en een elektrolytisch noodontgrendelingssysteem voor situaties waarin de hoofdbatterij leeg is.

Naast de Lock Ultra Vision Combo heeft SwitchBot ook de Hub 3 gepresenteerd. Deze hub dient als centraal besturingspunt voor het slimme huis en ondersteunt Matter. De Hub 3 kan meer dan 100.000 infrarood-apparaten, streamingdiensten en andere SwitchBot-producten integreren. Het apparaat kan tot 30 programmeerbare commando's versturen om automatiseringsscenario's te activeren met Matter-compatibele producten van andere merken die al zijn geïntegreerd in Apple Home.

De Hub 3 heeft een Dial Master draaiknop voor de bediening van volume van verbonden apparaten zoals televisie en hifi, temperatuur en andere functies. Ook biedt het apparaat aanpasbare scèneknoppen en real-time monitoring van binnen- en buitenomgevingsgegevens. Het kan daarnaast aangepaste automatiseringsroutines maken die energiebesparend gedrag ondersteunen.

SwitchBot kondigt aan dat er binnenkort meer nieuwe producten onthuld zullen worden via hun YouTube-kanaal, waaronder de SwitchBot AI Hub, Smart Video Doorbell, K20+ Pro, Garage Door Opener, Plug Mini (EU), Safety Alarm, Smart Radiator Thermostat en een nieuwe lichtserie.

Beschikbaarheid en prijzen

De SwitchBot Lock Ultra Vision Combo is verkrijgbaar via de officiële website van SwitchBot en Amazon voor een adviesprijs van 299,99 euro. Er is ook een Lock Ultra Touch Combo beschikbaar voor een adviesprijs van 249,99 euro. De SwitchBot Hub 3 is vanaf nu verkrijgbaar voor een adviesprijs van 129,99 euro.


Bekijk andere SwitchBot-producten op Kieskeurig.nl: