Esiste un'opzione di rilascio del frame in X11 Forwarding?


8

Sto eseguendo un modello di visione artificiale su una macchina virtuale remota senza testa (Ubuntu 16.04) su X11, inoltrando con il vecchio vecchio Putty e Xming come Windows X Server.

Va tutto bene, ma sembra che non vi sia alcun calo di frame se la larghezza di banda client-server non riesce a tenere il passo, il che significa che la mia applicazione è rallentata e rende solo pochi frame al secondo quando può fare centinaia se la larghezza di banda è abbondante.

Esiste un'opzione di drop frame forzato integrata nell'inoltro X11 e, in caso affermativo, come si attiva?


4
Il protocollo X11 non ha una nozione di frame e quindi non supporta il drop frame (cioè non c'è un punto di risincronizzazione).
Simon Richter,

Risposte:


9

Consiglio vivamente Xpra per questo tipo di caso d'uso: non solo offre la possibilità di disconnettersi e riconnettersi alle applicazioni X in esecuzione su un host remoto, ma supporta anche una varietà di codifiche di immagini e impostazioni di aggiornamento della finestra per offrire un'esperienza decente in circostanze diverse.

Ha un client Windows nativo, quindi dovrebbe essere abbastanza facile da configurare. Dovrai installarlo anche sulla VM remota, ma è facile come apt install xprasu Ubuntu.


Sembra molto promettente, tuttavia non riesco a legarlo a una porta TCP.
evilSnobu,

Ti stai collegando tramite SSH o direttamente ?
Stephen Kitt,

Il mio Xorg era f ****. Risolto il problema e ora va tutto bene, questa cosa di Xpra è davvero buona, specialmente quando passi alla codifica HEVC (x265). Molto molto bello e non bloccante. Grazie!
evilSnobu,

Non posso più raccomandare Xpra. Probabilmente è la migliore opzione gratuita disponibile oggi.
wbkang,

5

Secondo questa domanda correlata , sembra che X11Forwarding non sia l'opzione migliore per le applicazioni intuitive grafiche, poiché il protocollo X11 non è stato progettato tenendo conto delle prestazioni del disegno bitmap.

In sostanza invia istruzioni di disegno alla rete, il che è "tutto bene" se stiamo parlando di un paio di finestre con testo, ma è ovviamente eccessivo per milioni di pixel che cambiano ogni frame, specialmente quando la rete presenta latenza / jitter / pacchetto elevati perdita.

Come suggerito nella risposta alla domanda menzionata, puoi provare x2go e vedere se si adatta alle tue esigenze.

MODIFICA come da commento

In caso x2gocontrario, puoi provare a VNCsomigliare alle funzionalità di eliminazione dei frame. Ad esempio, uso x11vncper connettermi al mio desktop da una connessione remota con x11vnc -display :0 -auth .Xauthoritycui si aggancia al mio display.

Non so se funzionerebbe, Xmingma puoi provarlo.


Purtroppo la porta Windows di x2go è completamente rotta, già provata.
evilSnobu,

In passato ho anche provato x2go con un client Mac, e ci ho rinunciato.
Rui F Ribeiro,

3

Il protocollo X11 puro non si presta bene per garantire la trasmissione e molto oltre SSH.

Consiglio NoMachine. Può fare la compressione della larghezza di banda e l'ottimizzazione della rete. Ha anche client per Mac, Windows e Linux.

PS. NoMachine ha le versioni gratuite e a pagamento. Ho sempre usato il gratuito.

Vedi NoMachine

Per i desktop virtuali (caso a) la modalità grafica vettoriale X11 (precedentemente nota come modalità "leggera") è abilitata per impostazione predefinita. Questo metodo riduce l'utilizzo della larghezza di banda (e i requisiti HW perché richiede meno CPU) su client e server ottimizzando il protocollo X11 mediante tecniche di compressione, soppressione di andata e ritorno e algoritmi cache.

La modalità grafica vettoriale X11 è comoda per evitare la perdita della qualità dell'immagine e può essere utile quando si lavora con GUI tradizionali o grandi quantità di testo, ma non è consigliata per contenuti multimediali o applicazioni con molti effetti grafici.

Ulteriori informazioni sulla modalità grafica vettoriale X11: https://www.nomachine.com/AR02L00779

Per le connessioni al desktop fisico o quando la modalità grafica vettoriale X11 è disabilitata per i desktop virtuali (caso b) NoMachine implementa il protocollo di visualizzazione utilizzando una combinazione di codifica video e immagine basata su codec standard e una serie di tecniche sviluppate dalla stessa NoMachine.

Implementa inoltre una tecnica di qualità della visualizzazione adattiva della rete. Ciò significa che NoMachine proverà automaticamente a ridurre la qualità di visualizzazione quando rileva che la rete è congestionata. Lo scopo di questo meccanismo è di mantenere la sessione reattiva attraverso tutte le diverse condizioni di rete.

Maggiori informazioni su come trovare la configurazione più adatta per la riproduzione multimediale:

https://www.nomachine.com/AR01M00832


È "Gratis come nella pubblicità a codice chiuso per la nostra opzione a pagamento" o "Gratis come in Stallman"?
pipe

@pipe Da qualche parte nel mezzo, penso. Ho usato la versione gratuita per uso personale con molta soddisfazione, sono stato anche coinvolto lateralmente e conosco grandi progetti che hanno utilizzato la versione gratuita. Apparentemente la versione a pagamento può salvare qualche problema nel personalizzare le cose in ambienti più complessi da quello che mi hanno detto le persone più esperte.
Rui F Ribeiro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.