Over Azure Remote Rendering

Azure Remote Rendering (ARR) is een service waarmee u kwalitatief hoogwaardige, interactieve 3D-inhoud in de cloud kunt weergeven en deze in realtime kunt streamen naar apparaten, zoals HoloLens 2.

Diagram met een voorbeeld van een interactieve automotor in 3D, gerenderd in hoge kwaliteit.

Ongebonden apparaten hebben een beperkte rekenkracht voor het weergeven van complexe modellen. Voor veel toepassingen zou het echter onaanvaardbaar zijn om de visuele betrouwbaarheid te verminderen. De volgende schermopname vergelijkt het model tot in detail vergeleken met een model dat is gedecimeerd met een hulpprogramma voor het maken van inhoud:

Voorbeeldmodel

Het verkleinde model bestaat uit ongeveer 200.000 driehoeken (inclusief de gedetailleerde interne delen), vergeleken met meer dan 18.000.000 drie hoeken in het oorspronkelijke model.

Remote rendering lost dit probleem op door de rendering-workload naar geavanceerde GPU's in de cloud te verplaatsen. Met een in de Cloud gehoste grafische engine wordt de afbeelding weergegeven, gecodeerd als een videostroom en gestreamd naar het doelapparaat.

Hybride rendering

In de meeste toepassingen is het niet voldoende om alleen een complex model weer te geven. U hebt ook een aangepaste gebruikersinterface nodig om functionaliteit aan de gebruiker toe te voegen. Met Azure Remote Rendering wordt u niet gedwongen een speciaal UI-framework te gebruiken, in plaats daarvan wordt Hybrid Rendering ondersteund. Dit betekent dat u elementen op het apparaat kunt weergeven met behulp van uw voorkeursmethode, zoals MRTK.

Aan het einde van een frame combineert Azure Remote Rendering automatisch uw lokaal weergegeven inhoud met de externe afbeelding. Dit kan zelfs met de juiste occlusie.

Multi-GPU rendering

Sommige modellen zijn zelfs voor een geavanceerde GPU te complex om te worden weergegeven met interactieve framesnelheden. Vooral bij industriële visualisatie is dit een veelvoorkomend probleem. Als u nog een stapje verder wilt gaan, kan Azure Remote Rendering de workload over meerdere GPU’s verdelen. De resultaten worden samengevoegd tot één afbeelding, waardoor het proces volledig transparant is voor de gebruiker.

Architectuur op hoog niveau

Dit diagram illustreert de architectuur voor remote rendering:

Architectuur

Een volledige cyclus voor het genereren van afbeeldingen omvat de volgende stappen:

  1. Clientzijde: Frame instellen
    1. Uw code: Gebruikersinvoer wordt verwerkt, scènediagram wordt bijgewerkt
    2. ARR-code: Bijgewerkte scènediagrammen en voorspelde hoofdhouding worden naar de server verzonden
  2. Serverzijde: Remote rendering
    1. Rendering-engine verdeelt de rendering over de beschikbare GPU’s
    2. De uitvoer van meerdere GPU's wordt samengesteld tot één afbeelding
    3. Afbeelding wordt gecodeerd als videostream en teruggestuurd naar de klant
  3. Clientzijde: Voltooien
    1. Uw code: Optionele lokale inhoud (UI, markers,...) wordt weergegeven
    2. ARR-code: Bij 'Aanwezig' wordt lokaal gerenderde inhoud automatisch samengevoegd met videostream

Netwerklatentie is het belangrijkste probleem. De tijd tussen het verzenden van een aanvraag en het ontvangen van het resultaat is doorgaans te lang voor interactieve framesnelheden. Daarom kan het op elk moment zijn dat meer dan één frame wordt overgedragen.

Volgende stappen