- Handheld Compatibility (https://aka.ms/hhcompatguide). Guías, herramientas y ejemplos para crear excelentes experiencias de juego en dispositivos portátiles, táctiles y centrados en el mando.
- Handheld Performance (https://aka.ms/hhperfguide). Esta serie se centra en pasos sencillos que los desarrolladores pueden seguir para que los juegos en dispositivos móviles funcionen durante más tiempo y más rápido.
Optimización de la configuración del juego
¿Por qué importa la configuración del juego?
Como se menciona en la introducción de la serie (https://aka.ms/hhperfintro), la configuración del juego es la primera de varias formas en que los desarrolladores pueden controlar cómo los juegos se ejecutan de manera más eficiente en dispositivos alimentados por batería. Cuando los jugadores ven un juego de XBOX en PC en la tienda, la página de detalles del producto (PDP) muestra una recomendación de nuestra característica Performance Fit que indica si su dispositivo puede reproducir ese juego a 30 FPS o más usando la configuración de juego más común (normalmente la predeterminada). Figura 1: ejemplo de página de detalles del producto (PDP) de la tienda de XBOX en PC. El rectángulo resaltado (en amarillo) muestra dónde se imprimen las recomendaciones de Performance Fit. El objetivo es habilitar configuraciones predeterminadas del juego en los dispositivos portátiles de juego con Windows que sean fáciles de definir para los desarrolladores a fin de permitir una excelente primera experiencia del jugador:- Sí, ¡es un PC! Al igual que los portátiles de juego con Windows, los dispositivos portátiles de juego son PC portátiles. Incluyen pantallas táctiles y pueden funcionar con batería con varios estados de energía para equilibrar el rendimiento y el tiempo de funcionamiento.
- No, ¡no es solo un PC! A diferencia de los portátiles de juego con Windows, se espera que los PC de juego portátiles reproduzcan juegos durante horas con la energía de la batería y necesitan configuraciones de juego inteligentes que ayuden a lograrlo. Los PC portátiles pueden no tener teclado ni mouse. Requieren compatibilidad con el mando en todas las capas de la interfaz de usuario, desde la experiencia de XBOX en PC hasta la interacción con los iniciadores de juegos y cada aviso que pueda aparecer mientras se juega. Los juegos también se benefician enormemente de tener compatibilidad táctil nativa para la comodidad y accesibilidad de los jugadores.
¿Cuáles son las recomendaciones clave para la configuración del juego?
A continuación se muestra un resumen de las conclusiones importantes y las secciones de este artículo:- Escale su juego para que funcione bien en dispositivos portátiles de juego con Windows. Esto significa que los desarrolladores prueban y crean configuraciones específicamente para un dispositivo alimentado por batería. Estas configuraciones deben reducir la escala del juego para prolongar la duración de la batería, pero no a expensas de la jugabilidad o del estilo artístico general. Deben probar estas configuraciones en dispositivos representativos del mercado (por ejemplo, los dispositivos portátiles de alta eficiencia ROG XBOX Ally).
- Implemente la detección automática de hardware y la aplicación de la configuración del juego. Algunos juegos ya tienen esto hoy en día. Los desarrolladores deben pensar en qué opciones están disponibles en su juego que se correspondan con las capacidades del hardware para crear valores predeterminados inteligentes.
- Deje que el ROG XBOX Ally y el ROG XBOX Ally X sean sus primeras guías. Estos dispositivos son los primeros dispositivos portátiles de juego con Windows que incluyen las optimizaciones de configuración a las que se hace referencia en esta serie, implementadas por XBOX + ASUS.
Directriz | Implemente la detección automática de hardware y la aplicación de la configuración del juego
Proporcionamos un ejemplo nativo en C++ (https://aka.ms/hhexpsample) y un ejemplo administrado en C# para Unity (https://aka.ms/hhexpsample_unity). Estos ejemplos facilitan que los desarrolladores copien y peguen el código de detección en sus propios juegos. Estos fragmentos de código pueden usarse para obtener información sobre las capacidades de los componentes de hardware de un dispositivo. Los desarrolladores pueden entonces usar estas capacidades para ayudar a crear valores predeterminados razonables para su juego que se escalen en una gama de dispositivos. Usando el ROG XBOX Ally y el ROG XBOX Ally X como ejemplos, estos son los valores devueltos por los fragmentos de código con un vínculo a donde se puede encontrar ese valor en el código fuente del ejemplo en C++. Consulte los elementos marcados con un asterisco (*) y detallados después de la tabla.Nota importante sobre la interfaz de usuario y los factores de escala. Ajustarse a la diferencia de resolución de pantalla a veces puede crear resultados menos deseables en cuanto a la legibilidad de la interfaz de usuario del juego, especialmente en una pantalla más pequeña. Puede encontrar orientación general para aplicaciones sobre tamaños de pantalla y puntos de interrupción, que puede ser útil para sus diseñadores de juegos, aquí: /windows/apps/design/layout/screen-sizes-and-breakpoints-for-responsive-design.
- ”*” = la asignación de VRAM es seleccionable por el usuario. Estos son los valores predeterminados y no están garantizados; son solo ejemplos para usar en los cálculos de generación de perfiles de referencia.
- ”**” = la resolución predeterminada recomendada para este dispositivo es 720p. Los desarrolladores deben probar su configuración para determinar qué funciona bien para su juego y establecerla en consecuencia. Además, algunas configuraciones por juego pueden invalidar la resolución de pantalla anunciada al juego, para mejorar la eficiencia en los casos en que las pruebas hayan demostrado que este juego se ejecuta por debajo de 30 FPS a resoluciones más altas, pero el jugador puede invalidar esto.
- ”***” = para los juegos de DirectX, la recomendación existente es usar QueryVideoMemoryInfo para determinar dinámicamente el presupuesto del juego para la memoria de vídeo. El método (GlobalMemoryStatusEx) usado en el ejemplo GetMemoryInfo.cpp es una solución adicional en caso de que sea valioso conocer otras dimensiones de cómo su juego usa la memoria.
Directriz | Cree configuraciones estáticas del juego
Las configuraciones estáticas del juego solo consideran la configuración de hardware en un único estado de energía, cuando el estado se comprobó por última vez. La creación de una configuración estática del juego comienza con el objetivo de una métrica objetiva, como la velocidad de fotogramas.Expectativa del jugador El juego entiende lo que necesita para funcionar bien y, de forma predeterminada, se instala con la mejor configuración para proporcionar un rendimiento mínimo de 1080p30 (p. ej., ROG XBOX Ally X) o 720p30 (ROG XBOX Ally). Pasos de pruebaResultado esperado Creará o capturará al menos [2] configuraciones del juego que funcionen igual de bien para mantener velocidades de fotogramas estables tanto para la clase de alto rendimiento de dispositivos portátiles de juego con Windows (p. ej., ROG XBOX Ally X) como para la clase de alta eficiencia (p. ej., ROG XBOX Ally).
- Pruebe con batería. Instale e inicie el juego en una unidad portátil desenchufada con la batería llena con su configuración predeterminada.
- Supervise el rendimiento con medidores de FPS tanto al inicio como después de que los recursos se hayan cargado y la E/S se haya estabilizado. Acceda al medidor de fotogramas por segundo (FPS) de la Windows Game Bar presionando Windows + G, o ejecute PresentMon (para obtener más información, consulte el proyecto de GitHub) para registrar y hacer un seguimiento de los FPS en tiempo real.
- Céntrese en la configuración de FPS mínimos frente a FPS promedio. Ajuste la configuración hasta que los FPS se ejecuten de forma constante a un mínimo de 1080p30 (p. ej., ROG XBOX Ally X o hardware equivalente) o 720p30 (p. ej., ROG XBOX Ally o hardware equivalente).
- Cree una biblioteca de configuraciones del juego tanto para configuraciones de hardware de alto rendimiento como eficientes. Guarde estas configuraciones para futuras pruebas en diferentes dispositivos a fin de confirmar la configuración ideal para diferentes SKU de hardware (p. ej., ROG XBOX Ally frente a ROG XBOX Ally X).
Directriz | Cree configuraciones dinámicas del juego
Las configuraciones dinámicas del juego son más granulares que las estáticas. Se corresponden con al menos dos estados de energía (enchufado o con batería) y, en el mejor de los casos, pueden responder a los eventos de cambio del modo de energía mientras el juego se está ejecutando.Expectativa del jugador Especialmente en los dispositivos portátiles de juego con Windows, cuando alterno entre estar enchufado o con batería, espero que mi juego equilibre lo mejor posible tanto el rendimiento como la duración de la batería. El juego entiende lo que necesita para funcionar bien y, de forma predeterminada, se instala con la mejor configuración para proporcionar un rendimiento mínimo de 1080p30 (p. ej., ROG XBOX Ally X) o 720p30 (ROG XBOX Ally) Pasos de pruebaResultado esperado Creará o capturará hasta [4] configuraciones del juego que se aplicarán al iniciar el juego o al recibir la notificación de que el modo de energía ha cambiado. Estas configuraciones del juego se corresponden con las clases de alto rendimiento y alta eficiencia de los dispositivos portátiles de juego con Windows, pero también con los estados enchufado y con batería de cada uno de estos dispositivos cuando cambian de batería con frecuencia.
- Pruebe con batería. Instale e inicie el juego en una unidad portátil desenchufada con la batería llena con su configuración predeterminada.
- Supervise el rendimiento con medidores de FPS tanto al inicio como después de que los recursos se hayan cargado y la E/S se haya estabilizado. Acceda al medidor de fotogramas por segundo (FPS) de la Windows Game Bar presionando Windows + G o ejecute PresentMon para registrar y hacer un seguimiento de los FPS en tiempo real.
- Céntrese en la configuración de FPS mínimos frente a FPS promedio. Ajuste la configuración hasta que los FPS se ejecuten de forma constante a un mínimo de 1080p30 (p. ej., ROG XBOX Ally X o hardware equivalente) o 720p30 (p. ej., ROG XBOX Ally o hardware equivalente).
- Cree una biblioteca de configuraciones del juego tanto para configuraciones de hardware de alto rendimiento como eficientes. Guarde estas configuraciones para futuras pruebas en diferentes dispositivos a fin de confirmar la configuración ideal para diferentes SKU de hardware (p. ej., ROG XBOX Ally frente a ROG XBOX Ally X).
- Implemente un método de detección. Consulte la sección de detección de valores preestablecidos dinámicos de este artículo.
Directriz | Detecte el estado de energía del hardware
- Dinámico (recomendado): si un título se registra para recibir cambios de combinación o perfil de energía mediante la API RegisterPowerSettingNotificiation con cualquiera de los GUID de configuración de energía conocidos, también se envían más mensajes WM_POWERBROADCAST con el valor WPARAM establecido en PBT_POWERSETTINGCHANGE junto con detalles adicionales en el valor LPARAM. Por ejemplo, registrarse para GUID_POWERSCHEME_PERSONALITY notifica si el sistema cambia, por ejemplo, de Equilibrado a Alto rendimiento. Usar GUID_ACTIVE_POWERSCHEME notifica si se produce cualquier cambio de perfil de energía. Usar GUID_ENERGY_SAVER_STATUS notifica si el dispositivo entra en modo de ahorro de batería/energía.
- Estático: el dispositivo puede consultarse manualmente como se muestra en los ejemplos para determinar fácilmente si el dispositivo está enchufado o funcionando con batería.
Soporte | ¿A dónde acudo si tengo preguntas o inquietudes sobre la optimización de la configuración de mi juego para PC de juego portátiles?
Más allá del siguiente resumen de recursos, los desarrolladores de un programa para desarrolladores de XBOX como ID@XBOX pueden conectar con nosotros en los foros (https://forums.xboxlive.com – se requiere iniciar sesión con una cuenta con NDA activo). Todos los desarrolladores también pueden conectar con nosotros en el servidor de Discord de Microsoft Game Dev (https://discord.gg/msftgamedev).- Centro de desarrollo para dispositivos portátiles de Microsoft Game Dev: https://developer.microsoft.com/games/resources/handheld-development/
- Ejemplos de código para dispositivos portátiles de juego con Windows de Microsoft:https://developer.microsoft.com/games/articles/2025/07/windows-gaming-handheld-code-samples/
- Discord de Microsoft Game Dev: https://discord.gg/msftgamedev
- Foros para desarrolladores con NDA de Microsoft: https://forums.xboxlive.com (use la etiqueta “handheld” para dirigir su solicitud a nuestros expertos en la materia)
