UFFICIALE AMD RDNA3

Pubblicità
Quindi qualsiasi tecnologia di upscaling, che sia FSR, DLSS o altro, introduce un aumento di latenza per il semplice fatto che ci sono (ovviamente) più passaggi da elaborare ma questo viene controbilanciato dal fatto che aumentano gli fps, intendi questo?

Si ma io non me ne farei un problema, in cyberpunk per esempio mi aiuta a rendere godibile il gioco c’è una bella differenza vedere un open world a oltre 60 fps invece di 30…

Ripeto questa storia è stata tirata fuori quando si parlava del motivo per cui si era introdotto il resizable bar , per far sì che la gpu avesse un accesso più veloce al buffer per il render delle immagini

Piuttosto io guarderei al tipo di scaling che viene fatto , il DLSS a performance è inguardabile,”straccia” le immagini e le rende quasi irreali , per il FSR non saprei…


Inviato da iPhone tramite App ufficiale di Tom\'s Hardware Italia Forum
 
Perche' introdurrebbe aumenti di latenza l'upscaling?

Il frame 3D di risposta dell'utente (e.g. via pad) e' lo stesso di quello in cui si verifica l'upscaling, che semplicemente ne velocizza la generazione, quindi in questo caso non c'e' aumento di latenza.
Anzi diminuendo la generazione del freme (aumentando gli FPS) il tempo in cui posso intervenire diminuisce.
(la latenza e' quella reale degli FPS)
Quindi fino all'FSR 2.2 e al DLSS 2.4 non c'è aumento di latenza, giusto?
 
Perche' introdurrebbe aumenti di latenza l'upscaling?

Il frame 3D di risposta dell'utente (e.g. via pad) e' lo stesso di quello in cui si verifica l'upscaling, che semplicemente ne velocizza la generazione, quindi in questo caso non c'e' aumento di latenza.
Anzi diminuendo la generazione del freme (aumentando gli FPS) il tempo in cui posso intervenire diminuisce.
(la latenza e' quella reale degli FPS)

Diverso e' l'intra-frame:
Chiamiamo A e C i frame generati dal rendering 3D, mente B il frame intremedio, interpolato tra A e C.
Posso intervenire (via pad) solo sui frame A e C (che hanno i reali vertici 3D processati) non su B che e' "prettamente" un'interpolazione di immagini 2D... e in cui, quindi, non ci sarebbe una reale corrispondenza dell'oggetto 3D con cio' che realmente sto vedendo (la reale posizione dell'oggetto ce l'ho solo in A e C)
Il frame B viene solo usato per dare fluidita' al movimento da A a C... con un costo computazionale di generazione (che non e' ZERO) e che quindi fa aumentare la latenza (il tempo) prima di poter arrivare al frame C, dove finalmente posso intervenire.
(la "vera" latenza e' "in pratica" ogni 2 frame)
Esatto, inoltre, se ho capito bene, ipotizzando che un frame si generi per esempio in 10ms in un gioco:

- senza dlss3:
- istante 0 vedo A
- istante 10 vedo C

- con dlss 3
- istante 0 si genera A
- istante 10 si genera C e vedo A
- istante 15 vedo B
- istante 20 vedo C

I frame che vedo sono ogni 5ms (quindi ho il doppio dei fotogrammi) ma in realtà è tutto spostato avanti (ritardato) perché per generare i frame intermedi serve anche il fotogramma dopo, che quindi deve essere generato e poi aspettare che venga mostrato quello interpolato per poi finalmente entrare in scena.

Se è davvero così è una cavolata pazzesca perché il tempo in cui posso "agire" raddoppia.
A meno che i frames generati non siano fatti con i fotogrammi precedenti andando ad "intuito" 🤔
 
Esatto, inoltre, se ho capito bene, ipotizzando che un frame si generi per esempio in 10ms in un gioco:

- con dlss 3
- istante 0 si genera A
- istante 10 si genera C e vedo A
- istante 15 vedo B
- istante 20 vedo C

I frame che vedo sono ogni 5ms (quindi ho il doppio dei fotogrammi) ma in realtà è tutto spostato avanti (ritardato) perché per generare i frame intermedi serve anche il fotogramma dopo, che quindi deve essere generato e poi aspettare che venga mostrato quello interpolato per poi finalmente entrare in scena.

Se è davvero così è una cavolata pazzesca perché il tempo in cui posso "agire" raddoppia.
A meno che i frames generati non siano fatti con i fotogrammi precedenti andando ad "intuito" 🤔
Be', quasi... 😉
Anzitutto premetto che anche senza DLSS/FSR/UpScaling/etc si utilizza (praticamente) sempre un doppio-buffer: frontBuffer e backBuffer.
Si scrive sempre sul backBuffer, e una volta completato si chiama una sorta di "swapBuffer" che inverte le posizioni (il front diventa back e viceversa)
Questo lo si fa per visualizzare il frame gia' completo e non mentre lo si crea.

E' anche comune la tecnica del triple-Buffer, e prima di visualizzare il "primo frame" sul frontBuffer devo riempire i 2 buffer precedenti, quindi ho bisogno di una sorta di "warm-up" prima di iniziare con la visualizzazione.
E nessuno mi vieta di usarne anche piu' di 3, per esigenze particolari.

Quindi non ha importanza quanto indietro mi trovi con l'immagine visualizzata o da renderizzare, l'importante e' che del buffer visualizzato sul frontBuffer abbia memoria dei vertci (realmente processati in 3D)

Cosi' anche col DLSS3 ho bisogno di una sorta di warm-up prima di iniziare.
Per semplicita' uso:
i numeri dispari per i frame REALI generati in 10ms​
i numeri pari per i frame INTERPOLATI generati in 5ms​

- warm-up ... si genera 1 (10ms)
- warm-up ... si genera 3 (10ms)
- istante 0 ... vedo 1 si genera 2 (5ms) ... posso intervenire col pad
- istante 5 ... vedo 2 si genera 5 (10ms)
- istante 15 ... vedo 3 si genera 4 (5ms) ... posso intervenire col pad
- istante 20 ... vedo 4 si genera 7 (10ms)
- istante 30 ... vedo 5 si genera 6 (5ms) ... posso intervenire col pad
- istante 35 ... vedo 6 si genera 9 (10ms)
- istante 45 ... vedo 7 si genera 8 (5ms) ... posso intervenire col pad
... e cosi' via

Quindi (dopo il warm-up) ho un framerate di 133FPS, ma posso intervenire ogni 15ms

- senza dlss3:
- istante 0 vedo A
- istante 10 vedo C
Cosi', senza DLSS3, avrei invece 100FPS, ma posso intervenire ogni 10ms (ossia ad ogni frame)

N.B.
  • Per quanto cio' che ho scritto possa essere molto verosimile, la tecnica del DLSS3 e' comunque una tecnologia "chiusa" (non si conosce nella specificita' del codice) e a parte la descrizione di NVidia non c'e' molto altro.
  • Nel particolare esempio ho fatto una visualizzazione a "singhiozzo" (5/10/5/10/5/10...) per semplicita' e migliore comprensione, ma immagino sia stata resa fluida mediando i valori... con tale accorgimento, nell'esempio precedente, i frames verrebbero visualizzati ogni 7.5ms (7.5/7.5/7.5/7.5...) indipendentemente che siano reali o interpolati... ma rimarrebbero sempre 133FPS e 15ms
 
Ultima modifica:
E' anche comune la tecnica del triple-Buffer, e prima di visualizzare il "primo frame" sul frontBuffer devo riempire i 2 buffer precedenti, quindi ho bisogno di una sorta di "warm-up" prima di iniziare con la visualizzazione.
E nessuno mi vieta di usarne anche piu' di 3, per esigenze particolari.
Il triplo buffering si ritrova nei menù di molti giochi, aumenta la latenza rispetto a lasciarlo OFF?
 
Il triplo buffering si ritrova nei menù di molti giochi, aumenta la latenza rispetto a lasciarlo OFF?
certro il triplo buffering aumenta l'input lag ma oggi non conviene tenerlo attivato con il g-sync attivo

in ogni modo nonè detto che una latenza leggermente più alta sia realmente percepita
 
Cosi', senza DLSS3, avrei invece 100FPS, ma posso intervenire ogni 10ms (ossia ad ogni frame)

Non solo, ma oltre alla "densità di possibilità di intervento" (ogni 10ms o ogni 15ms) cambia anche proprio la latenza secondo me perché i due sistemi (con e senza dlss3) partono sfasati dal "warmup" e lo restano per tutta la loro attività.
Sei partito a contare gli istanti dopo il warmup ma anche quello conta nel ritardo di risposta ad un imput.

Cioè senza DLSS3:
- istante 0: genero e vedo fotogramma A, premo un tasto
- istante 10: genero e vedo il fotogramma C con la risposta. (salto lettera B per simmetria con quanto sotto)
Latenza totale della risposta 10ms (o meglio latenza imputabile alla generazione del frame immagino)

Con DLSS3:
- istante 0: genero fotogramma A ma non lo vedo ancora (vedo altri frame precedentemente generati), premo un tasto
- istante 10: genero fotogramma C, vedo A
- istante 15: genero e vedo B (interpolando A e C)
- istante 20: vedo C con la risposta
Latenza totale 20ms ! Posso agire ogni 10ms ma le risposte le vedo 20ms dopo.

Sembra controintuitivo ma è come quando in un video sfasato, l'audio arriva prima dell'immagine.

Con l'interpolazione attiva non posso mostrare i frame appena generati, devo sempre aspettare di generare anche quello successivo altrimenti poi non so con cosa interpolare. Questo inevitabilmente raddoppia la latenza, c'è poco da fare.
Quindi nell'esempio con DLSS3 attivo, ogni frame "reale" che vedo, in realtà è stato generato 10ms prima (ed ha atteso 10ms che venisse creato anche quello dopo per poter essere mostrato).

Poi ci possiamo aggiungere gli effetti del doppio o triplo buffer, ma penso si sommino in egual modo, lasciando invariata la discrepanza originaria.

Non si scappa da questa cosa secondo me, a meno che con i vettori spostamento e quant'alto non si provi a creare i frame intermedi dai due precedenti (rischiando però di creare cose irrealistiche perché non è affatto detto che un frame si evolva secondo l'andamento dei due precedenti).
 
Scusa, forse ho dato per scontato che, utilizzando un "doppio buffer", anche senza DLSS3, c'e' comunque un frame di "warm-up" ...
Cioè senza DLSS3:
- istante 0: genero e vedo fotogramma A, premo un tasto
- istante 10: genero e vedo il fotogramma C con la risposta. (salto lettera B per simmetria con quanto sotto)
Latenza totale della risposta 10ms (o meglio latenza imputabile alla generazione del frame immagino)
Nel senso che quello che dici tu sarebbe vero se utilizzassi solo 1 buffer, ma come detto non e' cosi'.
(Con un solo buffer vedresti la cancellazione schermo e poi la generazione dei poligoni direttamente sullo schermo: ci sarebbe un flickering incredibile ad ogni nuovo frame)

Quindi in gaming (ma non solo) si usa sempre (almeno) il DoubleBuffer, ed in caso di doppio-buffer hai comunque 1 frame di warm-up:

- warm-up ... si genera 1 (10ms)
- istante 0 ... vedo 1 si genera 2 (10ms)
- istante 10 ... vedo 2 si genera 3 (10ms)
- istante 20 ... vedo 3 si genera 4 (10ms)
e cosi' via

Con DLSS3:
- istante 0: genero fotogramma A ma non lo vedo ancora (vedo altri frame precedentemente generati), premo un tasto
- istante 10: genero fotogramma C, vedo A
- istante 15: genero e vedo B (interpolando A e C)
- istante 20: vedo C con la risposta
Latenza totale 20ms ! Posso agire ogni 10ms ma le risposte le vedo 20ms dopo.

Sembra controintuitivo ma è come quando in un video sfasato, l'audio arriva prima dell'immagine.
Il DLSS3 in definitiva usa 3 buffers, ed ha lo stesso lag di un "triple-buffer" per cio' che riguarda il warm-up... in piu' pero' c'e' il frame interpolato su cui non si puo' itervenire (perche' il frame successivo esiste gia': e' uno di quelli da cui e' stato interpolato)

Non si scappa da questa cosa secondo me, a meno che con i vettori spostamento e quant'alto non si provi a creare i frame intermedi dai due precedenti (rischiando però di creare cose irrealistiche perché non è affatto detto che un frame si evolva secondo l'andamento dei due precedenti).

Come dicevo nelle NOTE, purtroppo del DLSS3 non si sa nulla di piu' di quello che e' mostrato nelle slide e nei blog di NVidia
In particolar modo io mi sono riferito alla documentazione di NVIDIA Optical Flow SDK, che viene utilizzato (a detta di NVIdia) per generare l'intra-frame del DLSS3... e dove si parla specificamente di "interpolazione" (ossia la generazione di un valore intermedio, partedno da 2 (o piu') valori noti) ... e non di "predizione" del flusso.
Oltretutto, nelle slides, si mostra uno schema molto simile a quello che ho ricostruito con la sequenza dei frames.

