Perché AMD ha prestazioni peggiori in Ray Tracing?

Una delle cose di cui si parla a lungo è il scarso rendimento di AMD schede grafiche in Ray Tracing , soprattutto rispetto a NVIDIA'S. Tuttavia, molti alzano le mani quando diciamo che l'implementazione dell'hardware necessario da parte del Radeon Technology Group è così scarsa da sembrare letteralmente un boicottaggio dell'adozione di questa tecnologia. Che ricordiamo che è l'ideale per risolvere alcuni problemi visivi nella computer grafica e non è nemmeno un'invenzione del produttore di GeForce.

Per noi, la funzione principale di una scheda grafica è che ci consente di giocare ai nostri giochi con facilità e prestazioni, allo stesso tempo se ne avrai bisogno per attività più professionali, come l'editing video o la creazione di 3D modelli, è più che sufficiente. con il suo lavoro. Quando diciamo che AMD ha poche prestazioni in Ray Tracing, non stiamo mettendo NVIDIA alle stelle, ma piuttosto, come utenti che siamo anche noi, siamo rattristati nel vedere che qualcosa che in Radeon potrebbe essere molto meglio, non lo è.

Perché AMD ha prestazioni peggiori in Ray Tracing?

L'algoritmo di ray tracing

Per capire le scarse prestazioni delle schede AMD in Ray Tracing dobbiamo capire che si tratta in realtà di un algoritmo ricorsivo per generare una scena completa, che nella sua versione più semplice può essere così riassunta:

  • Per ogni pixel nella scena
    • Calcola il raggio di visualizzazione
      • Se il fulmine colpisce un oggetto, valutare il colore dell'oggetto.
      • In caso contrario, quel pixel ha il colore di sfondo.

Il raggio non è altro che un vettore che si muove dalla telecamera che “registra” la scena e che attraversa una matrice di punti o una mesh, dove ognuno di essi è un pixel. Ogni volta che un effetto di controllo verrà eseguito sulla scena. Ebbene, se abbiamo una scena in Full HD questo significa che dovranno essere effettuati 2 milioni di controlli, se il gioco è a 60 FPS si tratta di 120 milioni di controlli al secondo.

Matematicamente, la formula più comune per verificarla non è una semplice operazione, ma piuttosto una complessa equazione con vettori, che richiede una certa potenza. Tant'è che il semplice fatto di non avere un'unità parallela incaricata di svolgere questo compito può ridurre la percentuale di rendimento a una cifra.

questa funzione è Ray Tracing

Unità di intersezione hardware

Ecco perché NVIDIA ha gli RT Core e AMD ha le unità Ray Accelerator, sono la stessa cosa, poiché sono lo stesso tipo di unità e vengono utilizzate per la stessa attività. Tuttavia, nell'ultima generazione, la RX 6000 aveva un limite che fortunatamente l'RTG ha risolto in RDNA 3 e, di conseguenza, nella gamma RX 7000.

Tarjetas Graficas RX 7000 Ray Tracing

Qual è il problema, allora?

  • La cosa buona, e quindi positiva, è che adesso quello che mancava in RDNA 2 è stato inserito in RDNA 3.
  • La cosa brutta e ciò che ci fa avere una scarsa performance di Ray Tracing su AMD è la quantità di interazioni raggio-triangolo che può calcolare. Un salto di solo il 50% è molto scarso quando il tuo rivale ha raddoppiato le prestazioni da una generazione all'altra.

Non dimentichiamo che le prime schede 3D apparse sul mercato sono state responsabili di accelerare sempre più l'operazione di rasterizzazione triangolare, che è la più comune in questo senso. Lo stesso vale per questa parte in ray tracing. Quindi il fatto che AMD abbia fatto un salto così piccolo in questo senso è deludente.

In che modo influisce sulle prestazioni complessive?

Sebbene l'intersezione dei raggi faccia parte della scenografia, è un elemento comune a tutte le scene che è essenziale. Non dimentichiamo che si tratta di un processo che va per fasi dove il fatto che uno proceda più lentamente del normale finisce per pregiudicare le prestazioni di quelle successive.

DXR Nessun ray tracing in linea

Pertanto, se riusciamo a velocizzare una fase, otteniamo un tempo più breve per generare lo stesso fotogramma, ovvero ci vogliono meno millisecondi e questo è più fotogrammi al secondo. Ciò che deve essere chiaro è che il processo di intersezione è ricorsivo e continuo in Ray Tracing e, quindi, è necessario che questa parte abbia una buona resa.

L'altro problema: le prestazioni in virgola mobile

Le GPU in genere lavorano su blocchi di dati all'unisono, applicando loro le stesse istruzioni. Questo è il motivo per cui il suo tipo di unità per eccellenza è ciò che chiamiamo unità SIMD, che, come suggerisce il nome, applicano la stessa istruzione a diversi dati contemporaneamente. Bene, NVIDIA nell'RTX 30 ha apportato un miglioramento piuttosto curioso che le consente di calcolare il doppio delle operazioni in virgola mobile a 32 bit per ciclo di clock e core.

