Fortnite

Aggiornamento sulle prestazioni della Battaglia reale di Fortnite

30.10.2017
Le prestazioni sono molto importanti: anche se una delle nostre massime priorità è quella di migliorarle sempre di più, purtroppo rispetto ad alcune situazioni abbiamo fatto dei piccoli passi indietro, e in generale non abbiamo raggiunto il livello al quale puntiamo ad arrivare sul lungo periodo.

Ecco elencate di seguito le conseguenze dei problemi di prestazione per i giocatori:

Client
  • Framerate basso -> latenza in ingresso aumentata, delta tra i frame elevato
  • Latenza di visualizzazione -> latenza in ingresso aumentata
  • Rallentamenti (frametime eccessivamente elevato) -> schermo bloccato, seguito da avanzamento veloce
  • Framerate intermittente -> rende difficile la mira

Server
  • Velocità di aggiornamento connessione/framerate giocatore bassi -> aumento del ping
  • Rallentamenti (frametime eccessivamente elevato) -> Rubber banding

Rete
  • Perdita di pacchetti -> Rubber banding
  • Saturazione banda di connessione -> Rubber banding
  • Ping elevato -> Rubber banding
  • Packet Bursting (in particolare su WiFi) -> Rubber banding

Per Rubber banding intendiamo quei momenti in cui il client e il server non sono allineati: si creano situazioni spiacevoli quali movimenti goffi dei giocatori, interazioni strane con le porte ecc.

I risvolti del Rubber banding possono essere tantissimi, come pure le sue cause profonde. Può darsi che i nostri server vengano rallentati da problemi di codice, che altri server in esecuzione sulla stessa macchina abbiano un impatto negativo (i soliti problemi di vicinato, insomma) o che il sistema operativo/hardware dell'host provochi riduzioni delle prestazioni non bloccanti.

La tua connessione ai nostri datacenter è influenzata innanzitutto dalla posizione dei nostri datacenter e dal tuo ping nei suoi confronti, ma anche dalla variazione casuale del ping dovuta al diverso instradamento dei pacchetti. Può darsi, inoltre, che il fatto di utilizzare la connessione WiFi aumenti le probabilità di avere una latenza e una perdita di pacchetti più consistenti.


Ecco quello che possiamo fare (e che facciamo) noi per tenere sotto controllo la situazione:
  • Monitorare la prestazione del client per diverse classi di HW GPU divise per risoluzione e impostazioni grafiche, in modo da comprendere l'influenza delle nostre modifiche.
  • Monitorare i rallentamenti del client e pesare i dati ottenuti in base all'influenza degli stessi sull'esperienza del giocatore.
  • Monitorare i pacchetti di rete (e il tempo che intercorre tra l'uno e l'altro) inviati dal client al server e dal server al client.
  • Monitorare la prestazione del server e il numero di frame mancanti: come obiettivo iniziale, ci siamo fissati il congruo livello di 20 Hz.
  • Monitorare la prestazione aggregata dei server per macchina virtuale, al fine di identificare le macchine dalle prestazioni peggiori ed escluderle. 
  • Monitorare il ping e la perdita di pacchetti per regione e ISP, in modo da essere pronti a segnalare eventuali anomalie.
  • Monitorare le situazioni che determinano la creazione di circoli viziosi, tra cui la limitazione dell'ampiezza di banda e la perdita di pacchetti, che ci costringe a inviare più traffico... il che peggiora ulteriormente le cose.


Ecco invece quello che dobbiamo fare sul piano dello sviluppo:
  • Migliorare le prestazioni sui PC con requisiti minimi (Nvidia GTX 460, Radeon HD 5570, Intel HD 4000). Di recente, abbiamo purtroppo fatto dei passi indietro a questo proposito, ma la patch 1.8 punta a invertire la tendenza, e non intendiamo fermarci qui.
  • Risolvere i problemi delle GPU su PC e continuare a collaborare con i fornitori di schede grafiche (per esempio, NVIDIA, AMD e Intel) per migliorare le prestazioni e la stabilità.
  • Migliorare la latenza in ingresso sulle console. Sono già stati fatti dei passi avanti grazie alla versione 1.8: facci sapere cosa ne pensi!
  • Continuare a impegnarci per migliorare le prestazioni su console. Stiamo monitorando la percentuale di VSYNC mancate e vogliamo raggiungere una percentuale inferiore al 2% di frame che (per poco) non ce l'hanno fatta.
  • Ridurre i rallentamenti durante le partite (per "rallentamento" intendiamo un frame che rimane sullo schermo per oltre 60 ms, determinando quindi l'omissione di un intero frame). Il nostro obiettivo è scendere al di sotto della soglia di un frame saltato al minuto e puntiamo a eliminare completamente i rallentamenti superiori a 100 ms.
  • Risolvere i rallentamenti residui sui server dedicati. Per esempio, se molti giocatori entrano in gioco a partita iniziata ciò può determinare un problema per i giocatori presenti fin dall'inizio.
  • Ottimizzare le prestazioni dei server relative ad azioni comuni quali subire danni.
  • Identificare le fonti di rallentamenti limitate alla prima ora successiva alla pubblicazione di un aggiornamento.
  • Ottimizzare il nostro codice di server e di rete per consentire l'invio dello stato del giocatore a tutte e 100 le connessioni per frame. Per ora stiamo aggiornando 25 connessioni per frame nella lobby e 50 per frame in partita. Ciò significa che la tua esperienza di gioco non è al livello a cui vorremmo che fosse se vi sono 50 o più giocatori rimasti. Questo è un cambiamento epocale che vorremmo che andasse in parallelo con altre ottimizzazioni.
  • Migliorare la gestione dei casi limite che possono innescare circoli viziosi.
  • Migliorare il nostro sistema di matchmaking per instradare in modo funzionale il traffico verso i datacenter all'interno di una regione in base alla posizione. In pratica, vogliamo riuscire a ottimizzare il ping senza impedirti di giocare con i tuoi amici!
  • Assumere persone capaci ed estremamente motivate a risolvere problemi tecnici.


Ecco ciò che puoi verificare e potenzialmente risolvere tu stesso:

Verifica che i driver della tua scheda grafica siano aggiornati e, in caso contrario, aggiornali alla versione più recente.

Attualmente i nostri server operano nei datacenter AWS di tutto il mondo: visita http://www.cloudping.info/ per scoprire rapidamente qual è il tuo ping nei loro confronti.
  • NA - Virginia & Ohio, (USA) 
  • EU - Francoforte & Londra (UE)
  • OCE - Sydney (Australia)
  • BR - São Paulo (Brasile)
  • ASIA - Tokyo (Giappone)

Riot Games ospita www.lagreport.com, un'ottima fonte di informazioni relative al mondo degli ISP. La loro applicabilità a Fortnite, tuttavia, non è garantita.

Se sei connesso tramite WiFi e hai la possibilità di collegarti a un cavo Ethernet, provaci: potresti ridurre la latenza, la perdita di pacchetti e il fenomeno del Packet Bursting.

Le impostazioni della tua TV possono influenzare le prestazioni: ci sono molte guide online che ti spiegano come regolare le impostazioni per ottenere la massima efficienza. Eccone una.

Se giochi su PC, puoi usare funzionalità come questa per verificare se hai processi in background di cui non eri a conoscenza e che stanno consumando le risorse di sistema.