Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
GAMEPERF05-BP02 non-latency-sensitive Transfiere las tareas informáticas a flujos de trabajo asíncronos
A la hora de optimizar el rendimiento del juego, es importante tener en cuenta que solo algunas de las interacciones entre el cliente y el backend del juego deben realizarse de forma sincrónica. Deberías considerar cada función desde el punto de vista de la experiencia del jugador y determinar si determinadas interacciones requieren comunicaciones sincrónicas, que generan bloqueos y consumen muchos recursos, o si esas funciones se pueden implementar de forma asíncrona. Cuando implementes llamadas de red, usa un enfoque asíncrono y sin bloqueo. Además, el backend del juego también debe estar configurado para funcionar de manera eficiente, descargando las tareas en colas y priorizando las respuestas rápidas a los clientes siempre que sea posible.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: alto
Guía para la implementación
Por ejemplo, la actualización de una tabla de clasificación al final de la sesión de un jugador se puede implementar de forma asíncrona para que el cliente no tenga que esperar a que se complete la actualización de la tabla de clasificación. En su lugar, impleméntelo de forma asíncrona en el cliente del juego y considere la posibilidad de diseñar su servicio de backend para incluir este tipo de operaciones en colas, como Amazon SQS. Con esta arquitectura, configura tu backend para que acepte la solicitud, ponla en cola en SQS, lo que ayuda a almacenar los mensajes de forma duradera para su procesamiento asíncrono, y responde rápidamente al cliente. Cuando se complete la actualización de la tabla de clasificación, el backend puede enviar una actualización al cliente del juego para actualizar la visión del jugador sobre la tabla de clasificación.
Como alternativa, el jugador puede simplemente visitar la pantalla de clasificación de tu juego para recuperar los datos más recientes, lo que puede enviar una solicitud web a tu backend para recuperar los datos más recientes de la memoria caché.
Pasos para la implementación
-
Determina si las interacciones entre el cliente y el backend requieren una comunicación sincrónica; implementa enfoques asíncronos y sin bloqueos siempre que sea posible para optimizar el uso de los recursos.
-
Utilice Amazon SQS para deshacerse de las tareas no críticas, como las actualizaciones de las tablas de clasificación.
-
Permita que el cliente obtenga datos actualizados de forma asíncrona, por ejemplo, recuperando los datos más recientes de la tabla de clasificación a pedido o mediante actualizaciones en segundo plano.