

XGameStreamingGetDisplayDetails e XGameStreamingSetResolution
Por outro lado, a próxima imagem ilustra como o mesmo jogo é renderizado em diferentes dispositivos usando as APIs acima para definir a proporção como 4:3. Observe como os espaços desaparecem na renderização no tablet.


XGameStreamingGetDisplayDetails e XGameStreamingSetResolution
XGameStreamingGetDisplayDetails retorna os detalhes da tela do cliente especificado. Isso pode ser usado para tomar decisões fundamentadas, como em quais proporções personalizadas renderizar ou qual resolução usar para habilitar o DirectCapture. O DirectCapture foi criado para minimizar a latência do servidor quando o título apresenta um quadro compatível, eliminando aproximadamente de 16 a 72 milissegundos de latência. Essa redução de latência é diferente para cada jogo, pois depende da saída de renderização do jogo.
XGameStreamingSetResolution deve ser usada assim que o título tiver decidido uma resolução. Essa API definirá a resolução do stream.
As APIs expõem os requisitos do DirectCapture e a resolução preferencial do cliente para que diferentes títulos possam adotá-los.
Os requisitos mínimos/máximos, bem como as outras regras do DirectCapture, precisam ser seguidos.
Como usar as APIs corretamente
- Conecte um stream
-
Obtenha os detalhes da tela
Para obter os detalhes da tela, os jogos podem chamar
XGameStreamingGetDisplayDetails, que retornará os detalhes da tela do cliente especificado. -
Escolha uma resolução
Isso depende do jogo. Há várias opções, como
a. Usar
preferredWidth/preferredHeightcomo a melhor correspondência. b. UsarXGameStreamingDisplayDetailspara encontrar a correspondência mais próxima de uma resolução em um conjunto pré-configurado de resoluções testadas. c. Ativar o seletor de resolução da versão para PC do jogo para permitir que o jogador escolha a resolução. Considere limitar as opções a resoluções dentro dos limites demaxWidth,maxHeightemaxPixels. -
Defina a resolução do stream
Chame
XGameStreamingSetResolutionpara alterar a resolução do streaming para a nova resolução de renderização. O ideal é chamá-la em resposta a ações do usuário, como o início do stream, o redimensionamento, a rotação do dispositivo etc. Observe que essa resolução não precisa corresponder a preferredWidth/preferredHeight. Se não corresponder, o stream poderá ser dimensionado para caber na tela, com barras horizontais ou verticais adicionadas para preencher o espaço restante.[!NOTE] É importante observar que definir a resolução do stream leva tempo, usa recursos limitados e tem efeitos visíveis para o jogador; portanto, essa API deve ser chamada raramente, por exemplo, quando um novo cliente se conecta ou altera sua resolução preferencial.
ChamarXGameStreamingSetResolutionmais de uma vez a cada 200 ms causará um breve estiramento. Essa API NÃO é segura para tempo real. - Comece a renderizar A renderização de resoluções personalizadas deve ser igual à renderização de outras resoluções: defina o tamanho da janela e configure o buffer de fundo com a nova resolução.
