> ## 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.

# Visão geral da resolução personalizada

> Use XGameStreamingSetResolution para fazer a saída do XBOX Game Streaming corresponder às proporções de telefones, tablets e outros clientes, em vez de 16:9.

O XBOX Game Streaming oferece a capacidade de personalizar a resolução dos seus jogos com base na resolução de saída de dispositivos além da TV, como telefones, tablets e outros dispositivos. Isso ajuda a oferecer uma experiência mais rica em todos os dispositivos. [XGameStreamingGetDisplayDetails](/pt-BR/reference/system/xgamestreaming/functions/xgamestreaminggetdisplaydetails) e [XGameStreamingSetResolution](/pt-BR/reference/system/xgamestreaming/functions/xgamestreamingsetresolution) foram introduzidas para permitir que você mude seu stream da proporção 16:9 do XBOX para uma proporção que corresponda a muitos dispositivos diferentes, como telefones, tablets etc.

Por exemplo, a imagem abaixo ilustra como um jogo XBOX é renderizado em uma tela de TV 16:9 comum em comparação com um tablet ou telefone no modo retrato no ambiente de streaming, sem nenhuma alteração.

<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="O logotipo do XBOX em um tablet no modo paisagem, com barras pretas na parte superior e inferior" 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="O logotipo do XBOX em um tablet no modo retrato, com barras pretas na parte superior e inferior" width="712" height="940" data-path="images/gdk/features/common/Letterbox_4_3Tablet_portrait.jpg" />

**Figura 1. Renderização do jogo em diferentes dispositivos sem `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.

<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="O logotipo do XBOX preenchendo a tela de um tablet no modo paisagem" 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="O logotipo do XBOX preenchendo a tela de uma TV 16:9" width="1590" height="931" data-path="images/gdk/features/common/16_9TV.jpg" />

**Figura 2. Renderização do jogo em diferentes dispositivos com `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](/pt-BR/build/core-features/common/game-streaming/game-streaming-directcapture-overview). 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.
<Note>Os requisitos mínimos/máximos, bem como as outras regras do DirectCapture, precisam ser seguidos.</Note>

Leve em consideração que, embora essas APIs existam nos consoles domésticos, elas só permitirão o uso de resoluções padrão para manter a compatibilidade com TVs (o que, na prática, faz com que não tenham efeito).

## Como usar as APIs corretamente

1. **Conecte um stream**

Se você nunca fez streaming do seu jogo, siga as instruções aqui: [Pré-requisitos de teste de game streaming](/pt-BR/build/core-features/common/game-streaming/game-streaming-stream-your-game)

1. **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.

2. **Escolha uma resolução**

   Isso depende do jogo. Há várias opções, como

   a. Usar `preferredWidth`/`preferredHeight` como a melhor correspondência.

   b. Usar `XGameStreamingDisplayDetails` para 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 de `maxWidth`, `maxHeight` e `maxPixels`.

3. **Defina a resolução do stream**

   Chame `XGameStreamingSetResolution` para 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.

   Chamar `XGameStreamingSetResolution` mais de uma vez a cada 200 ms causará um breve estiramento. Essa API NÃO é segura para tempo real.

4. **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.

Se quiser experimentar, siga nossos exemplos [aqui](https://github.com/microsoft/Xbox-GDK-Samples/tree/main/Samples/xCloud/CustomResolution).

## Consulte também

[Práticas recomendadas para resolução personalizada](/pt-BR/build/core-features/common/game-streaming/game-streaming-custom-resolution-best-practices)

[Testando com resolução personalizada (tópico sob NDA)](/pt-BR/build/core-features/common/game-streaming/game-streaming-testing-custom-resolution)


## Related topics

- [Visão geral de Godot e engines da comunidade](/pt-BR/paths/community-engines/overview.md)
- [Visão geral da API C do Services - PFLocalization.h](/pt-BR/services/playfab/api-references/c/pflocalization/pflocalization_members.md)
- [Visão geral da API C do Services - PFStatistics.h](/pt-BR/services/playfab/api-references/c/pfstatistics/pfstatistics_members.md)
- [Visão geral da API C do Services - PFLeaderboards.h](/pt-BR/services/playfab/api-references/c/pfleaderboards/pfleaderboards_members.md)
- [Visão geral da API C do Services - PFPlatformSpecific.h](/pt-BR/services/playfab/api-references/c/pfplatformspecific/pfplatformspecific_members.md)
