Gamestreaming: Microsoft-Team reduziert benötigte Bandbreite

Streaming, Forschung, GameStream, Video-Game-Streaming, Duke University, Kahawai Streaming, Forschung, GameStream, Video-Game-Streaming, Duke University, Kahawai
Das Streamen von Spielen gilt schon seit Jahren als Zukunftsmarkt, wird unter anderem aber durch die verfügbare Bandbreite ausgebremst. Microsoft hat jetzt zusammen mit einem Forschungsteam die Anforderungen an die Internetleitung drastisch reduziert.

Kahawai soll beim Stream-Problem helfen

Eigentlich klingt die Idee sehr verlockend: Statt teure Hardware kaufen zu müssen, sollen Nutzer dank Game-Streaming auf fast jedem Gerät aufwendige Grafik genießen können. Die nötige Leistung stellt ein Server bereit, der die Inhalte dann an das Endgerät streamt. Wie Windows Central schreibt ist es so theoretisch möglich, Spiele wie den aktuellen Verkaufsschlager The Witcher 3 auf einem Gerät wie dem Surface RT zu betreiben. Die Umsetzung dieser Überlegungen scheiterte bisher vor allem an der verfügbaren Bandbreite.

Ein Team, das sich aus Forschern der Duke University und von Microsoft Research zusammensetzt, hat jetzt unter dem Namen "Kahawai" ein neues Tool entwickelt, das die benötigte Bandbreite für Video-Game-Streaming drastisch reduzieren soll. Microsoft hat sich schon in der Vergangenheit bemüht, Techniken für einen zukünftigen Streaming-Service rund um die Xbox und den PC zu entwickeln. Die neuste Forschung könnte diese Vision ein Stück näher bringen.

Geteilte Arbeit ist weniger Bandbreite

Um die deutlichen Verbesserungen bei dem Bedarf an Bandbreite während des Streamings von Videospielen zu erreichen, setzten die Forscher auf eine Technik mit dem Namen "collaborative rendering". Dank diesem Ansatz ist es möglich, die benötigten Prozesse geschickt zwischen dem Gerät und der Cloud aufzuteilen und so die Anforderungen an die Internetleitung zu reduzieren. Wie Microsoft schreibt, sorgt diese Technik dafür, dass "mobile Geräte eine grobe Skizze jedes Bildes generieren (...) während der Remote-Server die Lücken füllt".

Bei dem oben gezeigten Versuch mit Doom 3 konnte dank dem Kahawai-Tool die Bandbreite, die benötigt wurde, um das Spiel über eine 1 Mbit/s-Leitung zu streamen, über 80 Prozent reduziert werden. Ob, wann und wie diese Technik in Microsoft-Produkten auftaucht, muss sich jetzt zeigen.
Dieses Video empfehlen
Kommentieren26
Jetzt einen Kommentar schreiben
 
Mich hätte eher ein Spiel wie GTA V oder Witcher 3 als Vergleich interessiert.
 
@testacc: Da die das nicht erst seit 2 Wochen programmieren, sehr unwahrscheinlich...
 
Und Selbst 1 MB/s ist noch zuviel da in vielen ecken Deutschlands nicht mal 100kb/s möglich sind, als beispiel bei mir zu hause 50 Mbit + 1 Ort weiter 600 meter gehen nur noch 384 kbit. Da scheint es echt sau schwer zu sein mal für mehr speed zu sorgen.
 
@timeghost2012: Und was hat Microsoft damit zutun wenn Deutschland im Ausbau nicht vorran kommt? Sollen die deshalb das entwickeln einstellen weil es paar Leute in DE nicht nutzen können?
 
@timeghost2012: Ich hab mal das Steam Inhome Streaming ausprobiert, weil ich mal sehen wollte, wie sich ein Spiel vom Arbeitszimmer aus im Wohnzimmer spielt. Fazit: Ich hab's bleiben lassen. Über WLAN schaffst du die Bandbreite einfach nicht. Selbst über LAN gab's Einbussen. Wenn man die Wahl hat zwischen 1080p mit 60 FPS und einer abgespeckten Auflösung mit max 30 FPS, dann fällt die Entscheidung leicht. Wie das ganze dann noch überhaupt von einem fernen Server spielbar sein soll, ist mir schleierhaft. Ausser man hat keine Ansprüche an seine Spiele. Aber da kann man gleich beim Spielen am Mobiltelefon bleiben.
 
@Lofi007: Und genau da kommt diese Technologie ins Spiel. Wenn damit die Bandbreite auf 1 MB (wo bei mir nicht klar ist ob MB oder Mbit, letzteres wäre eher üblich) runtergeschraubt werden kann, dann reicht WLAN doch locker.

