Presentiamo NVIDIA Reflex: una suite di tecnologie per ottimizzare e misurare la latenza nei giochi competitivi

Di Seth Schneider il 1 settembre 2020 | In primo piano FramesWinGames GPU GeForce RTX Guide NVIDIA Reflex

Oggi, il 73% dei giocatori GeForce utilizza giochi multiplayer competitivi o eSport. L'eSport più visto, League of Legends, ha attirato oltre 100 spettatori per il suo campionato 2019: più dello Superbowl NFL dello scorso anno. Con gli eSport in competizione con gli sport tradizionali sia in audience sia in playtime, è più importante che mai per i giocatori avere il proprio PC e hardware grafico messo a punto per poter giocare al meglio. Per questo motivo diversi anni fa NVIDIA ha investito in un laboratorio eSport composto da scienziati NVIDIA Research dedicati alla comprensione delle prestazioni del giocatore e dell'hardware in eSport. Oggi siamo entusiasti di condividere con voi i primi grandi frutti di questa ricerca.

Accanto alla nuova GPU GeForce RTX serie 30, stiamo svelando NVIDIA Reflex, una suite rivoluzionaria di GPU, display G-SYNC e tecnologie software che misurano e riducono la latenza di sistema nei giochi competitivi (detta anche latenza click-to-display). Ridurre la latenza del sistema è fondamentale per i giocatori più competitivi, perché permette al PC e al display di rispondere più velocemente agli input del mouse e della tastiera di un utente, permettendo di acquisire i nemici più velocemente e sparare con maggiore precisione.

 

NVIDIA Reflex include due nuove tecnologie importanti:

NVIDIA Reflex SDK: un nuovo set di API per gli sviluppatori di giochi per ridurre e misurare la latenza di rendering. Integrandosi direttamente nel gioco, la Modalità Reflex a Bassa Latenza allinea il lavoro del motore di gioco al completamento del just-in-time per il rendering, eliminando la coda di rendering della GPU e riducendo la contropressione della CPU. Questo fornisce riduzioni di latenza al di sopra e al di là delle tecniche esistenti basate esclusivamente sul driver, come NVIDIA Ultra Low Latency Mode.

La Modalità Reflex a Bassa Latenza arriverà presto nei migliori giochi competitivi, tra cui Apex Legends, Call of Duty: Black Ops Cold War, Call of Duty: Modern Warfare - Warzone, Destiny 2, Fortnite e Valorant, e offrirà miglioramenti della latenza negli scenari di gioco ad alto sfruttamento di GPU su schede grafiche NVIDIA GeForce GTX 900 e superiori.

NVIDIA Reflex Latency Analyzer: uno strumento rivoluzionario di misurazione della latenza del sistema integrato nei nuovi display 360Hz G-SYNC eSport da Acer, ASUS, MSI e Dell e supportato dalle migliori periferiche di eSport di ASUS, Logitech e Razer.

Reflex Latency Analyzer rileva i clic provenienti dal mouse e misura il tempo necessario per i pixel risultanti (ad esempio, il flash alla bocca della pistola) da modificare sullo schermo. Questo tipo di misurazione è stato virtualmente impossibile per i giocatori prima d'ora, poiché avrebbe richiesto oltre $7000 in macchine fotografiche e attrezzature ad alta velocità specializzate.

 

Mentre in passato i giocatori dovevano indovinare la reattività del sistema in base a metriche di throughput come frame al secondo (FPS), l'analizzatore di latenza reflex offre un’interpretazione molto più completa e precisa delle prestazioni del mouse, del PC e del display. Ora, grazie al Reflex Latency Analyzer, i giocatori competitivi possono iniziare una partita con fiducia, sapendo che il loro sistema risponde esattamente come dovrebbe.

 

In questo articolo, ci accingiamo ad approfondire in dettaglio la latenza del sistema e la tecnologia NVIDIA Reflex: allacciate le cinture!

Che cos'è in realtà la latenza?

La latenza è una misura del tempo che descrive il ritardo tra un'azione desiderata e il risultato atteso. Quando utilizziamo una carta di credito per pagare qualcosa online o presso il negozio di alimentari, il ritardo necessario per la conferma del nostro acquisto è latenza.

I giocatori sperimentano principalmente due tipi di latenza: latenza di sistema e latenza della rete.

La latenza della rete è il ritardo di andata e ritorno tra il client di gioco e il server multiplayer, più comunemente noto come "ping".

 

Questo ritardo può influenzare il nostro gameplay in modi diversi a seconda di come il codice di rete del gioco gestisce la latenza della rete. Di seguito sono riportati alcuni esempi:

  • Conferme ritardate di colpo messo a segno, come quando si spara, ma non si riceve la conferma dell’uccisione fino a poco più tardi. Questo può comportare spreco di munizioni o un ritardo nel movimento per puntare all’obiettivo successivo. 
  • Interazioni ritardate con oggetti del mondo, come aprire porte o casse del bottino.
  • Posizioni ritardate degli avversari, che si traduce in quello che è noto come "vantaggio del guardone” (peeker’s advantage) (ulteriori informazioni più avanti)
 

Si noti che la latenza della rete non corrisponde ai problemi di instabilità della rete, ad esempio la perdita di pacchetti e pacchetti danneggiati. L'instabilità della rete può causare problemi come rubberbanding e desync. Rubberbanding è quando ti sposti nel gioco, solo per essere riportato alla posizione da pochi secondi prima. Come un elastico, ti ritrovi in modo flessibile nella tua posizione com’è vista dal server. Desync è quando si verifica una perdita di pacchetti, con conseguente balbuzie di rete. Questo farà sembrare i nemici in pausa per un secondo e poi teletrasportati in avanti nella loro posizione corretta. Entrambi questi problemi comuni non sono problemi di latenza della rete, ma in genere si verificano quando il pacchetto deve compiere un viaggio in più e quindi sono correlati con una latenza superiore.

