3D

Pixel Streaming: Unreal Engine Remote Streaming für jedermann

Pixel Streaming: Unreal Engine Remote Streaming für jedermann

von Robin Hasenbach, Unreal Engine Instructor für Epic Games

Echtzeitgrafik-Streaming aus der Cloud erobert mit Diensten wie Google Stadia oder Nvidia GeForce Now weiter den Markt. Nun veröffentlicht Epic Games mit Pixel Streaming ein universelles Remote Rendering für die Unreal Engine, das Entwickler unkompliziert in ihre Anwendungen integrieren können.

Mit der Remote-Streaming-Technologie Pixel Streaming können mit der Unreal Engine 4 entwickelte Anwendungen innerhalb eines lokalen Netzwerks, über ein VPN oder direkt im Internet von einem leistungsstarken Cloud-Computer auf ein beliebiges Endgerät als interaktiver Videostream übertragen werden. Die Nutzereingaben werden dabei zu der verbundenen Anwendung zurück übertragen.

___STEADY_PAYWALL___

Dieser Datenaustausch läuft mit einer möglichst niedrigen Latenz ab, die unter anderem von der Netzwerkverbindung abhängt. Die Leistungsfähigkeit des Endgeräts spielt keine Rolle, lediglich eine stabile Netzwerkverbindung zum Streaming-PC und ein Webbrowser sind Voraussetzung.

Die Cloud schickt Unreal-Daten an das Endgerät des Nutzers, das Endgerät des Nutzers antwortet mit den Nutzereingaben. Der ganze Prozess muss blitzschnell mit möglichst geringer Latenz ablaufen. | Bild: Epic Games

Ein Cloud-Rechner schickt Unreal-Daten an das Endgerät des Nutzers, das Endgerät des Nutzers antwortet mit den Nutzereingaben. Der ganze Prozess muss blitzschnell mit möglichst geringer Latenz ablaufen. | Bild: Epic Games

Dazu ist es möglich, dass die Anwendung auf einer Cloud in Instanzen gestartet werden kann, um dynamisch mit der Anzahl der anfragenden Nutzer zu skalieren. Cloud-Anbieter wie Amazon AWS und Microsoft Azure bieten unter anderem dafür vorgesehene Dienste an, welche nach laufenden Instanzstunden abgerechnet werden.

Abhängig von der benötigten Leistungsfähigkeit können so einfache grafische Anwendungen für ein paar Cent pro Instanzstunde bis hin zu High-End-Grafik Anwendungen mit Features wie Realtime Raytracing oder Nvidia DLSS für mehrere Euro pro Instanzstunde bereitgestellt werden.

Instanzstunden werden vom Cloud-Anbieter akkumuliert nach begonnenen Instanzstunden abgerechnet. Sollte ein Nutzer beispielsweise zehn Minuten in der Anwendung verbringen, die Verbindung trennen und sich danach ein weiterer Nutzer verbinden, wird auf die bereits verbuchten zehn Minuten draufgerechnet.

Allerdings könnten ohne eine einstellbare Begrenzung zeitgleich mehrere tausend Nutzer auf Cloud-Instanzen der Anwendung zugreifen, wodurch für jeden Nutzer die Nutzungszeit auf die Gesamtrechnung addiert wird. Das lässt die Cloud-Streaming-Kosten schnell steigen.

Pixel-Streaming ist an zahlreiche Endgeräte möglich, die sich wiederum mit mehreren Instanzen in der Cloud verbinden. | Bild: Epic Games

Pixel-Streaming ist an zahlreiche Endgeräte möglich, die sich wiederum mit mehreren Instanzen in der Cloud verbinden. | Bild: Epic Games

Cloud-Streaming: Einfacher wird’s nicht

Der Charme des Cloud-Streamings ist die einfache Nutzung: Der Endanwender muss sich nicht mehr darum kümmern, dass er lokal vor Ort halbwegs aktuelle Hard- und Software im Einsatz hat. Sein persönliches Endgerät spielt kaum noch eine Rolle. Er kann sich mit jeder gängigen Plattform wie dem Smartphone, Tablet oder Desktop-PC zu einer Cloud-Instanz verbinden.

Auch eine Installation oder der App-Download sind nicht mehr nötig: Für die Verbindung reicht ein einfacher Link zu einer Webadresse, die mit dem Webbrowser geöffnet wird. Dieser lässt sich beispielsweise via E-Mail teilen.

Aus Sicherheitsaspekten bietet Remote Streaming ebenfalls Vorteile: Da die Daten der Echtzeitgrafik-Anwendung nicht geteilt werden, sondern lediglich ein Videostream empfangen wird, ist ein Datamining der Anwendung oder die Weitergabe der Anwendung an Unbefugte sehr schwierig. Sollte ein Endanwender nicht länger für den Zugriff berechtigt sein, wird sein Link vom zuständigen Administrator ungültig gemacht.

