Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
GAMEPERF05-BP02 Sposta le attività di calcolo in flussi di lavoro asincroni non-latency-sensitive
Quando ottimizzi le prestazioni del gioco, è importante tenere presente che solo alcune delle interazioni tra il client e il backend del gioco devono essere eseguite in modo sincrono. Dovresti considerare ogni funzionalità dal punto di vista dell'esperienza del giocatore e determinare se determinate interazioni richiedono comunicazioni sincrone, che sono bloccanti e richiedono molte risorse, o se tali funzionalità possono essere implementate in modo asincrono. Quando implementate le chiamate di rete, utilizzate un approccio asincrono e non bloccante. Inoltre, il backend di gioco dovrebbe essere configurato per eseguire il lavoro in modo efficiente, scaricando le attività in coda e dando priorità alle risposte rapide ai client, ove possibile.
Livello di rischio associato se questa best practice non fosse adottata: elevato
Guida all’implementazione
Ad esempio, l'aggiornamento di una classifica al termine di una sessione di gioco può essere implementato in modo asincrono in modo asincrono in modo che il client non debba attendere il completamento dell'aggiornamento della classifica. Implementalo invece in modo asincrono sul client di gioco e valuta la possibilità di progettare il tuo servizio di backend per inserire questo tipo di operazioni in coda, come Amazon SQS. Con questa architettura, configura il backend in modo che accetti la richiesta, inseriscilo in SQS per archiviare in modo duraturo i messaggi per l'elaborazione asincrona e rispondi tempestivamente al client. Una volta completato l'aggiornamento della classifica, il backend può inviare un aggiornamento al client di gioco in modo che la visualizzazione della classifica da parte del giocatore venga aggiornata.
In alternativa, il giocatore può semplicemente visitare la schermata della classifica del gioco per recuperare i dati più recenti, che può inviare una richiesta web al backend per recuperare i dati più recenti dalla cache.
Passaggi dell’implementazione
-
Determina se le interazioni client-backend richiedono una comunicazione sincrona; implementa approcci asincroni e non bloccanti, ove possibile, per ottimizzare l'utilizzo delle risorse.
-
Usa Amazon SQS per ridurre il carico di attività non critiche come gli aggiornamenti della classifica.
-
Consenti al client di recuperare i dati aggiornati in modo asincrono, ad esempio recuperando i dati più recenti della classifica su richiesta o tramite aggiornamenti in background.