Ashes of the Singularity review: DirectX 12 getest

265 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Testsysteem
  3. 3. DirectX 12 prestaties: AMD
  4. 4. DirectX 12 prestaties: Nvidia
  5. 5. Multi-GPU schaling
  6. 6. Multi-GPU: R9 Fury X en GTX 980 Ti 
  7. 7. Multi-GPU: R9 390X en R9 380
  8. 8. Multi-GPU: GTX 980 en GTX 960
  9. 9. Conclusie
  10. 10. Reacties

Inleiding

We horen al tijden over DirectX 12, maar games die hier ondersteuning voor bieden, hebben lang op zich laten wachten. Ashes of the Singularity is het eerste spel met volledige ondersteuning hiervoor, inclusief de mogelijkheid om totaal verschillende videokaarten (van verschillende merken!) in hetzelfde systeem te gebruiken. Wij hebben van de mogelijkheid gebruik gemaakt om dit aan een test te onderwerpen. Lees verder voor de resultaten. 

Vorig jaar kwam Windows 10 uit, en vanuit het perspectief van games was de belangrijkste innovatie hierin DirectX 12, dat talloze verbeteringen biedt. De belangrijkste hiervan zijn minder driver overhead, 'asynchrone' shaders en een veel betere implementatie van multi-GPU. We zullen deze kort een voor een bespreken.

Allereerst de lagere driver overhead. Microsoft heeft geprobeerd bij DirectX 12 zo 'low-level' mogelijke instructies te gebruiken, net zoals AMD bij Mantle deed. Hierdoor kunnen de kaarten veel efficiënter werken. Het is vergelijkbaar met gewone programmeertalen voor CPU's: een programma zal veel sneller werken als het in Assembler is geprogrammeerd, dan in C++. Dit komt doordat Assembler veel dichter bij de machinetaal van de computers ligt dan C++, waarvoor een vertaalslag nodig is.

Ten tweede hebben we de asynchrone shaders, waar je hier een uitgebreid artikel over kan vinden. Traditioneel zetten videokaarten taken in een wachtrij en beginnen ze pas als ze niets meer te doen hebben met de volgende taak. Omdat een videokaart bestaat uit meerdere onderdelen en lang niet elke taak alle onderdelen even zwaar belast, worden videokaarten vaak niet optimaal gebruikt. Met asynchrone shaders kunnen ongebruikte rekenunits gebruikt worden om taken die in de wachtrij staan uit te voeren. 

Ten slotte de betere implementatie van de multi-GPU mogelijkheid. DirectX 12 kan zelf verschillende videokaarten aansturen, zonder hulp van de drivers. SLI en CrossFire worden hiermee overbodig gemaakt, en daarmee ook de techniek die zij hierbij gebruikten: alternate frame rendering (AFR). Met AFR neemt de ene videokaart even frames voor zijn rekening en de andere oneven frames. Het grote nadeel van alternate frame rendering is dat je nooit weet wanneer een videokaart klaar is met het renderen van een frame. Je krijgt dus soms 'microstuttering'. In plaats daarvan gebruikt DirectX 12 split-frame rendering (SFR), waarbij elke videokaart een deel van het beeld rendert.  

Hierdoor hoef je niet meer dezelfde videokaart of GPU te gebruiken bij een multi-GPU instelling. Bij AFR is het belangrijk dat de videokaarten ongeveer even snel zijn, om microstuttering te voorkomen, maar bij SFR is dat geen issue meer. Sterker nog, met DirectX 12 kan je een videokaart van Nvidia combineren met een van AMD, en daarmee games spelen.

Een ding hebben we nog niet kunnen testen, door tijdgebrek: DirectX 12 biedt naar verluidt ook betere mogelijkheden om gebruik te maken van meerdere CPU cores. Het effect van het inzetten van meer (of minder) cores zullen we in een aparte publicatie op een later tijdstip nog bespreken.

In deze review vergelijken we de benchmarkresultaten van enkele videokaarten in DirectX 11 en 12. We kijken of de multi-GPU van DirectX 12 betere prestaties biedt dan CrossFire en SLI. Ook testen we hoe de multi-GPU het doet wanneer je twee verschillende videokaarten gebruikt. 

Testsysteem