Auch Updates einer Anwendung sind einfacher, da sie nur auf dem Cloud-Rechner vorgenommen werden müssen. Der Anwender hat bei der nächsten Browser-Verbindung automatisch Zugriff auf die neueste Version mit allen Änderungen.

logo
  • checkMIXED.de ohne Werbebanner
  • checkZugriff auf mehr als 9.000 Artikel
  • checkKündigung jederzeit online möglich
ab 3,50 € / Monat
logo

Sollten sich zeitgleich mehrere Endanwender mit der gleichen Anwendung verbinden, wird einer der Anwender als "Host" definiert. Der Host lädt seine Eingaben hoch, während jeder weitere Nutzer lediglich das Bild empfängt, selbst aber keine Eingaben machen kann.

Für Präsentationen eignet sich dieser Modus besonders gut: Durch die Übertragung zusätzlicher Daten wie Gamepad-Eingaben, Mikrofon-Audio oder Webcam-Stream könnten zukünftig ganze Präsentationsumgebungen über die Cloud laufen.

Unreal Pixel-Streaming erleichtert die Entwicklung

Pixel Streaming erleichtert die Entwicklung: Entwickler müssen nicht mehr für eine Vielzahl unterschiedlicher Geräte optimieren, da die Anwendung auf einer zuvor definierbaren Umgebung in der Cloud läuft und für die Hardware des Cloud-Computers optimiert werden kann.

Pixel Streaming läuft seitens des Streamers unter Windows (DirectX 11/12, Vulkan) oder Linux (Vulkan) PC-Umgebungen. Langwierige Optimierungsprozesse für leistungsschwache Mobile-Plattformen und verschiedene Betriebssysteme sind damit passé, was Entwicklungsprozesse deutlich erleichtert, die grafische Qualität trotz niedriger Hardwareleistung verbessert und allgemein für eine stabilere Anwendung sorgt.

Pixel Streaming lässt sich für Entwickler innerhalb weniger Minuten in ein bestehendes, auf einer aktuellen Unreal Engine Version basierendes Windows- oder Linux-Projekt integrieren und im lokalen Netzwerk testen. Das Ausrollen der Anwendung auf eine Cloud Infrastruktur ist mit mehr Aufwand verbunden.

Cloud-Streaming für VR und AR - eine Option?

Aktuell funktioniert Pixel Streaming noch nicht mit einer VR- oder AR-Brille oder generell für XR-Apps. Epic Games hat aber bereits bei mehreren Anlässen großes Interesse an dieser Möglichkeit durchscheinen lassen. Erst in der Ende 2020 erschienenen Unreal Engine 4.26 wurde dem Pixel-Streaming-Modul Unterstützung für besonders hohe Auflösungen und Bildwiederholraten implementiert.

Epic Games sieht aktuell den wichtigsten Einsatzbereich für Pixel-Streaming bei B2B-Anwendungen. Für Architekturvisualisierungen, Automobilkonfiguratoren oder ähnliche Anwendungen, die unkompliziert an eine Personengruppe von vorher abgestecktem Ausmaß hardwareunabhängig bereitgestellt werden müssen, ist Remote-Streaming ein großer Fortschritt.

Durch die hohen Bereitstellungskosten der Streaming-Instanzen bei den Cloud-Anbietern eignet sich Pixel Streaming allerdings noch nicht fürs Gaming oder Unterhaltung. Im B2B-Bereich und unter Einrechnung der möglichen Nutzerzahlen und Nutzungsdauer lassen sich die entstehenden Kosten aber in einem vertretbaren Rahmen halten, insbesondere dann, wenn man die eingesparten Kosten durch die kürzere Entwicklungszeit berücksichtigt.

Da Epic Games wegen schlechter Grafik, Stabilitäts- und Kompatibilitätsproblemen und zugunsten weiterer High-End-Features ihrer Engine vor knapp zwei Jahren die Unterstützung für den Export von Unreal Engine 4 Projekten als HTML5 Web-Anwendung offiziell eingestellt hat, ist Pixel Streaming aktuell die einzige Möglichkeit, eine Unreal-Engine-Anwendung über den Webbrowser zu verteilen.

Pixel Streaming steht jedem UE4-Entwickler seit rund zwei Jahren als Experiment zur Verfügung. Mit der Veröffentlichung der Unreal Engine 4.27 im Sommer 2021 stuft Epic Games die Technologie als "produktionsreif" ein. Eine Demo ist hier verfügbar.