
Mecanismo de jogo
Os jogos normalmente têm várias etapas entre o recebimento da entrada de um usuário e a renderização do quadro resultante, como mostrado na figura 1. Dependendo do jogo, isso pode variar de poucos milissegundos a centenas. Embora a latência do mecanismo de jogo não seja diferente entre um servidor de streaming e um console XBOX, o usuário pode sentir mais o impacto quando ela é combinada com o restante da latência do stream. Otimizar a latência e a taxa de quadros do mecanismo de jogo reduz a latência que os usuários percebem no seu jogo.Servidor
Na figura 1, o restante do tempo do XBOX Streaming Server é gasto preparando o quadro para envio ao cliente. Isso ocorre principalmente durante a etapa de Captura, que obtém o quadro da GPU, e a etapa de Codificação, que dimensiona e compacta o quadro para otimizar a largura de banda da rede.Rede
Os servidores XBOX enviam vídeo aos clientes de streaming e recebem a entrada de volta pela internet. Essa conexão de rede tem latência variável com base nos fatores a seguir.- A distância física entre o dispositivo cliente e o servidor.
- A Microsoft implanta servidores em datacenters do Azure ao redor do mundo para minimizar a distância o máximo possível. Os usuários que fazem streaming do próprio console XBOX podem estar mais distantes.
- A velocidade da conexão de internet do usuário.
- O tipo de conexão de internet e o hardware do usuário.
- Por exemplo, conexões de rede sem fio de 2,4 gigahertz (GHz) geralmente têm mais latência do que conexões de 5 GHz. Alguns provedores de serviços de internet (ISP) também têm estratégias de buffer que aumentam a latência.
XGameStreamingGetStreamAddedLatency retorna o desvio padrão da latência (também conhecido como “jitter”).
Para obter mais informações sobre como simular a latência de rede do streaming, consulte Simulação de latência ao testar seu jogo.
Cliente
Quando o cliente recebe o quadro de vídeo, ele precisa decodificar o quadro e apresentá-lo por meio da própria pilha gráfica. O hardware gráfico do cliente determina quanto tempo essa decodificação leva. Além disso, a maioria dos clientes precisa aguardar um temporizadorvSync local para apresentar o próximo quadro. Em um cliente com uma tela de 60 Hertz (Hz), isso pode levar em média 8 ms.
Assim como acontece com jogos executados em um console XBOX conectado a uma TV, os clientes de streaming usam uma tela que tem sua própria latência.
A latência da tela pode variar de um monitor para jogos rápido, com apenas alguns milissegundos de latência, a uma tela de celular barata ou uma TV sem modo de jogo, que leva centenas de milissegundos. As telas nem sempre informam a latência, portanto as APIs do XBOX Game Streaming não incluem a latência da tela do cliente.
Controles e outros métodos de entrada, como o toque, também têm latência. Conexões Bluetooth® de um controle podem adicionar latência perceptível. Assim como a latência da tela, a latência de entrada não pode ser medida pelo cliente e, portanto, não é representada pelas APIs do XBOX Game Streaming.