Il trucco consisteva nell'aggiungere una seconda unità SIMD a 16 elementi su ciascuno dei sub-core per un totale di 64 operazioni aggiuntive per unità all'interno del GPU. Tuttavia, non aumentavano il numero di record o di accessi, poiché venivano commutati con l'unità di numeri interi. In cosa si traduce questo? Sia l'RTX 30 che l'RTX 40 raggiungono prestazioni a doppia virgola mobile in determinate condizioni, non sempre.

AMD, invece, ha cercato un'altra soluzione che hanno chiamato Dual Issue, ma nelle loro specifiche tecniche dicono che il numero di unità in virgola mobile non è aumentato, ma che in determinate condizioni possono impacchettare 2 istruzioni contemporaneamente . Tuttavia, il numero di unità per core o Compute Unit è ancora al massimo di 64, invece di 128, come nel caso di NVIDIA.

Doppia emissione RDNA 3

Cosa intende AMD per "Dual Issue" in RDNA 3?

Tuttavia, se si conta il numero di operazioni in virgola mobile fornite da AMD, che di solito sono fornite al massimo teorico, eseguendo il 100% delle volte l'operazione FMA o l'addizione con moltiplicazione in virgola mobile, il che non è realistico, poiché non tiene conto tiene conto degli accessi in memoria e del fatto che i programmi non sempre utilizzano tale istruzione, ma tiene conto che è la più utilizzata per la generazione di grafici. Il fatto è che l'istruzione è di 2 operazioni.

Bene, ciò che AMD ha fatto è che alcune istruzioni possono essere impacchettate due a due nelle unità di calcolo, consentendo di ottenere il doppio della potenza in virgola mobile con RDNA 2 in determinate condizioni. È lo stesso caso delle GPU NVIDIA. La potenza aggiuntiva in virgola mobile non viene raddoppiata in generale, ma solo in determinate condizioni. Quindi è un problema comune. In ogni caso, la misurazione in TFLOPS è ancora oggi un trucco di marketing.

Allora perché è importante per le prestazioni di Ray Tracing di AMD? Bene, per il fatto che ci aiuta a misurare la potenza di calcolo delle unità utilizzate nel resto delle fasi del ray tracing che non sono l'intersezione dei raggi. In ogni caso, la stessa AMD afferma che il miglioramento intergenerazionale è del 18% a parità di velocità di clock.

AMD RDNA 3 migliora le prestazioni

Prestazioni della GPU AMD nel ray tracing: i numeri

Se confrontiamo le prestazioni delle diverse unità di intersezione su entrambe le diverse generazioni di schede grafiche di NVIDIA e AMD, vedremo qual è il problema.

GPU Intersezioni/s (in milioni) colori MHz Intersezioni (core e MHz)
RTX 2080 Ti 105600 68 1545 prima
RTX 3090 Ti 312480 84 1860 2
RTX 4090 1290240 144 2520 3.6
RX 6950 XT 184800 80 2310 prima
RX7900XTX 360000 96 2500 1.5

A prima vista, la potenza pura in questo aspetto è superiore a quella di un RTX 3090 Ti, sì, guardiamo alla seconda colonna. Tuttavia, è quest'ultimo che è importante, in quanto ci dice quante intercettazioni vengono calcolate per core e ciclo di clock sulla GPU. E la delusione deriva dal fatto che sebbene ad AMD non venga chiesto di dare il risultato di 3.6 per l'RTX 40, viene chiesto di raggiungere almeno 2 per l'RTX 30. Questo è il motivo principale delle scarse prestazioni delle schede grafiche AMD nel ray-tracing. E il motivo per cui pensiamo che avrebbero potuto fare molto meglio.

È di più, e già da finire, perché la Ray Accelerator Unit è di per sé una scatola nera che può essere sostituita senza intaccare il resto dell'architettura. AMD può raccogliere e realizzare una gamma RX 7 × 50 per il prossimo anno che conserva tutta la bontà dell'attuale RDNA 3, ma con il RAU migliorato e vedere l'aumento delle prestazioni di gioco di percentuali a due cifre in termini di frame rate è preoccupato.

Quali sono le prestazioni dei giochi AMD con Ray Tracing in RDNA 3?

Ora per finire abbiamo la ciliegina sulla torta e parliamo di come si comporta nei giochi. Poiché AMD ha dichiarato pubblicamente un miglioramento del 50%, dovremmo aspettarci un salto altrettanto ampio. Tuttavia, abbiamo poi scoperto che si riferiscono a prestazioni per watt, a una certa quantità di queste e con un gioco specifico, che non è stato specificato. Quindi l'importante è sapere quale sia stato il miglioramento rispetto alla generazione precedente, sotto questo aspetto, soprattutto per il fatto che partono da una prestazione piuttosto scarsa in ray tracing che è dalla RX 6000.