Indice
ToggleCos’è AFMF
Con l’uscita del 24 Gennaio 2024 dei nuovi driver Adrenalin 24.1.1, AMD ha finalmente rilasciato al pubblico la nuova funzionalità tanto aspettata, ovvero l’AFMF, che sta per AMD Fluid Motion Frames. Inizialmente annunciata solo per le GPU della serie 7000 e poi implementata anche per la serie 6000, l’AFMF introduce un nuovo tipo di Frame Generation nel panorama videoludico, facendolo in maniera differente rispetto a nVidia.
In questo caso si sfrutta una tecnica di interpolazione dei frame, così come avviene nel caso di DLSS+FG di nVidia, cercando un buon compromesso anche sul fronte della latenza, minimizzandola il più possibile. Questo è necessario perché il peso computazionale del frame generato crea, per forza di cose, una latenza intrinseca della tecnologia, pur permettendo come risultato una maggiore fluidità data dalla presenza di più frame per unità di tempo.
L’AFMF, però, è implementato a livello driver, pertanto, così come dichiarato anche da AMD stessa, è possibile sfruttarlo in tutti i giochi che supportano DirectX11 e DirectX12! La vera novità infatti è proprio questa, il che democratizza l’esperienza in termini di Frame Generation, aggiungendola alla possibilità di usarla anche con schede vecchie di 3 anni (vedi RX 6600/6700/6800/6900 ecc).
L’implementazione di casa AMD promette aumenti di performance anche del 97%, come annunciato durante il rilascio della RX 7600XT. Chiaramente siamo davanti ad un claim abbastanza altisonante, e infatti le cose sì, funzionano, ma non stanno proprio così. L’AFMF è da interpretare come una sorta di “win-more condition“, e vi spiego perché.
Come indicato anche da AMD stessa nelle release notes dei driver 24.1.1 (sotto la voce “What to Know”), è consigliato attivare AFMF quando, di base e in raster, o tramite l’uso di FSR, si raggiungono già i 60fps, altrimenti si potrebbe incappare in micro-stuttering, artefatti e basso frame-pacing, il che si ripercuoterà sull’esperienza di gioco.
Quindi teniamo a mente che l’AFMF funziona, sì, ci permetterà di poter avere un incremento quasi del 100% dei frame generati dalla scheda in condizioni ottimali (e dopo vedremo in che contesto con una prova sul campo), introducendo anche un minimo di latenza in più rispetto al normale (cosa che accade con tutte le tech di framegen, ndr), ma solo a patto di avere già una condizione di base di una certa fluidità.
Possiamo conseguire, quindi, che l’algoritmo di interpolazione alla base di questa tecnologia non è in grado di creare un frame-pacing stabile se di base si generano meno fps di quanto richiesti, cosa che nVidia riesce a fare leggermente meglio, ma il tutto è presto detto: se vogliamo usarla, dobbiamo trovare la condizione di base che ci permette di ottenere almeno sempre il minimo di 60fps. Questo è possibile con schede che, in base alla risoluzione desiderata, ci riescono già di default, o riducendo i dettagli grafici o sfruttando tecnologie di upscaling, come FSR2 o FSR3.
Una buona implementazione di FSR3, ad esempio, sì è vista in Avatar Frontiers Of Pandora, che riesce ad usare appieno le tecnologie di AMD con un’ottima resa grafica, includendo anche la FrameGen. Ora, in casi del genere, sopra lo strato di upscaling e framegen, possiamo aggiungere un layer di AFMF, creando una combinazione di fattori che andranno ad aumentare drasticamente gli FPS totali!
Tutto molto bello, però, chiaramente, non conta solo il numero di FPS, ma anche come vengono gestiti e, soprattutto, che latenze si percepiranno e che stutter sarà presente. C’è da fare una premessa: la percezione di latenza è molto soggettiva. Personalmente ho testato l’AFMF su Starfield sulla NandoStation, e anche un’aggiunta di circa 28ms per via dei frame generati non mi è sembrata così vistosa, anzi, e l’esperienza è stata discreta, anche se lo stutter era presente.
Il caso migliore è stato con l’FSR attivo di base, altrimenti l’AFMF non donava una buona esperienza di gioco, con cambi di FPS molto vistosi. Invece, in Forza Horizon 5 il gioco è rimasto estremamente fluido e reattivo per tutto il tempo con i miei settings (sotto screenshot e grafici), al punto che lo terrò sempre attivo in futuro.
Piuttosto ho avuto da ridire sul comportamento notato in caso di cambi repentini di visuale. Se si muove molto velocemente la camera o ci si muove in contesti molto rapidi, l’AFMF si disattiva temporaneamente, quindi avrete questi saliscendi di fps e frame-pacing in base a che azione avviene a schermo. Infatti, è la stessa AMD ad indicare che questa tech non è adatta a giochi competitivi, in quanto la frame gen a livello driver, non avendo accesso diretto al motore di gioco e ai vettori di movimento, non riesce a predire correttamente il frame da interpolare, pertanto in quegli attimi si spegne.
Potete testarlo in autonomia. Noterete un calo di FPS proprio in quei momenti di intenso cambio di visuale: gli scatti veloci di visuale porteranno l’AFMF a disattivarsi temporaneamente. La ripresa è, però, piuttosto immediata su sistemi moderni come la NandoStation, quindi non c’è da preoccuparsi, ma è una cosa da sapere per godere appieno di questa tech, che, per ora, ha dei piccoli limiti. Questo comportamento viene molto mitigato specialmente nei titoli single player, dove le azioni sono meno frenetiche e l’AFMF riesce a stare quasi sempre attivo.
Come si attiva
Una volta installati i nuovi driver Adrenalin 24.1.1, avrete varie possibilità per attivare le tech di frame boosting. La più semplice è tramite la funzione HYPR-RX che si trova direttamente sulla Home, sotto la voce Esperienza Globale. Invece, per avere un controllo più avanzato, potrete andare sulla voce Gioco e poi su Grafica, e da lì attivare la funzione HYPR-RX dalla voce Esperienza di Gioco. In automatico questa funzione attiverà tutto il pacchetto di frame boost di AMD, ovvero la Radeon Super Resolution (RSR), l’AFMF e l’AntiLag+.
Nel caso in cui non sia presente il tasto HYPR-RX, probabilmente avete una GPU della serie RX 6000. In questo caso potrete andare sempre in Gioco -> Grafica e da lì attivare l’AFMF manualmente. Anche in questo caso si attiveranno le tech di frame boosting, con la sola differenza di avere l’AntiLag normale al posto dell’AntiLag+ (che è una tech esclusiva della serie RX 7000).
Esiste già una lista di giochi già ottimizzati per l’HYPR-RX. Invece, per gli altri, basterà andare nelle impostazioni del gioco e attivare una risoluzione di input valida per RSR o attivare il preset FSR desiderato. Questo accade perché l’RSR, pur essendo una soluzione di upscaling come FSR, lavora, invece, a livello driver come AFMF, pertanto permette l’upscaling su tutti i giochi, anche quelli che non supportano nativamente upscaler o FSR. Infatti è AMD stessa a dichiarare sia meglio attivare FSR al posto di RSR quando il primo è disponibile, in quanto lavora meglio potendo accedere direttamente al motore grafico del gioco.
Adrenalin, inoltre, permette di attivare e disattivare tutte queste funzioni singolarmente sul gioco, quindi avrete modo di poter personalizzare l’esperienza caso per caso (quindi se su un titolo noterete che AFMF non va bene, potrete disattivarlo dalla scheda del gioco tenendolo comunque attivo in Globale, ndr). Inoltre, l’attivazione di AFMF è on-the-fly, quindi richiamando l’overlay potrete spegnerlo e accenderelo a piacimento col gioco attivo in background, con un esperienza praticamente seamless (noterete solo un piccolo scatto del display e una ripresa immediata).
Come si comporta
Ho testato il comportamento di AFMF su Starfield, CyberPunk 2077, Forza Motorsport e Forza Horizon 5. Non ho registrato video in quanto YouTube mostrerebbe comunque solo 60fps, quindi posterò degli screenshot e dei grafici e spiegherò il contesto. Il test è stato condotto in 1 minuto di gameplay casuale in mappe aperte e dati acquisiti tramite i log dei driver AMD Adrenalin (attivabili con l’hotkey CTRL+SHIFT+L). Solo per Starfield ho voluto verificare come si comportava la combo FSR + AFMF anche in una mappa al chiuso.
Questa è la build usata durante i test:
- CPU: AMD Ryzen 5 7600X
- Dissipatore: Deepcool AG500 BK ARGB
- Scheda Madre: Gigabyte B650 GAMING X AX
- Ram: Corsair Vengeance RGB 32 GB (2 x 16 GB) DDR5-6000 CL30
- Storage: Western Digital Black SN850X 1 TB M.2-2280 PCIe 4.0 X4 NVME
- GPU: Sapphire PULSE Radeon RX 6700XT 12 GB
- Case: Deepcool CH560
- Alimentatore: MSI MPG A850GF 850W
Negli screenshot viene mostrata anche la latenza aggiunta dai frame generati, il frame-time e il 99-esimo percentile, oltre allo stutter medio e sostenuto.
Starfield
(Settaggi grafici usati per Starfield – Clicca per zoomare)
Non è stato possibile testare l’RSR su Starfield in quanto, di default, il gioco lavora non in Full Screen completo, quindi non si attivava. Su reddit è presente una guida per poterlo abilitare, quindi siete liberi di testarlo a vostro piacimento 👍
CyberPunk 2077
(Settaggi grafici usati per CyberPunk 2077 – Clicca per zoomare)
Forza Motorsport
(Settaggi grafici usati per Forza Motorsport – Clicca per zoomare)
Forza Horizon 5
(Settaggi grafici usati per Forza Horizon 5 – Clicca per zoomare)
Cose da sapere
“Ok Nando, io l’ho attivato, ma vedo sempre gli stessi numeretti in alto nei miei grafici!”. Fermi tutti. Una cosa importante da sapere è che i frame generati da AFMF non vengono ancora rilevati dai programmi classici. Quindi non ci riuscirete né con CapFrameX, né con MSI AfterBurner e RivaTuner, né con Fraps. Nada.
L’unico, per ora, in grado di rilevare i frame generati è l’overlay interno ai driver AMD Adrenalin. Per attivare l’overlay possiamo usare la hotkey principale ALT+R per evocare Adrenalin durante il gioco. Poi dalle Metriche, sotto la voce Prestazioni possiamo attivare l’overlay attivandolo dalla voce Sovrapposizione, o dalle relative Impostazioni. Possiamo, inoltre, usare anche l’hotkey diretta per l’In-Game Overlay usando la combinazione CTLR+SHIFT+O. Tra l’altro, tutte le combinazioni sono personalizzabili, come spiegato da questo articolo di AMD.
Considerazioni finali
Come abbiamo avuto modo di vedere, nel caso di giochi molto tranquilli per la RX 6700XT, come Forza Horizon 5, l’aggiunta di AFMF aumenta di molto gli FPS medi senza andare a creare micro-stuttering fastidiosi, anzi. Diverso è il caso di Starfield, che soffre un po’ di più.
I risultati peggiori si sono avuti in Starfield senza l’ausilio di FSR e con il solo AFMF attivato, ma con quei settings era dura, oggettivamente, per l’RX 6700XT, e conferma quanto detto da AMD: se non si hanno almeno 60FPS di base molto stabili, non è possibile rispettare le aspettative di raddoppio degli FPS.
I settings usati sono quelli che, per la build usata nel test, rendono meglio sotto l’aspetto del frame rate base con FSR unito ad AFMF, quindi sono frutto di molte prove, e si avvicinano molto ad un preset High/Ultra, il che non è male considerando che la risoluzione target è sempre stata il 2560x1440px.
Essendo giochi con FSR integrato, ho voluto testare tutte le combinazioni, provandolo a disattivare per far entrare in gioco anche l’RSR. L’ho settato impostando la risoluzione appena inferire nel gioco testato. Quindi, avendo una risoluzione di sistema a 1440p, il gioco è stato impostato a 1080p, in modo che l’RSR lavori per targhettare il 1440p scalando verso l’alto l’immagine base.
I risultati migliori si hanno sicuramente con FSR attivo, in quanto usa anche i dati interni del motore di gioco, ma anche l’RSR si è comportato bene, specialmente in Forza Horizon 5, dove ho praticamente giocato con una fluidità molto alta. Ho avuto modo di vedere che l’effetto nitidezza di default preimpostata al 75% dell’RSR creava un alone un po’ troppo marcato sui bordi delle figure, quindi abbassandolo al 50% ho raggiunto quello che, per me, rappresentava un buon compromesso per la qualità dell’immagine. Questo, però, è un dato molto soggettivo e dipende anche dallo schermo e dalla risoluzione in uso.
Cosa posso dire? Specialmente in Starfield, qualche artefatto qua e là l’ho notato, ad esempio, durante le corse in movimento in mappe aperte con vegetazione, la quale mi è sembrata avere delle incorrettezze sui bordi, oltre ad una disattivazione temporanea di AFMF che si è presentata nelle fasi più concitate di combattimento con gli NPC e nei cambi di visuale repentini (come anche in CyberPunk 2077).
Anche il micro-stuttering è presente, specie quando di base si fa fatica a raggiungere i 60fps, e ciò non dona un buon frame-pacing, il che risulta in un’esperienza di gioco poco fluida. In questi casi, senza la condizione di base da poter rispettare, conviene non usarlo, o usarlo solo insieme alle tecniche di upscaling interne al titolo. Nelle mappe al chiuso, nessun problema.
In Forza Horizon 5 e Forza Motorsport, invece, i frame generati non sono sembrati artefatti, piuttosto la fluidità è risultata davvero aumentata donando un’esperienza generale migliorata, anche in termini di stutter base, che con AFMF si è addirittura azzerato.
È la prima implementazione ufficiale di AFMF e, personalmente, nonostante abbia usato una scheda della serie RX 6000, la mancanza dell’AntiLag+ non è stata significativa, visto l’uso di giochi in single player. La somma delle latenze dovute ai frame generati ha superato i 50ms solo in Starfield e CyberPunk 2077, assestandosì, però, specie negli altri titoli, a valori mai oltre i 25ms (e questo valore tiene conto anche del frametime base).
L’esperienza d’uso è abbastanza immediata e, globalmente, accettabile a livello visivo, perché effettivamente c’è un incremento di frame rate e fluidità a schermo nei casi migliori, intervallato da impuntamenti solo nei titoli più pesanti del lotto testato. Infatti, in Forza Motorsport abbiamo un incremento dell’fps medio del 66% a parità di stutter (inalterato), mentre in Forza Horizon 5 del 73%!
Personalmente la trovo una buona tech. Il fatto di farla lavorare direttamente a livello driver democratizza molto il suo obiettivo e, per ora, salvo futuri accordi di ottimizzazione con i vari player videoludici, necessita solo di un po’ di tweaking nei setting per avere una base iniziale solida sul quale applicare tutti i layer di frame boosting. La trovo inoltre comoda su titoli che non implementano tecniche di upscaling e frame gen, come quelli un po’ più vecchi, e su dispositivi portatili come gli handheld basati su GPU AMD, come ROG Ally e Legion GO.
Per Assemblo l’AFMF è promossa, ma con delle riserve sulla qualità dei frame generati e sul frame pacing non sempre stabile su titoli pesanti, dove è preferibile usare le tech integrate nei motori grafici dei titoli stessi. Ad ogni modo, se questo è il primo assaggio del futuro, ben venga.
Vi aspetto nei commenti per qualsiasi info, dubbio e chiarimento. LLAP 🖖