Und beim Inhouse Streaming ist auch die Verzögerung kein Problem. Selbst mit WLAN dürfte die kaum über 30ms liegen, sofern das Netz nicht anderweitig ausgelastet wird.
 
@Draco2007: Wenn du wo runter schraubst, musst du Abstriche machen. Beim Inhome Streaming hat man klar die Kompressions-Artefakte gesehen. Spannend wird jedenfalls was Valve mit entsprechender Hardware machen wird, die im Nomvember raus kommt.
 
@Lofi007: Diese Technologie die hier vorgestellt wird ist aber kein neuer Kompressionsalgorithmus sondern Arbeitsteilung....

Das Gerät welches den Stream empfängt übernimmt selbst kleinere Aufgaben, die sonst den Stream belasten würden...
 
@Draco2007: sie reden von 1 mbit/s. so wird es im video zumindest angezeigt...
 
Ich habe ne 100 Mbit leitung da spielt bandbreite für mich keine rolle .. interessant wäre es wie hoch der lag ist. Ich nutze sehr gerne die inhomestreaming fuktion von steam damit ich mein rechner nicht immer ins wohnzimmer schleppen muss um gemütlich auf der couch zu zocken. dabei habe ich ein lag von durchschnittlich 30ms (übers W-lan). das ist sehr gut spielbar und nicht merkbar ... wenn es aber im internet weit über 100ms sind kann man das ganze schon vergessen
 
@coi: Spielst du da Offline Singleplayer oder Online? Weil Online wär das ja mal locker ne Verdoppelung der Latenz, das ist schon massiv.
 
@ceramicx: natürlich offline bzw singelplayer .. online spiele wo jeder ms zählt würde ich so auch nicht spielen wollen ;)
 
Ich hoffe das da bald was brauchbares kommt. Auch gerne PSNow.
 
Das klingt so wie bei Sim City. Wir alle wissen, wo das geendet hat ...
 
@Lofi007: Äpfel und Birnen....

1. Bei Sim City war es eine klare Lüge
2. Bei Sim City ging es nicht darum das ganze Spiel extern laufen zu lassen, sondern ANGEBLICH nur die hochgenaue Simulation, die keine war
 
Mir ist ehrlichgesagt nicht ganz klar was das bringen soll. Inhouse Streaming wie Steam es anbietet ist ja noch sinnvoll. Die Gaming Power steht halt im Arbeitszimmer und nicht im Wohnzimmer.

Aber irgendwie wage ich zu bezweifeln, dass es effizienter ist, wenn man viele Spiele in einer Serverfarm betreibt. Irgendwie hätte ich eher gedacht, dass die Bandbreite das geringste Problem ist.
Ich meine die Last ein EIN Gamer erzeugt um ein aktuelles Spiel mit möglichst hohen Einstellungen zu betreiben ist nun wirklich nicht ohne.
Und damit will Microsoft nun tausende Spieler erreichen?
Wenn die Spiele dann da einfach nur stumpf auf Serverhardware laufen und zum Spieler gestreamt werden kann das kaum effizient sein.

Und trotzdem wären die Spieler doch nicht bereit 50 oder gar 100€ im Monat für so einen Service zu bezahlen. Damit sich genügend Spieler finden dürfte der Preis nicht viel höher als ein Netflix-Abo sein. Die Serverlast wird aber ungemein höher sein, als das einfache Streamen einer Videodatei....
 
@Draco2007: Klar ist das effizienter. Wieviel von der Zeit, die dein PC bei dir zuhause rumsteht, wird er auch tatsächlich voll ausgelastet? Wahrscheinlich nur zu einem geringen Anteil. Und selbst wenn man spielt, lastet man nur selten alles zu 100% aus.
Da ist eine Serverfarm, die dann rund um die Uhr voll ausgelastet werden kann, auf jeden Fall effizienter. Ist im Prinzip wie die Wahl zwischen der Nutzung von Bus/S-Bahn und einem eigenen Auto.
 
@mh0001: Ist das so? Wie soll man die Serverfarm denn 24/7 zu 100% auslasten?

Bei der Hardware die für EINEN Gamer nötig ist muss man hier massive Reserven einplanen für Lastspitzen. Denn kein Gamer ist dazu bereit Ruckler in Kauf zu nehmen, nur weil grade 10 Gamer mehr als sonst da sind.

Das ganze endet dann in einer Serverfarm, die unglaubliche Power haben muss und trotzdem im Schnitt nur zu 50% ausgelastet sein darf...
Ja man könnte die Hardware die man grade nicht benötigt abschalten, bleiben aber die immensen Anschaffungskosten (die ohne Nutzung nicht wieder reinkommen).