Wij testten de game op onze GPU-testsystemen, in zowel Full HD (1920x1080), WQHD (2560x1440) als Ultra HD/4K (3840x2160) resolutie. De testsystemen bestaan uit een Intel Core i7 5960X @ 4.0 GHz, MSI X99S Gaming 9 AC moederbord16GB Corsair Vengeance LPX DDR4 geheugen @ 2133 MHz 13-13-13-36-2T, Samsung 840 Evo 1TB SSDSeasonic Platinum Series 1200W PSU, NZXT Kraken X60 CPU-koeler en een Cooler Master Test Bench. Voor AMD kaarten gebruikten we de Catalyst 16.1.1 driver, voor Nvidia videokaarten gebruikten we driver versie 361.82.

Zoals gezegd functioneert DirectX 12 alleen maar op Windows 10. Hoewel we nog altijd Windows 8.1 gebruikten voor onze gaming tests, hebben we op een van onze twee systemen Windows 10 geïnstalleerd. Dit systeem hebben we gebruikt voor de DirectX 12 benchmarks.

We hebben de game getest in Medium en Ultra settings (die in Ashes of the Singularity 'Crazy' wordt genoemd). Hieronder zie je de instellingen die we gebruiken.

Preset Medium Crazy
MSAA 2x 4x
Temporal AA Off Off
Paint Light Quality High High
Glare Quality Low High
Terrain Object Quality Low High
Shading Samples Low High
Terrain Shading Samples Mid High
Shadow Quality Low High
Texture Quality High High

DirectX 12 prestaties: AMD

Laten we beginnen met de mid-range R9 380. Hier zien we enige prestatieverbetering. Geen wereldschokkend verschil, maar ook een relatief kleine snelheidsverbetering van 8,4% is mooi meegenomen.

R9 380 DX11 DX12 Prestatieverschil
1920x1080 - Medium 37,8 41,8 10,6%
1920x1080 - Crazy - 4x AA 23,4 25,7 9,8%
2560x1440 - Medium 33 36 9,1%
2560x1440 - Crazy - 4x AA 20,2 21,5 6,4%
3840x2160 - Medium 26,1 28 7,3%
3840x2160 - Crazy - 4x AA 16,7 17,9 7,2%
Gemiddeld     8,4%

R9 390X

Bij de high-end kaarten zien we meer verschil. De R9 390X ziet bijvoorbeeld een aardige prestatieverbetering van gemiddeld 16,8%

  DX11 DX12 Prestatieverschil
1920x1080 - Medium 49,8 62 24,5%
1920x1080 - Crazy - 4x AA 37,7 40 6,1%
2560x1440 - Medium 44,1 52,6 19,3%
2560x1440 - Crazy - 4x AA 30,1 35 16,3%
3840x2160 - Medium 37,7 45,7 21,2%
3840x2160 - Crazy - 4x AA 25 28,3 13,2%
Gemiddeld     16,8%

R9 Fury X

Bij de Fury X zien we een grotere prestatieverbetering. Deze keer zien we dat de verbetering groter is bij lagere resoluties en kwaliteitsinstellingen: tot wel 60%. 

  DX11 DX12 Prestatieverschil
1920x1080 - Medium 50,9 81,5 60,1%
1920x1080 - Crazy - 4x AA 40,2 51,9 29,1%
2560x1440 - Medium 49,5 70,2 41,8%
2560x1440 - Crazy - 4x AA 35,6 44,1 23,9%
3840x2160 - Medium 45 55,8 24,0%
3840x2160 - Crazy - 4x AA 30,3 36,1 19,1%
Gemiddeld     33,0%

De R9 Fury X wint heel wat meer aan prestaties dan de R9 390X. Dit komt in ieder geval niet doordat de R9 Fury X een nieuwere architectuur heeft, namelijk GCN 1.2, aangezien dit ook het geval is voor de R9 380. Het lijkt dat naarmate de videokaart sneller is, hij meer voordeel heeft bij DirectX 12.

DirectX 12 prestaties: Nvidia

Bij Nvidia beginnen we ook bij de mid-range variant: de GTX 960. Opmerkelijk genoeg zien we een forse prestatieachteruitgang in DirectX12. Dit zien we in geen enkele andere kaart. 

 GTX 960 DX11 DX12 Prestatieverschil
1920x1080 - Medium 33,3 31,4 -5,7%
1920x1080 - Crazy - 4x AA 13,3 10,1 -24,1%
2560x1440 - Medium 27,5 19,6 -28,7%
2560x1440 - Crazy - 4x AA 12,8 8,2 -35,9%
3840x2160 - Medium 9,4 6,8 -27,7%
3840x2160 - Crazy - 4x AA 5,9 2,9 -50,8%
Gemiddeld     -28,8%

GTX 980

Met de GTX 980 is er geen verschil in DirectX 11 en 12. Wellicht dat DirectX 12 een klein beetje langzamer is, gezien het feit dat de framerate consequent lager ligt. 

  DX11 DX12 Prestatieverschil
