Acerca de Azure Remote Rendering

Azure Remote Rendering (ARR) es un servicio que permite representar contenido 3D interactivo de alta calidad en la nube y transmitirlo en tiempo real a los dispositivos, como HoloLens 2.

Diagrama que muestra un ejemplo de un motor de automóvil 3D interactivo de alta calidad.

Los dispositivos desconectados tienen una potencia de cálculo limitada para la representación de modelos complejos. Sin embargo, en muchas aplicaciones, sería inaceptable reducir la fidelidad visual de algún modo. En la captura de pantalla siguiente se compara el modelo con todos los detalles con un modelo que se ha simplificado mediante una herramienta de creación de contenido común:

Modelo de ejemplo

El modelo reducido consta de aproximadamente 200 000 triángulos (incluidos los elementos interiores detallados), frente a los más de 18 millones de triángulos del modelo original.

Para resolver este problema, Remote Rendering traslada la carga de trabajo de representación a las GPU de perfil alto en la nube. Un motor de gráficos hospedado en la nube representa la imagen, la codifica como una secuencia de vídeo y la transmite al dispositivo de destino.

Representación híbrida

En la mayoría de las aplicaciones, no basta con representar solo un modelo complejo. También se necesita una interfaz de usuario personalizada para proporcionar funcionalidad al usuario. Azure Remote Rendering no obliga a usar un marco de interfaz de usuario dedicado, sino que admite representación híbrida. Esto significa que puede representar elementos en el dispositivo con el método que prefiera, como MRTK.

Al final de un marco, Azure Remote Rendering combina automáticamente el contenido representado localmente con la imagen remota. Incluso puede hacerlo con la oclusión correcta.

Representación de varias GPU

Algunos modelos son demasiado complejos como para representarlos a velocidades de fotogramas interactivas, incluso con una GPU de perfil alto. Este es un problema común, en especial en la visualización industrial. Para aumentar el límite aún más, Azure Remote Rendering puede distribuir la carga de trabajo a varias GPU. Los resultados se combinan en una sola imagen, lo que hace que el proceso sea completamente transparente para el usuario.

Arquitectura de alto nivel

En este diagrama se ilustra la arquitectura de representación remota:

Architecture

Un ciclo completo de generación de imágenes consta de los siguientes pasos:

  1. Lado cliente: Configuración de fotogramas
    1. El código: se procesa la entrada del usuario, se actualiza el gráfico de escena.
    2. Código ARR: el gráfico de escena se actualiza y la posición de la cabeza prevista se envía al servidor.
  2. Lado servidor: Representación remota
    1. El motor de representación distribuye la representación entre las GPU disponibles.
    2. La salida de varias GPU consta de una sola imagen.
    3. La imagen se codifica como secuencia de vídeo y se devuelve al cliente.
  3. Lado cliente: Finalización
    1. El código: se representa el contenido local opcional (interfaz de usuario, marcadores, etc.)
    2. Código ARR: al "presentarlo", el contenido representado localmente se combina automáticamente con la secuencia de vídeo

La latencia de red es el problema principal. El tiempo de respuesta entre el envío de una solicitud y la recepción del resultado suele ser demasiado largo para las velocidades de fotogramas interactivas. Por lo tanto, puede haber más de un fotograma en tránsito en cualquier momento.

Pasos siguientes