> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Información general de la resolución personalizada

> Usa XGameStreamingSetResolution para hacer coincidir la salida de XBOX Game Streaming con las relaciones de aspecto de teléfonos, tabletas y otros clientes en lugar de 16:9.

XBOX Game Streaming te ofrece la posibilidad de personalizar la resolución de tus juegos según la resolución de salida de dispositivos distintos del televisor, como teléfonos, tabletas y otros dispositivos. Esto ayuda a proporcionar una experiencia más completa en todos los dispositivos. [XGameStreamingGetDisplayDetails](/reference/system/xgamestreaming/functions/xgamestreaminggetdisplaydetails) y [XGameStreamingSetResolution](/reference/system/xgamestreaming/functions/xgamestreamingsetresolution) se introdujeron para permitirte cambiar la transmisión de la relación de aspecto 16:9 de XBOX a una relación de aspecto que coincida con muchos dispositivos diferentes, como teléfonos, tabletas, etc.

Por ejemplo, la imagen siguiente ilustra cómo se renderiza un juego de XBOX en una pantalla de TV normal de 16:9 frente a una tableta o un teléfono en modo vertical en el entorno de transmisión sin ningún cambio.

<img src="https://mintcdn.com/microsoft-4404708b/sIrPFR_ir_sNKVEv/images/gdk/features/common/Letterbox_4_3Tablet.jpg?fit=max&auto=format&n=sIrPFR_ir_sNKVEv&q=85&s=00e601ab2323aec3acd775323b1620eb" alt="El logotipo de XBOX en una tableta horizontal, con barras negras arriba y abajo" width="1130" height="850" data-path="images/gdk/features/common/Letterbox_4_3Tablet.jpg" />

<img src="https://mintcdn.com/microsoft-4404708b/sIrPFR_ir_sNKVEv/images/gdk/features/common/Letterbox_4_3Tablet_portrait.jpg?fit=max&auto=format&n=sIrPFR_ir_sNKVEv&q=85&s=a84b5ea56442935ce6af972ee9b6bcab" alt="El logotipo de XBOX en una tableta vertical con barras negras arriba y abajo" width="712" height="940" data-path="images/gdk/features/common/Letterbox_4_3Tablet_portrait.jpg" />

**Figura 1. Renderizado del juego en distintos dispositivos sin `XGameStreamingGetDisplayDetails` y `XGameStreamingSetResolution`**

Por otro lado, la imagen siguiente ilustra cómo se renderiza el mismo juego en distintos dispositivos usando las API anteriores para establecer la relación de aspecto en 4:3. Observa cómo desaparecen los espacios al renderizar en la tableta.

<img src="https://mintcdn.com/microsoft-4404708b/sIrPFR_ir_sNKVEv/images/gdk/features/common/4_3Tablet_withCustomRes.jpg?fit=max&auto=format&n=sIrPFR_ir_sNKVEv&q=85&s=a98a6638a2d9649d82f2eb9a02e561c4" alt="El logotipo de XBOX llenando la pantalla de una tableta horizontal" width="1317" height="1000" data-path="images/gdk/features/common/4_3Tablet_withCustomRes.jpg" />

<img src="https://mintcdn.com/microsoft-4404708b/sIrPFR_ir_sNKVEv/images/gdk/features/common/16_9TV.jpg?fit=max&auto=format&n=sIrPFR_ir_sNKVEv&q=85&s=9cf9ad60e2e168f8f2864afe8f7f0b30" alt="El logotipo de XBOX llenando la pantalla de un televisor 16:9" width="1590" height="931" data-path="images/gdk/features/common/16_9TV.jpg" />

**Figura 2. Renderizado del juego en distintos dispositivos con `XGameStreamingGetDisplayDetails` y `XGameStreamingSetResolution`**

