

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.


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. 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.
Deben respetarse los requisitos mínimos y máximos, así como el resto de las reglas de DirectCapture.
Cómo usar correctamente las API
- Conectar una transmisión
-
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. -
Elegir una resolución
Esto depende del juego. Hay varias opciones, como
a. Usar
preferredWidth/preferredHeightcomo la mejor coincidencia. b. UsarXGameStreamingDisplayDetailspara 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 demaxWidth,maxHeightymaxPixels. -
Establecer la resolución de la transmisión
Llama a
XGameStreamingSetResolutionpara 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 aXGameStreamingSetResolutionmás de una vez cada 200 ms provocará un breve estiramiento. Esta API NO es segura en tiempo real. - 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.
