Pixel Streaming: Unreal Engine Remote Streaming für Jedermann
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.
Passende Schulungen
Unreal Engine: (Film) Level Design für Virtual Production
Unreal Engine: Animation Grundlagen
Arbeiten mit Animationen innerhalb der Unreal Engine
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.
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.
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.
Cloud-Streaming: Einfacher wird’s nicht
Der Charme des Cloud-Streamings ist 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.
Passende Schulungen
Unreal Engine: Automotive Configurator
Überblick zu Herangehensweise und Entwicklung eines simplen Fahrzeug-Konfigurators
Unreal Engine: Blueprint Visual Scripting Aufbau
Vertiefender Aufbaukurs für die Programmierung mit Blueprint
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 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.
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.
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 in B2B-Anwendungen. Für Architekturvisualisierungen, Automobilkonfiguratoren oder ähnliche Anwendungen, die unkompliziert an eine Personengruppe von vorher abgestecktem Ausmaß hardwareunabhängig bereitgestellt werden muss, 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 Entertainment. Im B2B-Bereich und unter Einrechnung der möglichen Nutzerzahlen und Nutzungsdauer lassen sich die entstehenden Kosten aber in einem vertretbaren Rahmen halten, vor allem 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 seit rund zwei Jahren als Experiment jedem UE4-Entwickler zur Verfügung. Mit der Veröffentlichung der Unreal Engine 4.27 im Sommer 2021 stuft Epic Games die Technologie als “produktionsreif” ein.
Kontakt
„*“ zeigt erforderliche Felder an