Acerca do Azure Remote Rendering

O Azure Remote Rendering (ARR) é um serviço que lhe permite compor conteúdo 3D interativo e de alta qualidade na cloud e transmiti-lo em fluxo em tempo real para dispositivos, como o HoloLens 2.

Diagrama que mostra um exemplo de motor de automóvel 3D interativo e de alta qualidade composto.

Os dispositivos sem limites têm poder computacional limitado para compor modelos complexos. No entanto, para muitas aplicações seria inaceitável reduzir a fidelidade visual de qualquer forma. A captura de ecrã seguinte compara o modelo em detalhe com um modelo que foi dizimado com uma ferramenta de criação de conteúdo comum:

Modelo de exemplo

O modelo reduzido consiste em aproximadamente 200.000 triângulos (incluindo as partes interiores detalhadas), em comparação com mais de 18 milhões de triângulos no modelo original.

Remote Rendering resolve este problema ao mover a carga de trabalho de composição para GPUs de gama alta na cloud. Um motor gráfico alojado na cloud compõe a imagem, codifica-a como uma transmissão de vídeo e transmite-a para o dispositivo de destino.

Composição híbrida

Na maioria das aplicações, não é suficiente compor apenas um modelo complexo. Também precisa da IU personalizada para fornecer funcionalidades ao utilizador. O Azure Remote Rendering não o obriga a utilizar uma arquitetura de IU dedicada. Em vez disso, suporta a Composição Híbrida. Isto significa que pode compor elementos no dispositivo com o seu método preferido, como o MRTK.

No final de uma moldura, o Azure Remote Rendering, em seguida, combina automaticamente o conteúdo composto localmente com a imagem remota. Até consegue fazê-lo com oclusão correta.

Composição multi-GPU

Alguns modelos são demasiado complexos para serem compostos a taxas de fotogramas interativas, mesmo para uma GPU de alta qualidade. Especialmente na visualização industrial, este é um problema comum. Para aumentar ainda mais os limites, o Azure Remote Rendering pode distribuir a carga de trabalho por várias GPUs. Os resultados são intercalados numa única imagem, tornando o processo totalmente transparente para o utilizador.

Arquitetura geral

Este diagrama ilustra a arquitetura de composição remota:

Arquitetura

Um ciclo completo para a geração de imagens envolve os seguintes passos:

  1. Lado do cliente: configuração da moldura
    1. O seu código: a entrada do utilizador é processada, o gráfico de cenas é atualizado
    2. Código ARR: as atualizações do gráfico de cenas e a pose de cabeça prevista são enviadas para o servidor
  2. Lado do servidor: Composição remota
    1. O motor de composição distribui a composição pelas GPUs disponíveis
    2. O resultado de várias GPUs é composto numa única imagem
    3. A imagem é codificada como transmissão de vídeo, enviada de volta para o cliente
  3. Lado do cliente: Finalização
    1. O seu código: o conteúdo local opcional (IU, marcadores, ...) é composto
    2. Código ARR: no "presente", o conteúdo composto localmente é intercalado automaticamente com a transmissão em fluxo de vídeo

A latência de rede é o principal problema. O tempo de viragem entre o envio de um pedido e a receção do resultado é normalmente demasiado longo para taxas de fotogramas interativas. Portanto, mais do que um fotograma pode estar em voo em qualquer altura.

Passos seguintes