Hvorfor har AMD dårligere ytelse i Ray Tracing?

En av tingene som snakkes lenge om er dårlig ytelse av AMD grafikkort i Ray Tracing , spesielt sammenlignet med NVIDIA's. Imidlertid kaster mange hendene opp når vi sier at implementeringen av nødvendig maskinvare av Radeon Technology Group er så dårlig at det bokstavelig talt virker som en boikott av innføringen av denne teknologien. Som la oss huske at det er ideelt å løse visse visuelle problemer i datagrafikk, og det er heller ikke en oppfinnelse fra GeForce-produsenten.

For oss er hovedfunksjonen til et grafikkort at det lar oss spille spillene våre med letthet og ytelse, samtidig som hvis du skal trenge det for mer profesjonelle oppgaver, som for eksempel videoredigering eller opprettelse av 3D modeller, er det mer enn nok. med sitt arbeid. Når vi sier at AMD har liten ytelse i Ray Tracing, setter vi ikke NVIDIA gjennom taket, men snarere, som brukere som vi også er, er vi triste over å se at noe som i Radeons kunne vært mye bedre, ikke er det.

Hvorfor har AMD dårligere ytelse i Ray Tracing

Strålesporingsalgoritmen

For å forstå den dårlige ytelsen til AMD-kort i Ray Tracing må vi forstå at dette faktisk er en rekursiv algoritme for å generere en komplett scene, som i sin enkleste versjon kan oppsummeres som følger:

  • For hver piksel i scenen
    • Beregn visualiseringsstrålen
      • Hvis lynet treffer et objekt, evaluer fargen på objektet.
      • Hvis ikke, har den pikselen bakgrunnsfargen.

Strålen er ikke noe mer enn en vektor som beveger seg fra kameraet som "registrerer" scenen og som krysser en matrise av punkter eller en maske, der hver av dem er en piksel. Hver gang vil det bli utført en kontrolleffekt på scenen. Vel, hvis vi har en scene i Full HD betyr dette at 2 millioner kontroller må utføres, hvis spillet er på 60 FPS er dette 120 millioner sjekker per sekund.

Matematisk er den vanligste formelen for å sjekke det ikke en enkel operasjon, men snarere en kompleks likning med vektorer, som krever litt kraft. Så mye at det enkle faktum å ikke ha en parallell enhet som er ansvarlig for å utføre denne oppgaven, kan redusere den prosentvise ytelsen til ensifrede tall.

esquema funcionamiento Ray Tracing

Maskinvarekryssenheter

Det er derfor NVIDIA har RT Cores og AMD har Ray Accelerator Units, de er de samme, siden de er samme type enhet og brukes til samme oppgave. I den siste generasjonen hadde imidlertid RX 6000 en begrensning som heldigvis RTG har løst i RDNA 3 og følgelig i RX 7000-serien.

Tarjetas Gráficas RX 7000 Ray Tracing

Hva er problemet da?

  • Det gode, og derfor det positive, er at nå er det som manglet i RDNA 2 tatt med i RDNA 3.
  • Det dårlige og det som gjør at vi har en dårlig ytelse av Ray Tracing på AMD er mengden av stråle-trekant-interaksjoner som den kan beregne. Et hopp på bare 50 % er veldig dårlig når din rival har doblet ytelsen fra en generasjon til en annen.

La oss ikke glemme at de første 3D-kortene som dukket opp på markedet var ansvarlige for i økende grad å akselerere driften av trekantrasterisering, som er den vanligste i denne forbindelse. Det samme gjelder denne delen i strålesporing. Så det faktum at AMD har tatt et så lite sprang i denne forbindelse er skuffende.

Hvordan påvirker det den generelle ytelsen?

Selv om skjæringspunktet mellom stråler er en del av settet, er det et felles element i alle scenene som er essensielt. La oss ikke glemme at det er en prosess som går i stadier hvor det faktum at man går saktere enn normalt ender opp med å påvirke ytelsen til de påfølgende.

DXR Ingen Inline Ray Tracing

Derfor, hvis vi klarer å øke hastigheten på et trinn, får vi kortere tid til å generere samme frame, det vil si at det tar færre millisekunder og dette er flere bilder per sekund. Det som må være klart er at skjæringsprosessen er rekursiv og kontinuerlig i Ray Tracing, og derfor er det nødvendig at denne delen har en god ytelse.

Det andre problemet: flytepunktsytelse

GPUer fungerer vanligvis på blokker med data unisont, og bruker den samme instruksjonen på dem. Det er grunnen til at dens typiske enhetstype er det vi kaller SIMD-enheter, som, som navnet antyder, bruker den samme instruksjonen til flere forskjellige data samtidig. Vel, NVIDIA i RTX 30 gjorde en ganske merkelig forbedring som lar den beregne dobbelt så mange 32-bits flyttalloperasjoner per klokkesyklus og kjerne.

