Saya memiliki aplikasi intensif grafis yang perlu diteruskan melalui X11. Saya menghabiskan waktu meneliti X11 dan efisiensinya, termasuk pos yang hebat ini: Mengapa penerusan X11 tidak efisien? .
Satu hal yang masih belum jelas bagi saya adalah apakah kinerja penerusan X11 tergantung pada aplikasi. Saya mendapat kesan bahwa seluruh layar diteruskan, apa pun yang terjadi. Maka penerusan X11 harus berupa aplikasi-agnostik.
Jadi, apakah ada informasi konkret tentang apa yang sebenarnya diteruskan dan apakah kinerja ssh -X tergantung pada aplikasi?
-C
opsi pada baris perintah atauCompression: yes
opsi dalam file .ssh / config. Jika Anda melakukan penerusan X tradisional dari Dallas ke Australia melalui tautan T1 yang padat, ini bisa menjadi perbedaan antara memiliki tugas Anda untuk memunculkan dialog lima tingkat jauh di antarmuka dan memilih kotak centang dari tugas yang tidak realistis ke tugas yang sangat berlebihan. frustasi dua jam. Untungnya saya tidak perlu mencoba ini dengan Wayland, tetapi saya menganggap ini sangat meningkat.Jawaban:
Tidak, itu justru sebaliknya. Alasan penerusan X11 disebut "penerusan X11" adalah karena pengangkutan pesan protokol X yang sebenarnya digunakan oleh aplikasi untuk membuat windows mereka di "X server" (biasanya Xorg). Pesan-pesan itu adalah perintah untuk membuat / memindahkan jendela, menggambar teks dan primitif grafis (garis / persegi panjang), menggambar bitmap, dll.
Anda bisa mengatakan itu secara kebalikan dari protokol "gambar layar penuh" seperti VNC / RFB. Saya pikir ini agak sebanding dengan RDP Windows, yang juga dibuat untuk mengangkut perintah menggambar GDI.
Jadi alasan Anda melihat perbedaan antar program adalah:
Mengutip posting yang Anda referensikan, awalnya sebagian besar program berbasis X bekerja seperti ini:
Jadi ketika sebuah program ingin menunjukkan tombol, ia hanya mengirim beberapa perintah pendek - "menggambar persegi panjang", "menggambar teks", dan mungkin beberapa baris untuk membuatnya terlihat 3D.
Seiring waktu ini berubah, program mulai melakukan rendering sendiri, dan banyak dari instruksi itu menjadi hanya "inilah bitmap yang sudah saya render, taruh ini di layar" - sangat cepat secara lokal, tetapi sangat lambat pada jaringan karena X11 kurang memiliki kompresi gambar.
Ini berarti program yang dibangun menggunakan toolkit modern jauh lebih lambat di jaringan X11, bahkan jika itu sesuatu yang mendasar seperti font antialiased.
(Sebaliknya, RDP telah beradaptasi dari waktu ke waktu dan mencakup berbagai bentuk kompresi gambar seperti JPEG dan bahkan H.264; Anda sering dapat melihat artefak kompresi saat gambar penuh sedang dimuat.)
Untungnya, sebagian besar toolkit UI seperti GTK menerapkan pelacakan kerusakan sehingga hanya wilayah yang diperbarui yang dikirim kembali. Namun, beberapa program (seperti beberapa versi Firefox / Thunderbird), tidak mendukung ini dan meminta render lengkap seluruh jendela, meskipun belum benar-benar diperbarui.
Itu perbedaan lain antara program - yang berperilaku baik masih cukup dapat digunakan melalui jaringan, tetapi yang bermasalah dapat menjenuhkan tautan 100 Mbps yang sama sekali tidak berguna.
sumber