Waarom presteert AMD slechter bij Ray Tracing?

Een van de dingen waar uitgebreid over wordt gesproken, is de slechte prestatie van AMD grafische kaarten in Ray Tracing , vooral in vergelijking met NVIDIA's. Velen steken echter de handen in de lucht als we zeggen dat de implementatie van de benodigde hardware door de Radeon Technology Group zo slecht is dat het letterlijk lijkt op een boycot van de adoptie van deze technologie. Laten we niet vergeten dat het ideaal is om bepaalde visuele problemen in computergraphics op te lossen en het is ook geen uitvinding van de GeForce-fabrikant.

Voor ons is de belangrijkste functie van een grafische kaart dat we onze games gemakkelijk en met hoge prestaties kunnen spelen, terwijl je hem tegelijkertijd nodig hebt voor meer professionele taken, zoals videobewerking of het maken van 3D-bestanden. modellen, het is meer dan genoeg. met zijn werk. Als we zeggen dat AMD weinig presteert in Ray Tracing, zetten we NVIDIA niet door het dak, maar als gebruikers die we ook zijn, zijn we bedroefd om te zien dat iets dat in Radeons veel beter zou kunnen zijn, dat niet is.

Waarom heeft AMD slechtere prestaties in Ray Tracing

Het raytracing-algoritme

Om de slechte prestaties van AMD-kaarten in Ray Tracing te begrijpen, moeten we begrijpen dat dit eigenlijk een recursief algoritme is om een ​​complete scène te genereren, die in zijn eenvoudigste versie als volgt kan worden samengevat:

  • Voor elke pixel in de scène
    • Bereken de visualisatiestraal
      • Als de bliksem een ​​object treft, evalueer dan de kleur van het object.
      • Zo niet, dan heeft die pixel de achtergrondkleur.

De straal is niets meer dan een vector die beweegt vanaf de camera die de scène "opneemt" en die een matrix van punten of een maaswijdte doorkruist, waarbij elk van hen een pixel is. Elke keer wordt er een controle-effect op de scène uitgevoerd. Welnu, als we een scène in Full HD hebben, betekent dit dat er 2 miljoen controles moeten worden uitgevoerd, als de game op 60 FPS draait, zijn dit 120 miljoen controles per seconde.

Wiskundig gezien is de meest gebruikelijke formule om het te controleren geen eenvoudige bewerking, maar eerder een complexe vergelijking met vectoren, die enige kracht vereist. Zozeer zelfs dat het simpele feit dat er geen parallelle eenheid is die verantwoordelijk is voor het uitvoeren van deze taak, het prestatiepercentage kan terugbrengen tot enkele cijfers.

veel functies voor Ray Tracing

Hardware snijpunten

Daarom heeft NVIDIA de RT Cores en AMD de Ray Accelerator Units, ze zijn hetzelfde, aangezien ze van hetzelfde type unit zijn en voor dezelfde taak worden gebruikt. In de laatste generatie had de RX 6000 echter een beperking die de RTG gelukkig heeft opgelost in RDNA 3 en dus ook in de RX 7000-reeks.

Tarjetas Gráficas RX 7000 Ray Tracing

Wat is dan het probleem?

  • Het goede, en dus het positieve, is dat nu wat er ontbrak in RDNA 2 is opgenomen in RDNA 3.
  • Het slechte ding en wat ervoor zorgt dat we een slechte prestatie van Ray Tracing op AMD hebben, is de hoeveelheid straal-driehoek-interacties dat het kan berekenen. Een sprong van slechts 50% is erg slecht als je rivaal de prestaties van de ene generatie op de andere heeft verdubbeld.

Laten we niet vergeten dat de eerste 3D-kaarten die op de markt verschenen verantwoordelijk waren voor het steeds sneller maken van driehoeksrasterisatie, wat in dit opzicht het meest gebruikelijk is. Hetzelfde geldt voor dit onderdeel in ray tracing. Dus het feit dat AMD in dit opzicht zo'n kleine sprong heeft gemaakt, is teleurstellend.

Welke invloed heeft dit op de algehele prestaties?

Hoewel de kruising van stralen een onderdeel is van de set, is het een gemeenschappelijk element in alle scènes dat essentieel is. Laten we niet vergeten dat het een proces is dat in fasen verloopt, waarbij het feit dat de ene langzamer gaat dan normaal, de prestaties van de volgende beïnvloedt.

DXR Geen Inline Ray Tracing

Als we erin slagen een fase te versnellen, krijgen we dus een kortere tijd om hetzelfde frame te genereren, dat wil zeggen, het kost minder milliseconden en dit zijn meer frames per seconde. Wat duidelijk moet zijn, is dat het intersectieproces recursief en continu is in Ray Tracing en daarom is het noodzakelijk dat dit onderdeel goed presteert.

Het andere probleem: drijvende-kommaprestaties

GPU's werken doorgaans tegelijkertijd aan gegevensblokken en passen dezelfde instructie op hen toe. Daarom is het typische type eenheid wat we SIMD-eenheden noemen, die, zoals hun naam al doet vermoeden, dezelfde instructie tegelijkertijd toepassen op verschillende gegevens. Welnu, NVIDIA in de RTX 30 heeft een nogal merkwaardige verbetering aangebracht waardoor het twee keer zoveel 32-bits drijvende-kommabewerkingen per klokcyclus en kern kan berekenen.

