Home
» GAMING
»
DirectX 11 versus DirectX 12: welke is beter voor gaming?
DirectX 11 versus DirectX 12: welke is beter voor gaming?
Kort antwoord: DirectX 12 kan betere prestaties leveren wanneer een game er goed voor ontworpen is, vooral wanneer de CPU de framerate beperkt. DirectX 11 kan vloeiender of betrouwbaarder zijn in een specifieke game of op een specifieke pc. Geen van beide API's is automatisch sneller, mooier of stabieler. Als een game beide ondersteunt, vergelijk ze dan in die game op je eigen hardware.
Met Direct3D 12 kan een game meerdere commandolijsten tegelijk opnemen; deze conceptafbeelding is geen hardwarebenchmark.
Wat zijn de verschillen tussen DirectX 11 en DirectX 12?
In de meeste discussies over games verwijzen "DirectX 11" en "DirectX 12" naar de Direct3D-grafische API's die een game gebruikt om renderingtaken via Windows en het grafische stuurprogramma naar de GPU te sturen. De API bepaalt hoe die taken worden georganiseerd; het stelt geen universele kwaliteitsvoorinstelling in en zorgt er niet voor dat dezelfde gamescène er vanzelf beter uitziet.
Direct3D 11 heeft een programmeermodel op een hoger niveau. De runtime en driver beheren meer details voor het spel, waardoor het voor ontwikkelaars gemakkelijker kan zijn om een breed scala aan systemen te ondersteunen. DX11 is niet strikt single-threaded: Microsoft documenteert multithreaded objectcreatie en het vastleggen van commandolijsten in Direct3D 11.
Direct3D 12 geeft de game-engine meer directe controle. De game kan meerdere commandolijsten op verschillende CPU-threads opslaan en deze vervolgens naar commandowachtrijen sturen. Het neemt ook meer verantwoordelijkheid voor de status van resources en de synchronisatie tussen CPU en GPU. Dit kan de CPU-belasting verminderen en de schaalbaarheid verbeteren, maar het legt wel meer werk op de implementatie van de game.
Gebied
DirectX 11
DirectX 12
Werkinzending
Het beheer wordt grotendeels door de runtime en de driver afgehandeld.
Het spel registreert en verzendt commandolijsten met meer expliciete controle.
CPU-schaling
Ondersteunt multithreading, met een meer beheerd model.
Kan de registratie van commando's directer over de CPU-kernen verdelen.
Spelersresultaat
Vaak een handige terugvaloptie voor compatibiliteit of stabiliteit.
Kan de prestaties van een door de CPU beperkte machine verbeteren als het spel daarvoor geoptimaliseerd is.
Gegarandeerde framerate of beeldkwaliteit?
Nee.
Nee.
De functiegids van Microsoft voor Direct3D 11 beschrijft de ondersteuning voor multithreading. De vergelijking tussen Direct3D 11 en 12 legt de verschuiving uit naar controle op een lager niveau en een grotere verantwoordelijkheid voor de applicatie.
Wanneer kan DX12 helpen en wanneer is DX11 beter?
DX12 is vooral nuttig wanneer een game CPU-gebonden is: de processor heeft moeite met het voorbereiden van taken voor de GPU, terwijl de grafische kaart meer werk kan verzetten. Een goed geoptimaliseerde DX12-renderer kan meerdere CPU-cores efficiënter benutten en de belasting van de driver verminderen. Deze voordelen zijn afhankelijk van de game-engine, de patch, de CPU, de GPU en de driver.
Als de GPU al de bottleneck is, zal het wijzigen van API's waarschijnlijk weinig verschil maken. DX12 voegt ook niet automatisch raytracing, mesh shaders, variabele-rate shading of andere grafische functies toe; de game moet een functie implementeren en de hardware en driver moeten deze ondersteunen. Zelfs een GPU die Direct3D 12 kan uitvoeren, kan verschillende functieniveaus of mogelijkheden bieden. Raadpleeg de handleiding van Microsoft over hardwarefunctieniveaus voor Direct3D om te begrijpen waarom API-ondersteuning en functieondersteuning niet hetzelfde zijn.
DX11 is een verstandige keuze als een game geen DX12 ondersteunt, als de ontwikkelaar DX11 aanbeveelt voor jouw configuratie, of als DX12 herhaaldelijk haperingen, visuele storingen, vastlopers of crashes veroorzaakt. Een oudere GPU of driver werkt mogelijk ook betrouwbaarder met de DX11-ondersteuning van de game. Beschouw dit als een afweging per game, niet als een regel dat elke oudere pc DX11 zou moeten gebruiken.
Gebruik de weergaveopties die het spel biedt; er is geen universele Windows-schakelaar die ervoor zorgt dat elk spel DX11 of DX12 gebruikt.
Hoe vergelijk je die twee in een spel?
Controleer de huidige opties en ondersteuningsnotities van de game. Sommige games bieden slechts één renderer; andere bevatten een DirectX-optie in hun grafische instellingen of launcher. Controleer of uw GPU, driver en Windows-versie voldoen aan de vereisten van de game.
Zorg ervoor dat de test consistent is. Gebruik dezelfde savegame, replay of ingebouwde benchmark, met dezelfde resolutie, grafische preset, framesnelheidlimiet en achtergrondapps. Laat de scène eerst één keer draaien als het spel shaders compileert of in de cache opslaat, en herhaal de test daarna.
Vergelijk de vloeiendheid en stabiliteit, evenals de gemiddelde FPS. Let op de consistentie van de frametijd, zichtbare haperingen, crashes en beeldfouten. Herhaal elke test; een enkel kort resultaat kan misleidend zijn. Kies de modus die stabiel aanvoelt tijdens het soort spel dat je daadwerkelijk speelt.
De rendering-engine van een game kan anders reageren na een grote patch of driverupdate. De gerapporteerde resultaten voor Fortnite, Ready or Not of Path of Exile beschrijven de geteste versie en pc; het is geen algemene aanbeveling. Raadpleeg de meest recente ontwikkelaarsnotities en test de game opnieuw als de situatie verandert.
Gebruik voor een eerlijke vergelijking dezelfde scène en instellingen. De hier getoonde frametijdgrafieken zijn illustratief en geen gemeten resultaten.
Welke moet je dan gebruiken?
Begin met de renderer die de game aanbeveelt. Probeer DX12 als deze wordt ondersteund en je wilt zien of dit de prestaties verbetert wanneer je CPU de beperkende factor is. Schakel over naar DX11 als dit vloeiender of stabieler is op je systeem. Als de game slechts één optie biedt, gebruik dan de ondersteunde optie in plaats van te proberen een andere API af te dwingen. De beste optie is degene die je game soepel en betrouwbaar op je pc laat draaien.