Ich meine wir reden hier nicht von irgendwelchen Mini-Games aus den 90ern, sondern der Plan ist aktuelle Spiele auf so einem Cluster laufen zu lassen. Wenn man hier einige tausend Gamer als Kunden haben will nimmt das doch schon Supercomputer Ausmaße an.
 
@Draco2007: Gerade die Lastspitzen einzelner lassen sich mit einer Serverfarm ohne größeren Aufwand abfangen. Die stellen ja nicht pro Spieler reservierte echte Hardware auf, sondern das läuft vollständig virtualisiert. Und das bedeutet, dass einem Spieler dynamisch zur Laufzeit kurzfristig eben auch mal mehr oder weniger Leistung zugeteilt werden kann.
Daher muss man eben nicht massive Reserven einplanen. Im Gegenteil: 10 Spieler mit eigenen PCs zuhause benötigen z.B. Highend-PCs, damit es in einzelnen sehr fordernden Situationen nicht ruckelt. Nur da sind die PCs dann voll ausgelastet, die restliche Zeit liegt die Auslastung vielleicht nur bei 50% oder darunter.
Bei ner zentralen Serverfarm schaffst du dann einfach nur das Leistungsäquivalent von 5 Highend-PCs für die 10 Spieler an. Die meiste Zeit reicht das locker, weil jeder nur 50% seiner gebuchten Leistung auslastet. Und wenn man dann trotzdem kurzzeitig mal volle Leistung braucht, wird von den anderen 5-10% weggenommen und einem selber zugeteilt, damit es flüssig läuft.
Diese Art der Lastzuteilung funktioniert natürlich umso besser, je mehr Nutzer es sind. Bei 1000 oder 10000 musst du jedem nur noch sehr wenig Leistung abzwacken, falls einer mal voll aufdreht.

Bei der Anschaffung einer Serverfarm, und so läuft das übrigens überall schon immer, geht man nur nach der durchschnittlichen Leistung, die benötigt wird. Und es wird eben einfach fest angenommen, dass niemals die Situation eintritt, dass alle gleichzeitig volle Leistung benötigen.
Anderswo ist das ja auch so üblich. Flugzeuge werden ja auch überbucht, weil durchschnittlich so und so viele Leute noch kurzfristig abspringen. Genauso läuft es im Mobilfunknetz. Ein Netz, was allen Kunden gleichzeitig die volle Bandbreite liefern könnte, müsste 1000mal so hoch dimensioniert sein wie es aktuell ausgebaut ist. Das wäre unbezahlbar und 95% der Zeit würden die Funkmasten so gut wie ungenutzt rumstehen.
 
@mh0001: Klingt in der Theorie sehr einfach. Aber ich arbeite im Bereich von Big Data Analysen und ich weiß, dass diese Virtualisierung nicht ganz so simpel ist, wie du sie dir vorstellst. Da kann man nicht mal eben so im laufenden Spiel eine GPU zuschalten oder einen CPU Kern einem anderen Projekt zuweisen. Das wäre ideal, aber so leicht ist das nicht.

Und vor allem nicht, wenn die Last die von einem einzelnen User ausgeht so extrem hoch ist. Das ist kein Webserver, dessen einzige Aufgabe es ist eine (viele) Dateien zu einem Benutzer auszuliefern. Oder ein Netflix-Server, der "nur" ein Video streamen muss. Und grade Netflix hat unglaublich viel Hirnschmalz in ihre Backend Technologie gesetzt, damit das effizient läuft. Und da ist es ein pupseinfacher Prozess, der sich problemlos virtualisieren lässt. (Segment A des Videos kommt von Server A, Segment B von Server B, alles kein Thema)

Aber Spiele werden nicht für solche verteilten Umgebungen entwickelt, ganz im Gegenteil, die werden für einzelne Rechner entworfen und implementiert. Allein das Rendering der Grafik läuft über eine interne Schnittstelle im Rechner die gigabyteweise Daten schaufeln kann. Das kann man nicht einfach so an einen anderen Server im Verbund auslagern, die Netzwerkschnittstelle packt das nicht.
Es ist einfach deutlich performanter, wenn das Spiel (welches im RAM liegt) die CPU verwenden kann, die direkt physikalisch am RAM liegt und die GPU die physikalisch an der CPU liegt.
Also muss am Ende doch wieder praktisch ein Gaming-Rechner in der Serverfarm stehen pro Gamer der grade aktiv ist. Es sei denn, man entwickelt die Spiele direkt für so eine Umgebung, was mittelfristig nicht passieren wird.