Poi, se effettivamente sia cosi' o come questo accada: se a generazione frame avvenuta o "quasi" in parallelo (solo di poco sfalsata) durante la generazione stessa del frame reale, onestamente non saprei dirtelo.



 
Ultima modifica:
Comunque pensavo a quanto le migliorie e ottimizzazioni di AMD su adrenalin vadano a migliorare anche vecchie schede. Ho assemblato un mini PC con una amd rx5600xt solo per vedere film in 4k sulla TV nanocell 120hz . Ho provato però anche dei giochi così senza grandi entusiasmi. Scorn setting massimo va fisso a 60 fps, RE7 sta su 80 fps setting alto, Doom ethernal 60 fps stabili setting ultra. Sono rimasto stupito da questa piccola GPU. Vero senza RT e con giochi vecchi (vecchi?), ma in 4k! Avrò speso circa 500 per questo mini PC, e va come una console senza RT.
 
La RX 7900 XTX batte la RTX 4080 di ben 8 volte ... sul sentimento popolare 😁

Almeno secondo il sondaggio di wccftech ... anche ammesso che i problemi col fatidico connettore 12VHPWR fossero gia' definitivamente risolti

Screenshot from 2022-11-15 12-24-08.png


Una preferenza cosi' elevata per AMD, a memoria, credo non accadesse dalla serie HD 7xxx, e comunque non di cosi' tanto.
(evidentemente 7000 e' il "numero fortunato" di AMD 😅)

Il sondaggio e' in calce all'articolo che mette in comparazione 7900 XTX/XT con la 4080:


Parere personale:
Nonostante l'ottimo lavoro svolto da AMD e visto che ancora non ci sono benchmark ufficiali... molto e' anche frutto delle cavolate fatte da NVida: iniziando dal marketing (prezzi, vincoli di tecnologie: FrameGeneration) fino ai problemi con i connettori (ad oggi, con tante ipotesi, ma senza soluzione)
 
La RX 7900 XTX batte la RTX 4080 di ben 8 volte ... sul sentimento popolare 😁

Almeno secondo il sondaggio di wccftech ... anche ammesso che i problemi col fatidico connettore 12VHPWR fossero gia' definitivamente risolti

Visualizza allegato 445842


Una preferenza cosi' elevata per AMD, a memoria, credo non accadesse dalla serie HD 7xxx, e comunque non di cosi' tanto.
(evidentemente 7000 e' il "numero fortunato" di AMD 😅)

Il sondaggio e' in calce all'articolo che mette in comparazione 7900 XTX/XT con la 4080:


Parere personale:
Nonostante l'ottimo lavoro svolto da AMD e visto che ancora non ci sono benchmark ufficiali... molto e' anche frutto delle cavolate fatte da NVida: iniziando dal marketing (prezzi, vincoli di tecnologie: FrameGeneration) fino ai problemi con i connettori (ad oggi, con tante ipotesi, ma senza soluzione)
Ho capito, nenanche questa volta riusciro a prendermi una Reference...... anche se non saprei dire se per sfortuna o per fortuna. Perchè con tutte le cose che vedo che accadono ai lanci, tra difetti e rotture, forse è anche meglio. Però le Reference AMD come le Founders nvidia sono davvero im modelli più belli secondo me.
 
https://www.hardwaretimes.com/amd-r...h-ray-tracing-nvidia-rtx-4090-over-2x-faster/

Nei primi test ufficiali le performance in ray tracing della top di gamma 7900 xtx sono a livello di una 3080 Ti.
Speriamo nel raster.
Ho tanti amici per cui quella tecnologia non rappresenta un must have che stanno attendendo con trepidazione visti i prezzi vergognosi delle 4080.
Test Ufficiali? 🤔
Non sono test ufficiali... quelli ci saranno solo pochi giorni prima del lancio: quella e' un'analisi, nemmeno troppo oculata (confronta un solo titolo in RT, CyberPunk, che e' dove AMD ha il divario maggiore) di una testata non certo di prim'ordine.
E si basa sui dati forniti da AMD (che non sono nemmeno stati ben utilizzati)

Se ti vuoi fare un'idea, in base a quei dati... guarda le prestazioni di una 6950XT in RT ... e poi aggiungi un +50% (che e' il progresso che afferma AMD di aver ottenuto in RT: dovrebbe collocarsi mediamente vicina a una 3090TI)


Ovviamente e' ancora tutto molto ipotetico!
(e il tutto si basa su dati forniti SOLO da AMD)
 
Ultima modifica:
Test Ufficiali? 🤔
Non sono test ufficiali... quelli ci saranno solo pochi giorni prima del lancio: quella e' un'analisi, nemmeno troppo oculata (confronta un solo titolo in RT, CyberPunk, che e' dove AMD ha il divario maggiore) di una testata non certo di prim'ordine.
E si basa sui dati forniti da AMD (che non sono nemmeno stati ben utilizzati)

Se ti vuoi fare un'idea, in base a quei dati... guarda le prestazioni di una 6950XT in RT ... e poi aggiungi un +50% (che e' il progresso che afferma AMD di aver ottenuto in RT: dovrebbe collocarsi mediamente vicina a una 3090TI)


Ovviamente e' ancora tutto molto ipotetico!
(e il tutto si basa su dati forniti SOLO da AMD)
Quindi tallona la 4080 in RT e probabile che in raster vada anche un pelino meglio...
 
Quindi tallona la 4080 in RT e probabile che in raster vada anche un pelino meglio...
Cosi' dovrebbe essere in RT (forse anche 2/3 talloni dietro 😅, in alcuni titoli)... e forse qualcosa in piu' di un "pelino meglio" in rendering.

Pero', ripeto: son dati forniti da AMD, quindi magari veritieri, ma (forse) "scelti" con sagacia... per cui prendiamoli con cautela 😉
 
Pubblicità
Pubblicità
Indietro
Top