
Wir schreiben das Jahr 2017. Wir können 4K-Livestreams mit einem Bruchteil der verfügbaren Bandbreite und Rechenressourcen streamen.
Warum gibt es noch immer keine Remote-Desktop-Anwendungen mit angemessener Leistung? Was ist der Unterschied, der es so viel schwieriger macht, ein überwiegend statisches Bild zu streamen und gleichzeitig Maus- und Tastaturaktionen zu übertragen, die nicht mehr als ein paar Bytes umfassen sollten?
Antwort1
Zunächst einmal verfügen wir über Remote-Desktop-Anwendungen, die eine ordentliche Leistung bieten – es gibt jedoch keine universelle Lösung, die diese Leistung gut erfüllt.
Im typischen Fall muss ein Computer genau das, was auf dem Bildschirm angezeigt wird, an einen anderen Ort übertragen. Das einzige, was er tun kann, um die Dinge zu beschleunigen, ist die Ausgabe zu komprimieren – das ist beispielsweise bei VNC typischerweise der Fall. Je nach Geschwindigkeit der Verbindung und Komplexität des Bildschirms kann dies gut funktionieren, aber auch langsam sein. Wenn verlustbehaftete Komprimierung verwendet wird, sind die Inhalte möglicherweise nicht lesbar.
Am anderen Ende des Spektrums gibt es etwas wie Chromecast, das dem Remote-Computer Anweisungen gibt, was er tun soll, damit er die Komprimierung maximal nutzen kann (d. h. es verarbeitet den ursprünglichen komprimierten Datenstrom von der Quelle, anstatt ihn dekomprimieren und die dekomprimierten oder dekomprimierten und erneut komprimierten Daten versenden zu müssen). Natürlich erfordert dies Apps, die mit der Technologie kompatibel sind – und die meisten Desktop-Apps sind es nicht.
Dazwischen gibt es Lösungen wie Spice, X-Forwarding und RDP, die versuchen, durch die Nutzung von APIs die Menge der übertragenen Daten zu reduzieren, indem sie reproduzieren, was auf dem Originalbildschirm angezeigt werden soll.
Ein weiteres Problem ist die Latenz. Wenn Sie sich beispielsweise in Neuseeland befinden und eine Verbindung in Europa teilen, können Sie aufgrund der Lichtgeschwindigkeit im Vakuum mit Latenzen von > 200 ms rechnen. Nichts, was Sie an der Verbindung tun können, kann die Latenz verringern. Daher fühlt sie sich langsam an.
Ähnlich verhält es sich bei bewegten Videos, außer bei Lösungen vom Typ Chromecast. Hier ist es oft nicht möglich zu wissen, was komprimiert wird (und wie es komprimiert wurde) – und eine enge, verlustbehaftete Komprimierung ist zeitaufwändig, was dies erschwert. (Es würde mich überraschen, wenn 4K-Videos in Echtzeit komprimiert werden könnten, ohne das System sehr stark zu belasten – d. h. 4K-Videos können in Echtzeit gestreamt und abgespielt werden, werden aber im Allgemeinen nicht in Echtzeit codiert, während Systeme aktiv sind und andere echte Aufgaben ausführen.)