`XGameStreamingGetDisplayDetails` devuelve los detalles de pantalla del cliente especificado. Esto puede usarse para tomar decisiones fundamentadas, como en qué relaciones de aspecto personalizadas renderizar o qué resolución usar para habilitar [DirectCapture](/build/core-features/common/game-streaming/game-streaming-directcapture-overview). DirectCapture se creó para minimizar la latencia del servidor cuando el título presenta un fotograma compatible, lo que elimina aproximadamente de 16 a 72 milisegundos de latencia. Esta reducción de latencia es diferente para cada juego porque depende de la salida de renderizado del juego.

`XGameStreamingSetResolution` debe usarse una vez que el título haya decidido una resolución. Esta API establecerá la resolución de la transmisión.

Las API exponen los requisitos de DirectCapture y la resolución preferida del cliente para que distintos títulos puedan adoptarlos.
<Note>Deben respetarse los requisitos mínimos y máximos, así como el resto de las reglas de DirectCapture.</Note>

Ten en cuenta que, aunque estas API existirán en las consolas domésticas, solo permitirán usar resoluciones estándar para mantener la compatibilidad con los televisores (lo que en la práctica las convierte en operaciones sin efecto).

## Cómo usar correctamente las API

1. **Conectar una transmisión**

Si no has transmitido tu juego antes, sigue las instrucciones que se indican aquí: [Requisitos previos de las pruebas de Game Streaming](/build/core-features/common/game-streaming/game-streaming-stream-your-game)

1. **Obtener los detalles de la pantalla**

   Para obtener los detalles de la pantalla, los juegos pueden llamar a `XGameStreamingGetDisplayDetails`, que devolverá los detalles de pantalla del cliente especificado.

2. **Elegir una resolución**

   Esto depende del juego. Hay varias opciones, como

   a. Usar `preferredWidth`/`preferredHeight` como la mejor coincidencia.

   b. Usar `XGameStreamingDisplayDetails` para encontrar la coincidencia más cercana a una resolución dentro de un conjunto preconfigurado de resoluciones probadas.

   c. Activar el selector de resolución de la versión para PC del juego para permitir que el jugador elija la resolución. Considera limitarlo a resoluciones dentro de los límites de `maxWidth`, `maxHeight` y `maxPixels`.

3. **Establecer la resolución de la transmisión**

   Llama a `XGameStreamingSetResolution` para cambiar la resolución de la transmisión a tu nueva resolución de renderizado. Es mejor llamarla en respuesta a una acción del usuario, como el inicio de la transmisión, el cambio de tamaño, la acción de girar el dispositivo, etc.

   Ten en cuenta que esta resolución no tiene que coincidir con preferredWidth/preferredHeight. Si no coincide, la transmisión puede escalarse para ajustarse a la pantalla, añadiendo bandas horizontales o verticales para rellenar el espacio restante.

   > \[!NOTE]
   > Es importante tener en cuenta que establecer la resolución de la transmisión lleva tiempo, usa recursos limitados y tiene efectos visibles para el jugador, por lo que esta API solo debe llamarse en contadas ocasiones; por ejemplo, cuando un cliente nuevo se conecta o cambia su resolución preferida.

   Llamar a `XGameStreamingSetResolution` más de una vez cada 200 ms provocará un breve estiramiento. Esta API NO es segura en tiempo real.

4. **Comenzar a renderizar**

   Renderizar resoluciones personalizadas debería ser igual que renderizar otras resoluciones: establece el tamaño de la ventana y configura el búfer de reserva con la nueva resolución.

Si quieres probarlo, sigue nuestros ejemplos [aquí](https://github.com/microsoft/Xbox-GDK-Samples/tree/main/Samples/xCloud/CustomResolution).

## Consulte también

[Procedimientos recomendados para la resolución personalizada](/build/core-features/common/game-streaming/game-streaming-custom-resolution-best-practices)

[Pruebas con resolución personalizada (tema con NDA)](/build/core-features/common/game-streaming/game-streaming-testing-custom-resolution)