1920x1080 - Medium 59,8 58,6 -2,0%
1920x1080 - Crazy - 4x AA 36 35,8 -0,6%
2560x1440 - Medium 50 49,2 -1,6%
2560x1440 - Crazy - 4x AA 30,1 29,8 -1,0%
3840x2160 - Medium 38,4 37 -3,6%
3840x2160 - Crazy - 4x AA 23,9 23,6 -1,3%
Gemiddeld     -1,7%

GTX 980 Ti

Ook bij de GTX 980 Ti zien we weer hetzelfde: een kleine achteruitgang in DirectX 12, vergeleken met DirectX 11. 

  DX11 DX12 Prestatieverschil
1920x1080 - Medium 71,2 69,2 -2,8%
1920x1080 - Crazy - 4x AA 43,8 42,7 -2,5%
2560x1440 - Medium 61,1 58,6 -4,1%
2560x1440 - Crazy - 4x AA 36,3 35,3 -2,8%
3840x2160 - Medium 47 46 -2,1%
3840x2160 - Crazy - 4x AA 28,2 28,1 -0,4%
Gemiddeld     -2,5%

De Nvidia-kaarten doen het allemaal (iets) slechter in DirectX 12 dan in DirectX 11. Wellicht dat dit komt doordat Nvidia meer focus heeft gelegd op het optimaliseren van DirectX 11. 

Multi-GPU schaling

Omdat SLI en CrossFire helaas niet goed werken in Ashes of the Singularity (ook niet in DirectX 11), kunnen we ze helaas niet vergelijken met de prestaties van de nieuwe multi-GPU functionaliteit van DirectX 12. Wel kunnen we bekijken hoe goed die multi-GPU functionaliteit schaalt. Onderstaande resultaten zijn dus niet van CrossFire of SLI, maar door de mogelijkheid die DirectX 12 hiervoor biedt.

R9 390X (2-way)

Voor de dual-GPU test hebben we onze twee R9 390X kaarten gebruikt. 

  R9 390X R9 390X (2-way) Prestatieverschil
1920x1080 - Medium 62 100 61,3%
1920x1080 - Crazy - 4x AA 40 71,9 79,8%
2560x1440 - Medium 52,6 94,8 80,2%
2560x1440 - Crazy - 4x AA 35 58,7 67,7%
3840x2160 - Medium 45,7 71,2 55,8%
3840x2160 - Crazy - 4x AA 28,3 44,3 56,5%
Gemiddeld     66,9%

Met een prestatieverbetering van 67% presteren de twee 390X-kaarten prima, maar is de schaling niet beter dan je zou verwachten bij CrossFire.

GTX 980 Ti (2-way)

We hebben ook de GTX 980 Ti getest in een dual-GPU opstelling. Hieronder zie je de resultaten - wederom dus geen SLI, maar twee Nvidia kaarten die samenwerken dankzij de DirectX 12 functionaliteit.

  GTX 980 Ti GTX 980 Ti (2-way) Prestatieverschil
1920x1080 - Medium 69,2 96,2 39,0%
1920x1080 - Crazy - 4x AA 42,7 75,7 77,3%
2560x1440 - Medium 58,6 91,6 56,3%
2560x1440 - Crazy - 4x AA 35,3 60 70,0%
3840x2160 - Medium 46 68,8 49,6%
3840x2160 - Crazy - 4x AA 28,1 44,7 59,1%
Gemiddeld     58,5%

We zien hier iets minder prestatieverbetering dan bij de R9 390X, maar een gemiddeld 60% hogere framerate is nog altijd niet mis.

Opvallend genoeg zien we zowel bij AMD als Nvidia de grootste prestatieverbetering niet bij de hoogste resolutie en de beste kwaliteitsinstellingen, zoals normaal gesproken het geval is. 

Multi-GPU: R9 Fury X en GTX 980 Ti 

De interessantste multi-GPU opstelling in DirectX 12 is een combinatie van videokaarten van beide merken. Dit testen we met de topkaarten, de R9 Fury X en de GTX 980 Ti. Omdat de R9 Fury X beter presteerde, nemen we die kaart als referentie. 

  R9 Fury X R9 Fury X + GTX 980 Ti Prestatieverschil
1920x1080 - Medium 81,5 96,7 18,7%
1920x1080 - Crazy - 4x AA 51,9 84,6 63,0%
2560x1440 - Medium 70,2 98,4 40,2%
2560x1440 - Crazy - 4x AA 44,1 69,4 57,4%
3840x2160 - Medium 55,8 81,5 46,1%
3840x2160 - Crazy - 4x AA 36,1 51,6 42,9%
Gemiddeld     44,7%