Ein ähnliches Problem tritt in virtualisierten Umgebungen bei Datenanalyse auf. Wenn die Daten auf einer virtualisierten Festplatte liegen und analysiert werden sollen, müssen sie zu einer CPU. WENN diese CPU nun irgendwo liegt und die Daten erst durch die Netzwerkschnittstelle müssen, statt direkt in den RAM und dann zur CPU ist das DEUTLICH langsamer.
Die Technologie, die unsere Firma einsetzt geht deshalb etwas anders an die Sache ran, was die dynamische Skalierung etwas schwerer macht, dafür aber deutlich mehr Leistung aus weniger Hardware rausholt, weil die Daten dort verarbeitet werden, wo sie liegen. Und eben nicht virtualisiert irgendwo rumliegen und irgendwo anders verarbeitet werden.
 
Also ich bin jetzt nicht beeindruckt. Farbarme Bilder in 4:3 ist jetzt schon möglich mit den richtigen Einstellung und natürlich ein gewissen CPU Leistung. Selbst damals mit Adobe Flash Encoder bekam man das hin (bevor es s**t-split und OBS gab)
 
1. Es steht nirgends welche Auflösung. Zwar unterstützt Doom3 nicht direkt FullHD, aber man kann es über die Ini Problemlos nachrüsten. Gehen wir also vom Standard aus, der ist 720p.Das Video hat außerdem Ränder, ich gehe also von einer niedrigeren 4:3 Auflösung aus, für die Doom ja auch gemacht wurde
2. Die Texturen in dem Video sind selbst für Doom3 arg blass, ich hab extra nochmal reingeschaut, Full Detail ist das auch nicht.
3. Wir können also Doom3, mit niedriger Auflösung und Niedrigen Details einigermassen flüssig über Stream bei geringer Bandbreite wiedergeben. Das löst aber noch nicht die Probleme der Latenz, und das ist ein blödes Beispiel für mobile Gaming, weil aktuelle Handys locker Doom3 lokal spielen könnten. Was mir das jetzt bei aktuellen AAA Titeln bringen soll, weiß ich auch nicht. Und alten Mist muss man nicht streamen, das geht auch ohne.
 
@LivingLegend: Es geht in erster Linie darum den Bedarf an Bandbreite zu senken. Die stellen hier keine fertige Technologie vor, sondern testen erstmal. Bei unserem Informatikpraktikum an der Uni haben wir auch nicht gleich in der ersten Übung ein Betriebssystem gebastelt, sondern erstmal einfache Such- und Sortieralgorithmen.

Du kannst hier nicht mit iwelchen Smartphones und Heimrechnern vergleichen. Wenn du einen anständigen Vergleich ran ziehen willst, dann mit einer anderen Streamingtechnologie die auch an Doom3 demonstriert wird. Der tatsächliche Bandbreitenbedarf wird sich später iwo bei ~100MBit einpendeln, denke ich. Es wäre utopisch zu erwarten, dass mit einer 1MBit-Leitung aktuelle AAA Titel in Ultra-Einstellungen laufen werden (Entspricht grob 128kB pro Sekunde. Bei nur 30fps wäre ein Frame also etwa 4,26 kB groß, wenn angenommen wird, dass die Frames einzeln versandt werden). Das Spielestreaming zielt auf Kundschaft ab, die zwar schnelles Inet hat, aber keine neuen PCs kaufen will.

Aber den Knackpunkt der ganzen Geschichte hast du im letzten Absatz angesprochen: Die Latenz. Wenn die Zeit vom Bewegen der Maus bis zum Erscheinen der Reaktion auf dem Bildschirm zu lang ist, ist das Spieleerlebnis dahin. Latenzen von <30ms sind fürs Online-Spielen zwingend erforderlich.
 
@bigspid: Das ist mir alles klar. Nur sollte man sowas nicht veröffentlichen. Ein Spiel von 2004 in geringen AUflösungen und Detailstufen ist nicht unbedingt ein Maßstab für die Effizienz dieser Technologie. Ob das alles mit höheren Auflösungen und Details in einem Witcher 3 genauso möglich wäre, steht nämlich so erstmal in den Sternen. Es kann sein das die Algorithmen nämlich bei hohen Details etc nicht so gut arbeiten.
 
@LivingLegend: MS veröffentlicht das auch nicht für uns als potenzielle Nutzer. Es geht hier nur um mögliche Investoren. Niemand wird eine neue ausgereifte Technologie präsentiert bekommen und gleich viel Geld darin investieren. Mit solchen Meldungen bereitet man die potenziellen Investoren darauf vor, diese Technologie in Erwägung zu ziehen. Das gleiche gilt für die Square Enix Demo mit der weinende Hexe die auf 4x Titan X SLI lief. Für den normalen Nutzer nicht zu gebrauchen, aber für nVidia und Square Enix bringt das neben Know-How auch gewissen Zuspruch aus der Branche.
 
Es tut sich was. Aber ich bleibe skeptisch, was Game-Streaming betrifft.
Kommentar abgeben Netiquette beachten!