Grafische kaarten

We leggen uit waarom amd meer verbetert dan nvidia wanneer we naar directx 12 gaan

Inhoudsopgave:

Anonim

Je hebt vast wel gelezen of gehoord dat AMD-videokaarten veel beter zijn in DirectX 12 dan Nvidia, dat de architectuur die door de eerste wordt gebruikt veel beter voorbereid is om met de nieuwe generatie API te werken. Dit zijn affirmaties die we meestal elke dag zien, maar is AMD echt beter dan Nvidia in DirectX 12? We vertellen je alles wat je moet weten in deze post.

Overhead is de oorzaak van de verbetering van AMD met DirectX 12

Sinds DirectX 12 begon te praten, zien we vergelijkende grafieken zoals de volgende:

Deze afbeeldingen vergelijken twee gelijkwaardige grafische kaarten zoals de GeForce GTX 980 Ti en de Radeon R9 Fury X.Als we naar de vorige afbeeldingen gaan, zien we dat AMD een brute prestatieverbetering heeft wanneer hij van DirectX 11 naar DirectX 12 gaat, tegen Nvidia, het blijft gelijk of verliest zelfs prestaties wanneer u begint te werken met de nieuwe API. Als je dit ziet, zou elke gebruiker denken dat de AMD-kaart veel beter is dan de Nvidia-kaart.

Nu gaan we kijken naar de volgende afbeelding:

Deze keer vergelijkt de grafiek de prestaties van de GeForce GTX 980 Ti en de Radeon R9 Fury X in DirectX 11 en DirectX 12. Wat we kunnen zien is dat in DirectX 11 de Nvidia-kaart bijna het dubbele oplevert van die van AMD en bij het overschakelen naar DirectX 12 wordt de prestatie geëgaliseerd. We zien dat de Radeon R9 Fury X zijn prestaties veel verbetert wanneer hij met DirectX 12 aan het werk gaat en de GeForce GTX 980 Ti veel minder. In ieder geval zijn de prestaties van beide onder DirectX 12 hetzelfde omdat het verschil niet 2 FPS bereikt ten gunste van de Fury X.

Op dit punt moeten we ons afvragen waarom AMD zo'n verbetering heeft bij het overstappen op DirectX 12 en Nvidia verbetert veel minder. Werkt AMD beter onder DirectX 12 dan Nvidia of heeft het een groot probleem onder DirectX 11?

Het antwoord is dat AMD een groot probleem heeft onder DirectX 11, een probleem waardoor zijn kaarten slechter presteren dan Nvidia's. Dit probleem houdt verband met het gebruik dat de kaartstuurprogramma's van de processor maken, een probleem dat bekend staat als " Overhead " of overbelasting.

AMD grafische kaarten maken zeer inefficiënt gebruik van de processor onder DirectX 11, om dit probleem te controleren hoeven we alleen maar naar de volgende video's te kijken die de prestaties van de Radeon R7 270X en de GeForce GTX 750 Ti met een Core- analyseren i7 4790K en dan met een Core-i3 4130. Zoals we kunnen zien, verliest de AMD-grafiek veel meer prestaties bij het werken met een veel minder krachtige processor.

Far Cry 4

Ryse: zoon van Rome

COD Advanced Warfare

De sleutel hiervoor is in de " command-queue " of commandolijsten onder DirectX 11. Op een zeer eenvoudige en begrijpelijke manier kunnen we het samenvatten in dat de AMD grafische kaarten alle tekenoproepen naar de API brengen en ze in een enkele processorkern, hierdoor zijn ze erg afhankelijk van de single-threaded kracht van de processor en daardoor lijden ze enorm bij het samenwerken met een minder krachtige processor per core. Dit is de reden waarom de grafische weergave van AMD veel te lijden had onder AMD FX-processors, veel minder krachtig per kern dan die van Intel.

In plaats daarvan neemt Nvidia de trekkingsaanroepen naar de API en verdeelt ze over de verschillende processorcores, hiermee wordt de belasting verdeeld en wordt er een veel efficiënter gebruik gemaakt en is minder vermogen afhankelijk van de processorkern. Als gevolg hiervan heeft AMD veel meer overhead dan Nvidia onder DirectX 11.