We zien een vrij grote prestatieverbetering, hoewel deze minder groot is dan je zou krijgen met twee dezelfde kaarten. Het blijft indrukwekkend, als je je realiseert dat deze opstelling op dit moment niet eens mogelijk is.

Multi-GPU: R9 390X en R9 380

Voor de test met twee verschillende AMD-GPU's nemen we de R9 390X en de iets lager gepositioneerde R9 380.

  R9 390X R9 390X + 380 Prestatieverschil
1920x1080 - Medium 62 74,8 20,6%
1920x1080 - Crazy - 4x AA 40 47 17,5%
2560x1440 - Medium 52,6 62,7 19,2%
2560x1440 - Crazy - 4x AA 35 38,3 9,4%
3840x2160 - Medium 45,7 47,1 3,1%
3840x2160 - Crazy - 4x AA 28,3 29,8 5,3%
Gemiddeld     12,5%

De prestaties worden iets beter, maar de schaling blijft nogal slecht. Je zou veel meer prestatieverbetering verwachten, als de tweede kaart daadwerkelijk volledig benut werd.

Multi-GPU: GTX 980 en GTX 960

Om dezelfde vergelijking te maken als bij de AMD-kaarten, hebben we de GTX 980 gebenchmarkt in combinatie met een iets lager gepositioneerde GPU, een GTX 960 (de GTX 970 is immers uitgerust met dezelfde GM204-GPU als de GTX 980). 

  GTX 980 GTX 980 & 960 Prestatieverschil
1920x1080 - Medium 58,6 62,8 7,2%
1920x1080 - Crazy - 4x AA 35,8 26,4 -26,3%
2560x1440 - Medium 49,2 46,7 -5,1%
2560x1440 - Crazy - 4x AA 29,8 19,7 -33,9%
3840x2160 - Medium 37 18,9 -48,9%
3840x2160 - Crazy - 4x AA 23,6 7,7 -67,4%
Gemiddeld     -29,1%

Opvallend genoeg doet de GTX 980 het veel slechter met een GTX 960 in het systeem. We hebben hier niet echt een verklaring voor, maar wellicht dat er iets is met de GTX 960 waardoor hij niet goed werkt met DirectX 12 of dit specifieke spel. We zagen immers ook dat hij als enige videokaart significant slechter presteerde in DirectX 12.

Conclusie

Allereerst moeten we waarschuwen dat er op basis van één game geen ferme conclusies te trekken zijn over DirectX 12. Het is namelijk niet mogelijk om te onderscheiden wat door het spel komt en wat door DirectX 12. De testresultaten zijn zeker interessant, maar moeten wel met een korreltje zout genomen worden. 

We zien dat AMD-videokaarten sterk profiteren van de DirectX 12-modus. Bij Nvidia-kaarten is dit (nog) niet het geval. Naar verluidt zou dit komen doordat Nvidia veel meer tijd heeft besteed aan het optimaliseren van zijn drivers voor DirectX 11, terwijl AMD zich heeft gericht op overhead-reducerende APIs zoals Mantle en DirectX 12. 

De multi-GPU schaling valt enigszins tegen. Waar we bij CrossFire en SLI een tot wel 90% hogere framerate kunnen verwachten met een tweede GPU, is dit in Ashes of Singularity veel lager bij de hoogste resolutie en instellingen. Dat is jammer, want juist dan heb je de extra kracht van een tweede GPU nodig. Dit verschilt echter sterk per spel en zou heel goed kunnen komen door de aard van het spel. RTS-games (zoals Ashes) staan niet echt bekend vanwege hun uitstekende ondersteuning voor multi-GPU configuraties, en zeker met DirectX 12 hangt heel veel af van de ontwikkelaar als het gaat om multi-GPU optimalisatie. 

Tot slot onze tests met twee verschillende GPU's. Hoewel dit met DirectX 12 mogelijk wordt om totaal verschillende videokaarten te gebruiken, blijkt uit de testresultaten dat het nog altijd niet een aanrader is. Wanneer we twee verschillende GPU's testen zien we maar een kleine prestatieverbetering, en soms zelfs een achteruitgang. Wel zien we een flink hogere framerate als we de topkaarten van AMD en Nvidia combineren, maar zelfs dan zou je een groter verschil zien met twee dezelfde kaarten. Kennelijk wil je ook bij DirectX 12 videokaarten combineren die zoveel mogelijk op elkaar lijken.

0
*