Latenza del sistema è il ritardo tra le azioni del mouse o della tastiera e le modifiche dei pixel risultanti sul display, come il flash dalla bocca di una pistola o il movimento di un personaggio. Questa operazione viene definita anche come click-to-display o latenza del sistema end-to-end. Questa latenza non coinvolge il server di gioco, solo le periferiche, il PC e il display.

 

Questo ritardo impatta il gameplay in diversi modi. Ecco alcuni esempi:

  • Reattività ritardata, come quando muovi il mouse, ma il tuo obiettivo sullo schermo è in ritardo. 
  • Spari in ritardo, come quando si spara, ma i segni dei fori delle pallottole, le tracce delle pallottole e la ricarica dell’arma sono in ritardo rispetto al reale clic del mouse. 
  • Posizioni in ritardo degli avversari, noto come “il vantaggio del peeker” (peeker’s advantage). (Sì, il “vantaggio del peeker” è influenzato anche dalla latenza del sistema!)
 

A un livello elevato, ci sono tre fasi principali della latenza del sistema: la periferica (ad esempio un mouse), il PC e il display. Sfortunatamente, questo tipo di latenza è stato difficile da descrivere a causa dell'uso del termine "latenza di input" o "ritardo dell'input" per descrivere diversi elementi della latenza del sistema.

Ad esempio, è possibile trovare "latenza di input" sulla confezione di un mouse per indicare quanto tempo impiega il mouse per elaborare il clic. La stessa scritta si può trovare sulla confezione di un monitore per indicare quanto tempo impiega il display per processare il frame. È si può trovare come informazione nei giochi e negli strumenti software, quando si parla veramente di quanto tempo il gioco impiega per elaborare i tuoi input. Se tutti questi elementi sono denominati "latenza di input", cos’è davvero?

Latenza di sistema dall’inizio alla fine

Prendiamoci il tempo di approfondire e definire alcuni termini più precisi rispetto a "ritardo di input":

  • Latenza della periferica: i tempo impiegato dal dispositivo di input per elaborare l'input meccanico e inviarlo al PC
  • Latenza del gioco: il tempo necessario affinché la CPU elabori input o modifiche al mondo e invii un nuovo frame alla GPU da renderizzare
  • Latenza di rendering: il tempo che trascorre da quando il frame va in linea per il rendering a quando la GPU ne esegue il rendering completo
  • Latenza del PC: il tempo impiegato da un frame per viaggiare attraverso il PC. Include la latenza sia di gioco che di rendering
  • Latenza del display: il tempo necessario affinché il display presenti una nuova immagine dopo che la GPU ha terminato il rendering del frame
  • Latenza del sistema: comprende l'intera misura end-to-end del tempo che trascorre dall'inizio della latenza periferica alla fine della latenza della visualizzazione

Queste sono definizioni di alto livello che sorvolano su alcuni dettagli ma se ci danno comunque un’ottima base per parlare in modo efficace di latenza. Inoltre, più avanti nell’articolo approfondiremo i dettagli di ciascuna delle fasi, per cui, se ti interessa il lato più tecnico, procedi alla sezione avanzata.

Qual è la differenza tra FPS e latenza di sistema?

In generale, un FPS più elevato è correlato a una latenza di sistema inferiore, tuttavia questa relazione è molto lontana da 1 a 1. Per capire meglio, facciamo un passo indietro e pensiamo a come misurare le interazioni con il nostro PC. In primo luogo, c'è il numero di immagini che il display può presentare al secondo. Tale numero è una velocità di elaborazione denominata FPS (frame al secondo). Poi c’è il tempo necessario affinché le nostre azioni vengano riflesse in una di queste immagini, una durata chiamata latenza del sistema.

Se abbiamo un PC in grado di eseguire il rendering di 1000 FPS, ma ci vuole un secondo perché il nostro input raggiunga il display, il risultato non sarebbe soddisfacente. Se, al contrario, le nostre azioni sono istantanee ma il nostro frame rate è di 5 FPS, non sarà nemmeno questa un’esperienza piacevole.

Quindi, quale conta di più? Più di un anno fa, abbiamo deciso di rispondere a questa domanda e i risultati sono molto interessanti. Abbiamo pubblicato la nostra ricerca completa presso SIGGRAPH Asia ma, in breve, abbiamo scoperto che la latenza del sistema influisce sulla capacità dei soggetti di completare le attività di puntamento in un esercizio di puntamento molto più del tasso di frame visualizzato sul monitor. Ma perché?

Perché la latenza del sistema è importante?

Iniziamo a rispondere a questa domanda studiando gli esempi nei giochi reali:

 

Per prima cosa, diamo uno sguardo alla hit registration (registrazione di colpi a buon fine). Hit registration è un termine utilizzato dai giocatori quando si parla di come il gioco registra i propri spari su un altro giocatore. Spesso incolpiamo il registro dei colpi a buon fine quando SAPPIAMO che abbiamo colpito bersaglio. Ci siamo passati tutti. Ma è davvero colpa della hit registration?

article-fpo

In questo tipo di colpo, il pulsante del mouse è stato premuto quando il mirino era sopra il bersaglio, ma l’abbiamo ancora mancato. A causa della latenza del sistema e del movimento dell'avversario, il motore di gioco ha letto che la posizione del mirino era in realtà dietro al bersaglio. In realtà, ciò che vedi sul display è in ritardo rispetto allo stato attuale del motore di gioco. Questo semplicemente perché ci vuole un po' di tempo perché il PC elabori le informazioni, esegua il rendering del frame e lo presenti sul display. Nei giochi in cui i millisecondi contano, 30-40 ms di ritardo può significare la perdita dell’attimo vincente.