Het laatste controleren is heel eenvoudig, we hoeven alleen een AMD- en een Nvidia-grafische kaart onder hetzelfde spel en dezelfde processor te monitoren en we zullen zien hoe in het geval van Nvidia alle kernen op een veel meer gebalanceerde manier werken.

Dit overheadprobleem is opgelost onder DirectX 12 en dat is de belangrijkste reden waarom AMD grafische kaarten een enorme prestatieverbetering hebben, gaande van DirectX 11 tot DirectX 12. Als we naar de volgende grafiek kijken, zien we hoe onder DirectX 12 de prestaties niet langer verloren gaan als je van een dual-core processor naar een van de vier gaat.

En waarom doet AMD niet zoals Nvidia?

Nvidia's implementatie van opdrachtwachtrijen in DirectX 11 is erg duur en vergt een grote investering in geld en personeel. AMD bevindt zich in een slechte financiële situatie, dus het heeft niet dezelfde middelen als Nvidia om te investeren. Bovendien gaat de toekomst via DirectX 12 en is er geen dergelijk overheadprobleem, aangezien de API zelf verantwoordelijk is voor het veel efficiënter beheren van opdrachtwachtrijen.

Bovendien heeft de Nvidia-aanpak het probleem veel meer afhankelijk te zijn van de optimalisatie van de stuurprogramma's, dus is Nvidia meestal de eerste die nieuwe versies van zijn stuurprogramma's uitbrengt telkens wanneer een belangrijk spel op de markt komt, hoewel AMD de stapelt hier de laatste tijd op. De aanpak van AMD heeft het voordeel dat het veel minder afhankelijk is van stuurprogramma's, zodat de kaarten niet zo dringend nieuwe versies nodig hebben als die van Nvidia, dit is een van de redenen waarom de grafische kaarten van Nvidia erger worden met de verstrijken van de tijd dat ze niet langer worden ondersteund.

En hoe zit het met asynchrone shaders?

Er is ook veel gepraat over asynchrone shaders, hierover moeten we alleen maar zeggen dat het veel belang heeft gehecht, terwijl in werkelijkheid de overhead veel belangrijker is en het bepalen van de prestaties van de grafische kaart. Nvidia ondersteunt ze ook, hoewel de implementatie veel eenvoudiger is dan AMD, de reden hiervoor is dat de Pascal-architectuur veel efficiënter werkt, dus het heeft niet zoveel asynchrone shaders nodig als AMD.

AMD's graphics bevatten ACE's, een hardwaremotor die is toegewijd aan asynchroon computergebruik, een hardware die ruimte inneemt op de chip en energie verbruikt, dus de implementatie is geen bevlieging, maar vanwege een groot tekort aan de grafische kernarchitectuur. Volgende van AMD met geometrie. De AMD-architectuur is erg inefficiënt als het gaat om het verdelen van de werklast tussen de verschillende Compute Units en de cores die ze vormen, dit betekent dat veel cores werkloos zijn en dus verloren gaan. Wat ACE's en asynchrone shaders doen, is "werk geven" aan deze kernen die werkloos zijn gebleven, zodat ze kunnen worden uitgebuit.

In het andere deel hebben we de Nvidia-graphics gebaseerd op de Maxwell- en Pascal- architecturen, deze zijn veel efficiënter in geometrie en het aantal cores is veel lager dan dat van de AMD-graphics. Dit maakt de Nvidia-architectuur veel efficiënter als het gaat om het verdelen van het werk en er worden niet zoveel kernen verspild als in het geval van AMD. De implementatie van de asynchrone shaders in Pascal gebeurt door middel van software, aangezien het maken van een hardware-implementatie bijna geen prestatievoordeel zou opleveren, maar het zou de grootte van de chip en het energieverbruik ervan belemmeren.

De volgende grafiek toont de prestatiewinst van AMD en Nvidia met Mark Time Spy 3D Asynchronous Shaders:

Of Nvidia in de toekomst hardware-asynchrone shaders zal implementeren, hangt af van de voordelen die opwegen tegen de schade.

Grafische kaarten

Bewerkers keuze

Back to top button