De truc was om een ​​tweede SIMD-eenheid met 16 elementen toe te voegen aan elk van de subkernen voor een totaal van 64 extra operaties per eenheid binnen de GPU. Ze verhoogden echter niet het aantal records of toegangen, aangezien ze werden omgezet met de eenheid van gehele getallen. Waar vertaalt dit zich naar? Zowel de RTX 30 als de RTX 40 behalen onder bepaalde omstandigheden dubbele drijvende-kommaprestaties, niet altijd.

AMD heeft daarentegen een andere oplossing gezocht die ze Dual Issue hebben genoemd, maar in hun technische specificaties zeggen ze dat het aantal drijvende-komma-eenheden niet is toegenomen, maar dat ze onder bepaalde voorwaarden 2 instructies tegelijkertijd kunnen inpakken . Het aantal units per core of Compute Unit is echter nog steeds maximaal 64, in plaats van 128 zoals bij NVIDIA.

RDNA met dubbel probleem 3

Wat bedoelt AMD met "Dual Issue" in RDNA 3?

Als u echter het aantal drijvende-kommabewerkingen meetelt dat door AMD wordt gegeven, die meestal op een theoretisch maximum worden gegeven, waarbij 100% van de tijd de FMA-bewerking of optelling met drijvende-kommavermenigvuldiging wordt uitgevoerd, wat onrealistisch is, aangezien het geen rekening houdt met toegang tot het accountgeheugen en het feit dat programma's deze instructie niet altijd gebruiken, maar er wordt wel rekening mee gehouden dat deze het meest wordt gebruikt bij het genereren van afbeeldingen. Het feit is dat de instructie 2 bewerkingen is.

Welnu, wat AMD heeft gedaan, is dat bepaalde instructies twee aan twee in de rekeneenheden kunnen worden verpakt, waardoor met RDNA 2 onder bepaalde omstandigheden twee keer zoveel vermogen in drijvende komma kan worden bereikt. Het is hetzelfde geval als bij NVIDIA GPU's. Het extra drijvende-kommavermogen wordt in het algemeen niet verdubbeld, maar alleen onder bepaalde voorwaarden. Het is dus een veelvoorkomend probleem. In ieder geval is de meting in TFLOPS vandaag de dag nog steeds een marketingtruc.

Dus waarom is het belangrijk voor AMD's Ray Tracing-prestaties? Welnu, vanwege het feit dat het ons helpt om de rekenkracht te meten van de eenheden die worden gebruikt in de rest van de stadia van ray tracing die niet de kruising van stralen zijn. AMD beweert in ieder geval zelf dat de intergenerationele verbetering 18% is bij dezelfde kloksnelheid.

AMD RDNA 3 jaar geleden betaald

AMD GPU-prestaties in Ray Tracing: de cijfers

Als we de prestaties van de verschillende intersectie-eenheden op beide generaties grafische kaarten van NVIDIA en AMD vergelijken, zullen we zien wat het probleem is.

GPU's Kruispunten/s (in miljoenen) kernen MHz Kruispunten (core en MHz)
RTX 2080Ti 105600 68 1545 een
RTX 3090Ti 312480 84 1860 2
RTX 4090 1290240 144 2520 3.6
RX 6950 XT 184800 80 2310 een
RX7900XTX 360000 96 2500 1.5

Op het eerste gezicht is de brute kracht in dit aspect hoger dan die van een RTX 3090 Ti, ja, we kijken naar de tweede kolom. Het is echter het laatste dat belangrijk is, omdat het ons vertelt hoeveel onderscheppingen er per kern en klokcyclus op de GPU worden berekend. En de teleurstelling komt voort uit het feit dat hoewel AMD niet wordt gevraagd om het resultaat van 3.6 voor de RTX 40 te geven, wordt gevraagd om op zijn minst 2 te bereiken voor de RTX 30. Dit is de belangrijkste reden voor de slechte prestaties van AMD grafische kaarten bij Raytracing. En de reden waarom we denken dat ze het veel beter hadden kunnen doen.

Het is meer, en al bijna af, omdat de Ray Accelerator Unit een black box op zich is die kan worden vervangen zonder de rest van de architectuur aan te tasten. AMD kan voor het komende jaar een RX 7×50-reeks oppikken en maken die al het goede van de huidige RDNA 3 behoudt, maar met de verbeterde RAU en de spelprestaties zien toenemen met dubbelcijferige percentages in termen van framesnelheid.

Wat zijn de prestaties van AMD-games met Ray Tracing in RDNA 3?

Om te eindigen hebben we de kers op de taart en praten we over hoe het presteert in games. Aangezien AMD publiekelijk een verbetering van 50% claimde, mogen we een even grote sprong verwachten. Later ontdekten we echter dat ze verwijzen naar prestaties per watt, naar een bepaald aantal hiervan en naar een specifiek spel, dat niet is gespecificeerd. Het belangrijkste is dus om te weten wat de verbetering is in vergelijking met de vorige generatie, in dit opzicht, vooral vanwege het feit dat ze uitgaan van een vrij slechte prestatie in raytracing die afkomstig is van de RX 6000.