In secondo luogo, cerchiamo di approfondire il "vantaggio del peeker". A livelli elevati di gioco competitivo, in genere si tiene l’angolo quando si ha un vantaggio di estrema angolazione (quando sei più lontano dall'angolo rispetto al tuo avversario) per compensare una caratteristica dei giochi online chiamata "vantaggio del peeker".

Il vantaggio del peeker è il vantaggio di una frazione di secondo che l'aggressore ottiene quando si guarda dietro a un angolo a un giocatore che sta in un angolo. Dato che ci vuole tempo perché le informazioni di posizione del giocatore attaccante raggiungano il difensore sulla rete, il giocatore attaccante ha un vantaggio intrinseco. Per compensare questo vantaggio, i giocatori danno una sbirciata dietro l'angolo, sbucando rapidamente e nuovamente ritornando in copertura, poiché questo permetterà loro di vedere un nemico prima di essere visti, fornendo il vantaggio di una frazione di secondo. Questo fenomeno è spesso visto come una caratteristica del codice del gioco in rete o della latenza della rete. Tuttavia, la latenza del sistema può svolgere un ruolo importante nel vantaggio del peeker.

article-fpo

Come si può vedere nel tiro sopra, entrambi i giocatori erano ugualmente distanti dall'angolo e i loro ping erano gli stessi. L'unica differenza era la latenza del sistema.

Analogamente alla spiegazione della hit registration, con latenza del sistema superiore la vista del mondo è in ritardo, consentendo al bersaglio di vederti prima che tu veda lui. Se la latenza del sistema è molto inferiore rispetto al tuo avversario, in teoria potresti annullare completamente il vantaggio del guardone. In questa situazione intervengono ancora gli effetti della rete di gioco ma, in generale, una latenza di sistema inferiore aiuta a mitigare il vantaggio del guardone sulla difesa e sfruttare l'attacco.

Infine, parliamo di precisione di puntamento. In particolare, colpi rapidi. L’addestramento sui colpi rapidi è probabilmente l'allenamento più importante che puoi fare per giochi competitivi come CS: GO o Valorant. In una frazione di secondo è necessario acquisire il bersaglio, gestirlo e fare clic con una precisione incredibile che richiede una precisione di millisecondi. Ma hai mai la sensazione che, qualunque cosa tu faccia, i tuoi colpi veloci non sono coerenti?

Lower system latency increases aiming accuracy and precision

Il puntamento implica una serie di micro-movimenti / correzioni subconscie in base alla posizione corrente del mirino rispetto alla posizione dell'obiettivo. A latenze più elevate, la durata del ciclo di feedback viene aumentata risultando in una minore precisione. Inoltre, a latenze medie superiori, la latenza varia di più, il che significa che è più difficile per il tuo corpo prevedere e adattarsi. Il risultato finale è abbastanza evidente: latenza elevata significa meno precisione.

E questo ci porta ai risultati del nostro studio che abbiamo menzionato in precedenza. Nel grafico riportato di seguito, è possibile osservare come la latenza più bassa abbia avuto un impatto notevole durante la misurazione della precisione del colpo rapido.

Nei giochi competitivi, FPS e refresh rate (Hz) più alti riducono la latenza, offrendo più opportunità agli input di finire sullo schermo. Anche le piccole riduzioni della latenza hanno un impatto sulle prestazioni in movimento. Nel nostro ultimo blog di ricerca su eSport, il team di ricerca NVIDIA ha studiato i modi in cui diversi livelli di latenza del sistema influiscono sulle prestazioni del giocatore.

NVIDIA Research ha rilevato che anche piccole differenze nella latenza del sistema, 12ms vs 20ms, possono determinare una differenza significativa nelle prestazioni di puntamento. In realtà, la differenza media nel completare il compito di puntamento (il tempo necessario per acquisire un bersaglio e sparare) tra PC con 12ms e 20ms è stato misurato in 182ms, che corrisponde a circa 22 volte la differenza di latenza del sistema. Per mettere i dati in prospettiva, data la stessa difficoltà target, in un server Valorant o CS: GO da 128 tick, i tuoi spari arrivano al bersaglio con una media di 23 tick prima rispetto alla configurazione del PC a 12ms. Tuttavia, la maggior parte dei giocatori gioca sui sistemi con 50-100ms di latenza del sistema!

Quindi, questo si traduce nella possibilità reale di avere più successo nei giochi? Essere bravi con gli sparatutto competitivi comporta molto più che una semplice abilità meccanica. Un’appassionata consapevolezza di gioco ed esperienza nella strategia di battaglia possono portare risultati molto migliori. Tuttavia, guardando i nostri dati PUBG e Fortnite, vediamo una correlazione simile nel rapporto tra FPS superiore (latenza inferiore) e K/D (colpi mortali).

In nessun modo la correlazione significa nesso di causalità. Ma applicando la scienza di cui sopra a questa correlazione, otteniamo parecchie prove per sostenere l'affermazione che FPS superiore e latenza di sistema inferiore portano più frequentemente a colpi di successo, aumentando i rapporti K/D.

Riduzione della latenza di sistema con NVIDIA Reflex

Con il lancio di NVIDIA Reflex, abbiamo deciso di ottimizzare ogni aspetto della pipeline di rendering per la latenza utilizzando una combinazione di SDK e ottimizzazioni del driver. Alcune di queste tecniche possono comportare notevoli risparmi di latenza, mentre altre avranno vantaggi più modesti, a seconda della situazione. Indipendentemente da ciò, NVIDIA Reflex rappresenta il nostro impegno per offrire ai giocatori e agli sviluppatori gli strumenti per ottimizzare la latenza del sistema.

SDK NVIDIA Reflex

L’SDK per Reflex consente agli sviluppatori di giochi di implementare una modalità a bassa latenza che allinea il lavoro del motore di gioco al completamento just-in-time per il rendering, eliminando la coda di rendering della GPU e riducendo la contropressione della CPU negli scenari legati alla GPU.

Nell'immagine sopra, possiamo vedere che la coda è piena di frame. La CPU sta elaborando i frame più velocemente di quanto la GPU sia in grado di eseguire il rendering causando questo backup, con conseguente aumento della latenza di rendering. L'SDK Reflex condivide nel driver alcune similitudini con Ultra Low Latency Mode (modalità a latenza ultra bassa); tuttavia, integrando direttamente il gioco, si riesce a controllare la quantità di contropressione che la CPU riceve dalla coda di rendering e da altre fasi successive della pipeline. Con la modalità a latenza ultra bassa, il driver ha un controllo molto inferiore. Mentre la modalità a latenza ultra bassa spesso contribuisce a ridurre la coda di rendering, non è possibile rimuovere la maggiore contropressione sul lato del gioco e della CPU. Pertanto, i vantaggi di latenza dell'SDK Reflex sono generalmente molto più avanzati rispetto alla modalità a latenza ultra bassa del driver.

Integrando l'SDK Reflex gli sviluppatori sono in grado di ritardare efficacemente il campionamento dell’input e la simulazione di gioco, adeguando dinamicamente i tempi di invio del lavoro di rendering alla GPU in modo che vengano elaborati just-in-time.

Inoltre, l'SDK offre anche una funzionalità chiamata Boost a bassa latenza (Low Latency Boost). Questa funzionalità esegue l'override delle funzionalità di risparmio energetico della GPU per consentire ai clock della GPU di rimanere elevati quando è fortemente legata alla CPU. Anche quando il gioco è legato alla CPU, i tempi di rendering più lunghi aggiungono latenza. Mantenere i clock più elevati può consumare una potenza significativamente superiore, ma può ridurre leggermente la latenza quando la GPU è significativamente sottoutilizzata e la CPU invia il lavoro di rendering finale in un batch di grandi dimensioni. Se non si desidera il compromesso di alimentazione, è possibile utilizzare la modalità reflex a bassa latenza senza attivare la funzionalità Boost.

article-fpo

Gli sparatutto competitivi sono dinamici e cambiano dinamicamente avanti e indietro tra legame con GPU e CPU. Se c'è un'esplosione con un sacco di particelle e il gioco diventa legato alla GPU, l'SDK Reflex manterrà la latenza bassa evitando che il lavoro si accumuli nella coda della GPU. Se il rendering è semplice e il gioco è legato alla CPU, l’SDK Reflex manterrà la latenza bassa e alte frequenze di clock della GPU. Indipendentemente dallo stato della pipeline di rendering, l'SDK Reflex riduce in modo intelligente la latenza di rendering per la configurazione specificata. Con l'SDK Reflex, i giocatori possono rimanere nel punto giusto della latenza di rendering senza dover spostare tutte le impostazioni verso il basso.

Al momento dell'annuncio di SDK Reflex, i giochi seguenti pianificano il supporto di NVIDIA Reflex per il prossimo Game Ready Driver il 17 settembre 2020: Apex Legends, Fortnite e Valorant. Inoltre, i seguenti giochi hanno annunciato di prevedere a breve il supporto per NVIDIA Reflex: Call of Duty: Black Ops Cold War, Cuisine Royale, Destiny 2, Enlisted e Mordhau.

NVIDIA Reflex SDK supporta le GPU già sul mercato fino alla GeForce GTX serie 900 del 2014. Tuttavia, il Boost della bassa latenza sulle GPU GeForce RTX serie 30 manterrà una velocità di clock leggermente superiore per ridurre ulteriormente la latenza.

Per quelli di voi che vogliono davvero approfondire il funzionamento dell'SDK, ci occuperemo di pipeline di rendering, legame CPU/GPU e possibilità di ridurre la latenza più dettagliatamente nella sezione avanzata.

Opzioni avanzate del pannello di controllo per la latenza

Modalità a latenza ultra bassa

Se un gioco non supporta l'SDK Reflex, è comunque possibile migliorare la latenza parziale, abilitando la modalità NVIDIA Ultra Low Latency dal pannello di controllo NVIDIA. È sufficiente aprire e il pannello di controllo, selezionare Gestione impostazioni 3D, quindi Low Latency Mode e selezionare l'opzione Ultra. Come accennato in precedenza in questo articolo, ciò contribuirà a ridurre la latenza di rendering, ma senza il controllo completo della pipeline.

Se un gioco supporta la modalità a bassa latenza NVIDIA Reflex, è consigliabile utilizzare tale modalità rispetto alla latenza ultra bassa del driver. Tuttavia, se entrambe sono attivate, la modalità reflex a bassa latenza assumerà automaticamente la priorità più alta.

Reflex SDK reduces system latency beyond the Ultra Low Latency mode in 3D Settings

Preferire prestazioni massime

Il driver NVIDIA è stato a lungo fornito con un'opzione denominata "Power Management Mode". Questa opzione consente ai giocatori di scegliere come far funzionare la GPU in scenari legati a CPU. Quando la GPU è satura di lavoro, verrà sempre eseguita al massimo delle prestazioni. Tuttavia, quando la GPU non è satura di lavoro, è possibile risparmiare energia riducendo i clock della GPU e mantenendo FPS.

Analogamente alla funzionalità Boost a bassa latenza dell'SDK Reflex, la modalità Preferire prestazioni massime sostituisce le funzionalità di risparmio energetico della GPU e consente di eseguire costantemente la GPU con clock più elevati. I clock più elevati possono ridurre la latenza nelle istanze legate a CPU richiedendo in cambio un consumo energetico superiore. Questa modalità è stata progettata per i giocatori che vogliono spremere ogni ultimo microsecondo di latenza dalla pipeline, indipendentemente dalla potenza.

Con le GPU GeForce RTX serie 30, siamo in grado di impostare un valore di clock superiore rispetto a prima, permettendo alla GPU di puntare alla latenza di rendering più bassa assoluta possibile quando è legata alla CPU. Gli utenti con vecchie GPU possono comunque attivare Preferire prestazioni massime e tenere i clock a frequenze di base.

Sintonizzazione automatica in GeForce Experience

Con il rilascio di un nuovo aggiornamento di GeForce Experience in arrivo il 17 settembre è disponibile una nuova funzionalità beta nel pannello prestazioni overlay di gioco, che consente ai giocatori di ottimizzare la propria GPU per una latenza di rendering inferiore con un solo clic.

Questo sintonizzatore automatico avanzato scansiona la GPU per ottenere la massima frequenza a ogni punto della curva. Dopo aver trovato e applicato le impostazioni perfette per la GPU, riprova e conserva la sintonia nel tempo, mantenendola stabile.

Resta sintonizzato su GeForce.com per ulteriori dettagli e un tutorial su questa nuova entusiasmante funzionalità.

Misurazione della latenza di sistema con NVIDIA Reflex

Uno dei motivi principali per cui fino a oggi non si è parlato diffusamente della latenza del sistema è che è stato incredibilmente difficile misurarla accuratamente. Per misurare la latenza, il dispositivo di misurazione deve essere in grado di conoscere accuratamente i tempi di inizio e fine della misurazione.

Tradizionalmente, la misurazione della latenza del sistema veniva effettuata solo con costosi e ingombranti fotocamere ad alta velocità, apparecchiature ingegneristiche e un mouse modificato, e portava a tracciare quando veniva premuto il pulsante del mouse. Con una telecamera ad alta velocità da 1000 FPS, è possibile misurare un minimo di 1ms di latenza. Tuttavia, un setup come questo può partire da un costo di circa $7.000 USD per l'equipaggiamento minimo. Anche in questo caso, una volta che si dispone della configurazione, ci vogliono circa 3 minuti per ogni misura... praticamente un non-starter per il 99,9% dei giocatori.

Analizzatore di latenza NVIDIA Reflex

I display compatibili 360Hz G-SYNC che verranno messi sul mercato questo autunno dispongono di una nuova funzionalità: l'analizzatore di latenza NVIDIA Reflex. Questa rivoluzionaria aggiunta permette ai giocatori di misurare la reattività del sistema, permettendo loro di comprendere e perfezionare le prestazioni del PC prima di iniziare una partita.

 

Per accedere a questa funzionalità, è sufficiente collegare il mouse alla porta USB designata dell'analizzatore di latenza Reflex su un display 360Hz G-SYNC. La porta USB Reflex del display è un semplice pass-through al PC che controlla i clic del mouse senza aggiungere alcuna latenza.

L'analizzatore di latenza Reflex funziona rilevando i clic provenienti dal mouse e misurando il tempo necessario perché arrivi sul display il risultato di un cambiamento di pixel di visualizzazione (ad es. il fuoco delle armi), fornendo una misura di latenza completa del sistema.

La nuova overlay delle prestazioni di GeForce Experience riporta le metriche di latenza in tempo reale. Quando verrà rilasciata a settembre, per visualizzare le metriche di latenza, accedi alle opzioni "Overlay di prestazioni" e attiva l'impostazione "Metriche di latenza".

L'analizzatore di latenza NVIDIA Reflex fraziona la misurazione della latenza del sistema in latenza del mouse, latenza di PC + display e latenza del sistema.

Con l’analizzatore di latenza Reflex è possibile utilizzare qualsiasi mouse per visualizzare la latenza di PC + display (fatta eccezione per i mouse Bluetooth). Tuttavia, con un mouse compatibile di Logitech, Razer o ASUS, potrai anche misurare la latenza periferica e la latenza completa del sistema end-to-end.

Inoltre, verrà rilasciato un database aperto con latenze medie del mouse a cui si può fare riferimento se GeForce Experience riconosce il mouse. In futuro, la community sarà in grado di aggiungere altri mouse al database. Ulteriori informazioni in arrivo.

Al momento in cui scriviamo, ci sono tre partner che hanno annunciato il supporto del proprio mouse per l'analizzatore di latenza NVIDIA Reflex: ASUS, Logitech e Razer. Tieni d'occhio i siti Web e le pagine dei social media per non perdere gli annunci sulla compatibilità con l'analizzatore di latenza NVIDIA Reflex. Inoltre, a partire da questo autunno, cerca i display 360Hz G-SYNC di ASUS, ACER, Dell e MSI con integrata la tecnologia di analisi della latenza NVIDIA Reflex.

Metriche Software NVIDIA Reflex

Se sei ansioso di iniziare a misurare la latenza, puoi farlo prima di mettere le mani su un nuovo display 360Hz. Qualsiasi gioco che integra l'SDK NVIDIA Reflex è inoltre in grado di aggiungere alle statistiche di gioco sia la latenza di gioco sia le metriche di latenza per il rendering. Questa misura non è ancora la latenza completa che provi, ma ti serve a iniziare il percorso per l'ottimizzazione della latenza.

Inoltre, GeForce Experience ora include un overlay di prestazioni che consente di monitorare la latenza di rendering presente in qualsiasi gioco. La latenza di rendering tiene traccia della chiamata presente tramite la coda di rendering e il rendering della GPU. Poiché si tratta della chiamata finale di un frame, l'entità della latenza di rendering sarà leggermente inferiore rispetto alla latenza di rendering misurata con l’SDK NVIDIA Reflex, ma dovrebbe comunque fornire una buona idea della latenza di rendering. In un aggiornamento futuro inseriremo la latenza di rendering in GeForce Experience .

Tutto quello che devi fare è aggiornare alle ultime versioni del driver GeForce Game Ready Driver e GeForce Experience a fine mese, quando verrà rilasciata la funzionalità, selezionare il menu "Prestazioni", scegliere il set "Metriche di latenza" e attivare “Overlay di prestazioni”.

Allena la mira con latenza inferiore

Oltre agli strumenti di misurazione della latenza, abbiamo collaborato con The Meta, gli sviluppatori di KovaaK 2,0, per introdurre una nuova modalità NVIDIA Experiments in un aggiornamento client futuro, che consentirà ai giocatori di migliorare le proprie prestazioni e affinare le proprie capacità.

Puoi accedere alla modalità NVIDIA Experiments sia dal sandbox che dal trainer. Una volta che sei nella modalità NVIDIA Experiments, scegli un esperimento che ti interessa. Inoltre, abbiamo integrato NVIDIA Reflex SDK in KovaaK 2.0, oltre a poche altre tecnologie che possono aiutare i giocatori a sentire la differenza tra l'alta e bassa latenza del sistema.

Partecipare a esperimenti non solo aiuta a migliorare il tuo puntamento, ma contribuisce anche alla ricerca di eSport importanti. La nostra partnership con The Meta su KovaaK 2.0 ci permette di testare e sfatare miti nello spazio di gioco competitivo. Ad esempio, uno dei nostri primi esperimenti cerca di aggiungere una certa tecnica oltre alla preferenza nella scelta del colore di destinazione sulla base dei dibattiti che i giocatori competitivi hanno intorno ai colori del contorno dell'obiettivo in Valorant.

Altri esperimenti metteranno alla prova cose come diversi intervalli di latenza, offrendo compiti difficili da completare.

Livello successivo: latenza del sistema - modalità esperta

Va bene, apriamo il cofano e diamo un'occhiata a come tutto questo funziona al livello di dettaglio successivo. Questa sezione si occuperà del modo in cui i clic del mouse portano i pixel sullo schermo, il concetto di gioco e la pipeline di rendering, l’impatto del legame a CPU e GPU sulla latenza, la sovrapposizione all'interno della pipeline di rendering e infine alcuni strumenti per aiutare a visualizzare ciò che accade sul sistema.

Scomposizione del modo in cui le azioni vengono visualizzate sul display

Quindi, come arrivano i clic sul display? Il grafico riportato di seguito suddivide le fasi della pipeline. Tieni presente che c’è sovrapposizione tra queste fasi, è necessario inizino e terminino nell'ordine da sinistra a destra.

Ok, analizziamo ogni riquadro nella seconda riga del diagramma qui sopra. Nota che le dimensioni delle caselle non sono in scala. Inoltre, per semplicità ci concentreremo sul mouse, ma tutto quanto scritto si applica a qualsiasi periferica USB connessa al PC.

  • HW del mouse: è definito come il primo contatto elettrico quando il mouse è pronto per inviare l'evento lungo il filo. Nel mouse, ci sono alcune routine (come debounce) che aggiungono latenza alla pressione del pulsante del mouse. Tieni presente che le routine di debounce sono importanti e impediscono al mouse di fare clic quando non lo desideri. Questi scatti extra sono spesso indicati come doppi clic: vengono inviati due clic invece di uno perché la routine di debounce è troppo aggressiva. Quindi la latenza non è l'unico attributo critico delle prestazioni del mouse.
  • HW USB del mouse: dopo la fine del debounce, il mouse deve attendere il polling successivo per inviare i pacchetti lungo il filo. Il tempo necessario si riflette nell’HW USB.
  • SW USB del mouse: è il tempo necessario per il sistema operativo e il driver del mouse per gestire il pacchetto USB.
  • Campionamento: i clic entrano nel sistema operativo in base al tasso di polling del mouse e a quel punto potrebbero dover attendere l’occasione successiva per essere campionati dal gioco. Questo tempo di attesa viene chiamato latenza di campionamento. Questa latenza può crescere o ridursi in base al frame rate della CPU.
  • Simulazione: i giochi devono costantemente aggiornare lo stato del mondo. Questo aggiornamento è spesso chiamato simulazione. La simulazione include cose come l'aggiornamento delle animazioni, lo stato del gioco e le modifiche dovute all'input del giocatore. Avviene una simulazione quando gli input del mouse vengono applicati allo stato del gioco.
  • Rendering dell’invio: mentre la simulazione valuta dove collocare le cose nel frame successivo, inizierà a inviare il lavoro di rendering al runtime dell'API grafica. Il runtime a sua volta passa i comandi di rendering al driver grafico.
  • Driver grafico: il driver grafico è responsabile della comunicazione con la GPU e dell'invio di gruppi di comandi. A seconda dell'API grafica, il driver potrebbe eseguire questo raggruppamento per lo sviluppatore oppure lo sviluppatore potrebbe essere responsabile del raggruppamento del lavoro di rendering.
  • Coda di rendering: il lavoro inviato dal driver per l’esecuzione da parte della GPU entra nella coda di rendering. La coda di rendering è progettata per mantenere la GPU costantemente alimentata da un lavoro memorizzato nel buffer. Questo aiuta a massimizzare l’FPS (throughput), ma può introdurre latenza.
  • Rendering: il tempo necessario affinché la GPU esegua il rendering di tutto il lavoro associato a un singolo frame.
  • Composizione: a seconda della modalità di visualizzazione (a schermo intero, senza bordi, con finestre), il desktop Windows Manager (DWM) nel sistema operativo deve inviare un ulteriore lavoro di rendering per comporre il resto del desktop per un frame particolare. È possibile aggiungere latenza. Si consiglia di essere sempre in modalità fullscreen esclusiva per minimizzare la latenza in composizione.
  • Scansione : una volta completata la composizione, il frame buffer finale è pronto per essere visualizzato. La GPU segnala quindi che il frame buffer è pronto per la visualizzazione e modifica il frame buffer da leggere per l'analisi. Se VSYNC è acceso, questo "scambio" di frame buffer può bloccarsi perché deve attendere la VSYNC del display. Una volta pronta, la GPU alimenta il frame successivo al display, riga per riga, in base alla velocità di refresh (Hz) del display. Dato che la scansione è in funzione della velocità di refresh, la includiamo in "latenza del display".
  • Elaborazione del display: è il tempo che il display impiega per elaborare il frame in ingresso (scanlines) e iniziare la risposta in pixel.
  • Risposta in pixel: il tempo che occorre a un pixel per passare da un colore all'altro. Poiché i pixel sono veri cristalli liquidi, hanno bisogno di tempo per cambiare. I tempi di risposta dei pixel possono variare in base all'intensità della modifica richiesta e dipendono anche dalla tecnologia del pannello.

Pipeline di latenza legata a GPU

Ora che sappiamo come un clic arriva allo schermo, cerchiamo di analizzare le prestazioni. Durante l'analisi dei giochi, spesso tentiamo di caratterizzare le prestazioni come legate a GPU o CPU. Questo è estremamente utile per capire le prestazioni del sistema, ma nella realtà i giochi spesso passano da una all’altra.

Iniziamo con il caso di prestazioni legate a GPU quando VSYNC è disattivata.

In questo esempio, semplifichiamo la pipeline in 5 fasi principali: periferica, CPU, coda di rendering, GPU e display.

Cerchiamo di ispezionare il frame 4 e di capire cosa sta succedendo in ogni fase:

  • Periferica: l'input del mouse o della tastiera può partire in qualunque momento; spetta all'utente. In questo esempio, è stato fatto clic con il mouse prima che la CPU fosse pronta ad accettare l'input, pertanto l'evento di input resta in attesa. È come arrivare alla stazione dei treni e aspettare il prossimo treno.
  • CPU: la partenza della CPU (simulazione) di solito inizia dopo quello che viene chiamato termine del blocco attuale. Nel caso di prestazioni legate a GPU, la CPU esegue il proprio lavoro più velocemente, il che significa che può eseguirlo in anticipo rispetto alla GPU. Tuttavia, nella maggior parte delle API grafiche (DX11, DX12, Vulkan e così via) il numero di frame che il thread di invio per il rendering della CPU può elaborare in anticipo è limitato. Nel caso precedente, la CPU può eseguire solo due frame in più. La sezione della CPU termina quando il driver ha terminato di inviare il lavoro alla GPU. In realtà, c'è sovrapposizione con la coda di rendering, ma ci arriveremo più tardi.
  • Coda di rendering: pensala come qualsiasi altra linea o coda. Il primo a entrare in linea è il primo a uscire. Se la GPU sta lavorando sul frame precedente quando per la CPU arriva il momento di inviare più lavoro, il rendering del lavoro verrà inserito nella coda di rendering. Questa coda può essere utile per assicurarsi che la GPU sia costantemente alimentata e possa aiutare ad abbattere il frametime, tuttavia potrebbe aggiungere una notevole quantità di latenza.
  • GPU: a questo punto c’è il rendering reale del frame da parte della GPU. Nel caso di prestazioni legate a GPU, il lavoro viene effettuato in modo consecutivo in quanto la GPU è il componente che rappresenta il collo di bottiglia.
  • Display: è il caso in cui VSYNC è spento. Al termine del rendering della GPU, il nuovo buffer viene immediatamente analizzato indipendentemente dal punto in cui si trova il display nel processo di scansione. Questo provoca uno strappo, ma è spesso preferito dai giocatori perché offre la latenza minima. Restate in linea per non perdere un articolo su VSYNC e G-SYNC.

Va bene, ora che abbiamo capito come funzionano le cose, abbiamo visto che la GPU crea un collo di bottiglia, causando l’accumularsi della coda di rendering e costringendo la CPU a correre avanti. Nell'immagine qui sopra, possiamo vedere il frametime di come misuriamo FPS. In questo caso una GPU più veloce produrrebbe un frame rate superiore.

Inoltre, possiamo vedere la latenza del sistema, a partire da quando è stato fatto il primo clic del mouse a quando il display ha finito. La latenza è in genere più elevata nei casi di prestazioni legate a GPU a causa della coda di rendering e del gioco in esecuzione più avanti rispetto al blocco attuale, che genera nuovi frame che verranno ritardati nell'invio

Pipeline di latenza NVIDIA Reflex SDK

Ora, diamo un'occhiata a cosa fa NVIDIA Reflex SDK alla pipeline legata a GPU:

Come si può vedere, la coda di rendering è praticamente scomparsa. L'SDK Reflex non la disattiva, semplicemente la svuota. Ma come funziona?

In sostanza, il gioco è in grado di migliorare il ritmo della CPU in modo che non possa essere in anticipo. Inoltre, è consentito inviare il lavoro alla GPU solo nel momento in cui la GPU inizia a funzionare senza alcuna lacuna nella sua pipeline di lavoro. Inoltre, avviando il lavoro della CPU in un secondo momento, c’è l'opportunità di campionare gli input all'ultimo millisecondo possibile, riducendo ulteriormente la latenza.

Inoltre, quando la coda di rendering viene ridotta con il metodo utilizzato dall'SDK, la latenza di gioco inizia a ridursi. Questo risparmio è dovuto alla riduzione della contropressione causata dalla coda di rendering negli scenari legati a GPU.

Per quelli di voi che hanno già ottimizzato la latenza, questo è come usare un buon limitatore di frame rate in gioco per ridurre la latenza. I limitatori di frame rate di gioco sono in grado di bloccare il gioco nei punti giusti, permettendo una minore latenza e riducendo la contropressione sulla CPU.

Tuttavia, con NVIDIA Reflex, invece di essere bloccato a un frame rate particolare, il frame rate può essere eseguito più velocemente del limite, riducendo ulteriormente la latenza. Puoi considerarlo un limitatore di frame "dinamico" che ti tiene sempre più in là della latenza.

Pipeline di latenza legata a CPU

Quando si utilizza la modalità Reflex a bassa latenza nel caso in cui sia legata alla GPU, la pipeline si comporta come se fosse legata alla CPU anche se la GPU rimane completamente satura e utilizzata. Diamo un'occhiata all’aspetto di una vera e propria pipeline legata alla CPU.

Come si può vedere in questo grafico, il frame rate è limitato dalla CPU. Poiché la CPU non può essere eseguita prima della GPU, in questo caso non è disponibile alcuna coda di rendering. In generale, il legame alla CPU è uno stato di latenza inferiore rispetto al legame alla GPU.

In questo caso, una GPU più veloce non darà alcun FPS aggiuntivo, ma ridurrà la latenza. Quando VSYNC è disattivato o quando G-SYNC è attivato, una GPU più veloce indica che l'immagine renderizzata può essere inviata al display più velocemente.

Se ti sei mai chiesto perché ridurre le impostazioni rende il gioco più reattivo, ecco perché. Riducendo le impostazioni è spesso possibile creare uno scenario legato alla CPU (eliminando la coda) e contemporaneamente ridurre il tempo di rendering della GPU, riducendo ulteriormente la latenza.

Con la modalità Reflex a bassa latenza, i giocatori non devono abbandonare per ridurre completamente le impostazioni. Dal momento che possiamo ridurre efficacemente la coda di rendering, il lavoro di rendering aggiuntivo viene aggiunto solo al tempo di rendering della GPU.

Inoltre, anche se si è legati alla CPU, la modalità Reflex a bassa latenza include anche un'impostazione Boost che disattiva le funzionalità di risparmio energetico per ridurre leggermente la latenza. Nei casi legati alla CPU in cui l'utilizzo della GPU è basso, i clock della GPU vengono mantenuti elevati per velocizzare l'elaborazione in modo che un frame possa essere consegnato al più presto possibile. In genere, questa impostazione di Boost offre un vantaggio molto modesto, ma può aiutare a spremere ogni ultimo millisecondo di latenza dalla pipeline.

Approfondimento di latenza del PC e sovrapposizione

Sei pronto a raggiungere un livello più profondo? Diamo uno sguardo a un singolo frame, ma questa volta guardando la pipeline con piena sovrapposizione.

Come si può osservare, la maggior parte della sovrapposizione avviene nel cuore della latenza del PC tra la simulazione e il completamento del rendering della GPU. Ma perché esiste?

I frame vengono resi in piccoli pezzi di lavoro chiamati drawcall. Queste chiamate vengono infine raggruppate in pacchetti di lavoro. I pacchetti di lavoro vengono quindi inviati dal driver grafico alla GPU per l’esecuzione del rendering. Questo permette a ciascuna delle fasi di iniziare l'attività prima che la fase precedente sia terminata, suddividendo il frame in pezzettini.

Mentre il lavoro procede lungo la pipeline, alla fine viene scritto nel frame buffer. Continua fino a quando il frame viene completamente renderizzato. Una volta eseguito il rendering, il buffer nascosto viene scambiato con un altro buffer disponibile nella catena di scambio e inviato alla scansione.

Questo è importante per capire quando si esaminano la latenza di rendering e la latenza del gioco. Spesso la latenza di gioco e la latenza di rendering si sovrappongono, il che significa semplicemente che l’aggiunta non produce una somma di latenza corretta.

Conclusioni

La latenza del sistema è sia la misura quantitativa dello stato del gioco che il fattore chiave che influisce la precisione di puntamento dei giocatori negli sparatutto in prima persona. NVIDIA Reflex consente a sviluppatori e giocatori di ottimizzare la latenza del sistema e, novità assoluta, offre la possibilità di misurare facilmente la latenza del sistema.

Per riassumere, NVIDIA Reflex offre una serie completa di tecnologie di latenza:

  • Tecnologie per la bassa latenza:
    • NVIDIA reflex SDK : developer SDK utilizzato per abilitare NVIDIA Reflex Low Latency per una latenza inferiore negli scenari a uso intensivo della GPU
    • Impostazioni del pannello di controllo dei driver per latenza ottimizzata: modalità avanzata "Preferire prestazioni massime" e modalità "Latenza ultra bassa"
    • Ottimizzazione delle prestazioni di GeForce Experience: sintonizzatore automatico per overclock GPU a 1 clic
  • Strumenti di misurazione della latenza:
    • Metriche NVIDIA Reflex SDK: i marcatori di latenza di gioco e rendering consentono agli sviluppatori di visualizzare le metriche di latenza nel gioco
    • Analizzatore di latenza NVIDIA Reflex : nuova funzionalità dei display 360Hz G-SYNC che permette per la prima volta la massima latenza del sistema end-to-end
    • Monitoraggio prestazioni GeForce Experience: barra laterale e overlay di gioco che visualizza le metriche delle prestazioni in tempo reale, compresa la latenza

Siamo entusiasti di portarti NVIDIA Reflex e di aiutarti a ottenere un'esperienza di gioco più reattiva. In NVIDIA, siamo estremamente focalizzati sulla riduzione della latenza e continueremo a perfezionare NVIDIA Reflex ed espandere il nostro ecosistema di partner.

Ci piacerebbe sentire i tuoi commenti! Vai al Forum della community Reflex per chattare sulla latenza o fare domande sulla piattaforma NVIDIA Reflex.

Il supporto del driver per la modalità a bassa latenza NVIDIA reflex sarà disponibile il 17 settembre al Game Ready Driver e i partner aggiungeranno il supporto di gioco ai propri titoli durante tutto l'anno. I monitor per il gaming 360Hz G-SYNC saranno resi disponibili a partire da questo autunno da ACER, ASUS, Dell e MSI.

Comments