Trikset var å legge til en andre 16-elements SIMD-enhet på hver av underkjernene for totalt 64 ekstra operasjoner per enhet inne i GPU. De økte imidlertid ikke antall poster eller tilganger, siden de ble pendlet med heltallsenheten. Hva betyr dette? Både RTX 30 og RTX 40 oppnår dobbel flytepunktytelse under visse forhold, ikke alltid.

AMD har derimot søkt en annen løsning som de har kalt Dual Issue, men i sine tekniske spesifikasjoner sier de at antall flyttallsenheter ikke har økt, men at de under visse forhold kan pakke 2 instruksjoner samtidig . Imidlertid er antall enheter per kjerne eller Compute Unit fortsatt maksimalt 64, i stedet for 128, som i tilfellet med NVIDIA.

Dual Issue RDNA 3

Hva betyr AMD med "Dual Issue" i RDNA 3?

Men hvis du teller antall flyttallsoperasjoner gitt av AMD, som vanligvis er gitt til et teoretisk maksimum, utfører FMA-operasjonen eller addisjonen med flyttallsmultiplikasjon 100 % av tiden, noe som er urealistisk, siden det ikke tar hensyn til kontominnetilganger og det faktum at programmer ikke alltid bruker nevnte instruksjon, men det tar hensyn til at det er det mest brukte når man genererer grafikk. Faktum er at instruksjonen er 2 operasjoner.

Vel, det AMD har gjort er at visse instruksjoner kan pakkes to og to i beregningsenhetene, slik at dobbelt så mye kraft i flytepunktet kan oppnås med RDNA 2 under visse forhold. Det er det samme tilfellet som med NVIDIA GPUer. Den ekstra flyttallseffekten dobles ikke generelt, men kun under visse forhold. Så det er et vanlig problem. Uansett er målingen i TFLOPS fortsatt et markedsføringstriks i dag.

Så hvorfor er det viktig for AMDs Ray Tracing-ytelse? Vel, på grunn av det faktum at det hjelper oss å måle beregningskraften til enhetene som brukes i resten av stadiene av strålesporing som ikke er skjæringspunktet mellom stråler. Uansett hevder AMD selv at den intergenerasjonelle forbedringen er 18 % ved samme klokkehastighet.

AMD RDNA 3 gir mest mulig nytte

AMD GPU-ytelse i Ray Tracing: The Numbers

Hvis vi sammenligner ytelsen til de forskjellige skjæringsenhetene på begge de forskjellige generasjonene av grafikkort fra NVIDIA og AMD, vil vi se hva problemet er.

GPU Kryss/kryss (i millioner) kjerner MHz Kryss (kjerne og MHz)
RTX2080Ti 105600 68 1545 en
RTX3090Ti 312480 84 1860 2
RTX 4090 1290240 144 2520 3.6
RX 6950 XT 184800 80 2310 en
RX7900XTX 360000 96 2500 1.5

Ved første øyekast er råkraften i dette aspektet høyere enn for en RTX 3090 Ti, ja, vi ser på den andre kolonnen. Det er imidlertid sistnevnte som er viktig, da det forteller oss hvor mange avskjæringer som beregnes per kjerne og klokkesyklus på GPUen. Og skuffelsen kommer fra det faktum at selv om AMD ikke blir bedt om å gi resultatet på 3.6 for RTX 40, blir det bedt om å minst nå 2 for RTX 30. Dette er hovedårsaken til den dårlige ytelsen til AMD-grafikkort i Ray Tracing. Og grunnen til at vi tror de kunne ha gjort det mye bedre.

Det er mer, og allerede til slutt, fordi Ray Accelerator Unit er en svart boks i seg selv som kan erstattes uten å påvirke resten av arkitekturen. AMD kan plukke opp og lage en RX 7×50-serie for det kommende året som beholder all godheten til dagens RDNA 3, men med den forbedrede RAU og se spillytelsen øke med tosifrede prosenter når det gjelder bildefrekvens.

Hva er ytelsen til AMD-spill med Ray Tracing i RDNA 3?

For å avslutte har vi kirsebæret på kaken og snakker om hvordan den presterer i spill. Siden AMD offentlig hevdet en forbedring på 50 %, bør vi forvente et like stort hopp. Vi har imidlertid senere oppdaget at de refererer til ytelse per watt, til en viss mengde av disse og med et spesifikt spill, som ikke er spesifisert. Så det viktige er å vite hva forbedringen har vært sammenlignet med forrige generasjon, i dette aspektet, spesielt på grunn av det faktum at de starter fra en ganske dårlig ytelse i strålesporing som er fra RX 6000.