AMD vs. Nvidia drivers: waar blijft de prestatiewinst van DirectX 12?

58 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. DirectX 11
  3. 3. Nvidia's (wonder)driver versus AMD's aanpak
  4. 4. DirectX 12 en Vulkan
  5. 5. Test
  6. 6. Resultaten API Overhead test
  7. 7. Resultaten games
  8. 8. Analyse
  9. 9. Conclusie
  10. 58 reacties

Conclusie

Al met al kunnen we anno 2018, drie jaar na de komst van de DX12-api, een aantal conclusies trekken. De moderne api’s, DX12 en Vulkan, halen het plafond van draw calls voor de voorzienbare tijd weg. Game-ontwikkelaars zijn in de loop der jaren steeds vaker tegen de beperkingen van DX11 aangelopen. Snellere processors, efficiëntere drivers en slimmere workarounds hebben dit nog aardig kunnen oprekken, maar er is onvoldoende ruimte om de grote volgende stap in grafische complexiteit van toekomstige games te zetten. De totale rekenkracht van moderne multicore processors is te aantrekkelijk om onbenut te laten voor het verwerken van draw calls.

DirectX 12 en Vulkan altijd beter dan DirectX 11?

Met DX12 en Vulkan worden veel van de beperkingen van DX11 (en OpenGL) weggehaald, maar komt er tegelijkertijd meer verantwoordelijkheid bij de ontwikkelaar zelf te liggen. De moderne api’s zorgen niet op magische wijze voor een lage processorbelasting, zoals sommige marketingslides in 2015 deden vermoeden. Wel biedt het AMD de mogelijkheid om veel beter gebruik te maken van zijn hardware scheduler, die in DX11 niet goed tot zijn recht komt.

DX11 hoeft echter niet altijd problematisch te zijn voor moderne spellen. Prestaties zijn hoog zolang de game-ontwikkelaar de thread waarop de draw calls worden verwerkt en verstuurd zoveel mogelijk ontziet, en daarbij het aantal draw calls minimaliseert door objecten waar mogelijk samen te voegen. Nvidia gaat daar met zijn effectieve multi-threaded driver flexibeler mee om dan AMD, waardoor de draw call bottleneck minder snel wordt bereikt.


AMD's DX11-driver kan een voldoende hoeveelheid draw calls verwerken mits de primaire processorthread zoveel mogelijk wordt vrijgehouden (afbeelding: NerdTechGasm).

The devil is in the engine

Als volgende stap komt er meer nadruk op de engine van een spel te liggen. DX12 en Vulkan kunnen dan wel parallel en constant de draw calls verwerken, de engine moet daar ook op gebouwd zijn. Omdat dergelijke berekeningen en instructies vaak sterk van elkaar afhankelijk zijn, neemt de complexiteit om dit over veel threads te verdelen sterk toe. Deze toegenomen verantwoordelijkheid en complexiteit zal vermoedelijk de kleinere game studios en vooral de minder ervaren developers afschrikken het te gaan gebruiken, waardoor DX11 als api de komende jaren naar verwachting nog wel relevant zal blijven.

Het is lastig, zo niet onmogelijk, om een game voor zowel DX11 als DX12 verregaand te optimaliseren, wat een tweede reden vormt dat het nog wel even zal duren, eer we werkelijk grote prestatiewinsten als gevolg van de moderne api’s gaan zien. Dat bestaande engines door middel van patches en updates ondersteuning krijgen voor de nieuwe api's is een lichtpuntje aan de horizon, maar pas met nieuwe engines die van de grond af aan zijn opgebouwd voor low-level api's, kan er optimaal gebruik worden gemaakt van moderne hardware.

Advertentie
0

Hardware Info maakt gebruik van cookies

Hardware Info plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Hardware Info relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie.

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Hardware Info contextuele advertenties te tonen op basis van pagina's die je hebt bezocht.

    janee

    Hardware Info genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Hardware Info gevolgd worden. Deze data wordt maximaal 2 weken bewaard. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden.

    janee