Ich verwende ein Computer-Vision-Modell auf einer kopflosen Remote-VM (Ubuntu 16.04) über X11Forwarding mit dem guten alten Putty und Xming als Windows X-Server.
Alles ist in Ordnung, aber es scheint, dass es keinen Frame-Drop gibt, wenn die Client-Server-Bandbreite nicht mithalten kann. Dies bedeutet, dass meine Anwendung verlangsamt wird und nur wenige Frames pro Sekunde rendert, wenn sie bei ausreichender Bandbreite Hunderte ausführen kann.
Gibt es eine Force Frame Drop- Option, die in die X11-Weiterleitung integriert ist, und wenn ja, wie schalte ich sie ein?
Antworten:
Ich empfehle Xpra für diese Art von Anwendungsfall: Es bietet nicht nur die Möglichkeit, die Verbindung zu X-Anwendungen, die auf einem Remote-Host ausgeführt werden, zu trennen und erneut zu verbinden, sondern unterstützt auch eine Vielzahl von Bildcodierungen und Einstellungen für die Fensteraktualisierung , um ein anständiges Erlebnis zu bieten verschiedene Umstände.
Es hat einen nativen Windows-Client, daher sollte die Einrichtung einfach genug sein. Sie müssen es auch auf der Remote-VM installieren, aber das ist so einfach wie
apt install xpra
unter Ubuntu.quelle
Nach diesem Stand der Frage , wie Aussehen
X11Forwarding
ist nicht die beste Option für Grafiken intesive - Anwendungen, wie das X11 - Protokoll nicht mit Bitmap - Zeichenleistung konzipiert wurde.Grundsätzlich werden Zeichenanweisungen an das Netzwerk gesendet, was "alles gut" ist, wenn es sich um ein paar Fenster mit Text handelt, aber es ist offensichtlich zu viel für Millionen von Pixeln , die jeden Frame ändern, insbesondere wenn das Netzwerk eine hohe Latenz / Jitter / Paket aufweist Verlust.
Wie in der Antwort auf die genannte Frage vorgeschlagen, können Sie x2go ausprobieren und prüfen, ob es Ihren Anforderungen entspricht.
BEARBEITEN gemäß Kommentar
Wenn dies
x2go
nicht der Fall ist, können Sie versuchen,VNC
welche Funktionen zum Löschen von Frames verfügbar sind. Ich verwendex11vnc
zum Beispiel eine Verbindung zu meinem Desktop über eine Remoteverbindung, überx11vnc -display :0 -auth .Xauthority
die eine Verbindung zu meinem Display hergestellt wird.Ich weiß nicht, ob es funktionieren würde,
Xming
aber Sie können es versuchen.quelle
Das reine X11-Protokoll eignet sich nicht gut zur Gewährleistung der Übertragung und viel über SSH.
Ich empfehle NoMachine. Es kann Bandbreitenkomprimierung und Netzwerkoptimierung durchführen. Es hat auch Clients für Mac, Windows und Linux.
PS. NoMachine hat die kostenlose und die kostenpflichtige Version. Ich habe immer das kostenlose benutzt.
Siehe NoMachine
quelle