У мене було враження, що весь екран передається вперед, незалежно від того, що відбувається. Тоді перенаправлення X11 повинно бути прикладним.
Ні, насправді навпаки. Причина переадресації X11 називається "перенаправлення X11" в тому, що вона переносить фактичні повідомлення протоколу X, які використовуються програмами для візуалізації своїх вікон на "X-сервер" (зазвичай Xorg). Ці повідомлення - це команди для створення / переміщення вікон, малювання тексту та графічних примітивів (ліній / прямокутників), малювання растрових зображень тощо.
Можна сказати, що це концептуально протилежна протоколам "повноекранного зображення", таких як VNC / RFB. Я думаю, що це дещо порівняно з RDP Windows, який також був створений для транспортування команд малювання GDI.
Тож причини, по яких ви бачите відмінності між програмами:
Щоб цитувати публікацію, на яку ви посилалися, спочатку більшість програм на базі X працювали так:
В основному X11 не надсилає екран на ваш комп'ютер, але він надсилає інструкції до дисплея, щоб X-сервер на вашому локальному комп'ютері міг створити екран у вашій локальній системі.
Тож коли програма хотіла показати кнопку, вона просто надіслала кілька коротких команд - "намалювати прямокутник", "намалювати текст" і, можливо, деякі рядки, щоб він виглядав 3D.
З часом це змінилося, програми почали робити рендерінг самостійно, і багато з цих інструкцій стали просто "ось растровий малюнок, який я вже надав, виставив це на екран" - дуже швидко локально, але дуже повільно по мережі через відсутність X11 стиснення зображення
Це означає, що програми, побудовані за допомогою сучасних наборів інструментів, значно повільніші за мережевий X11, навіть якщо це щось таке ж базове, як антиалійні шрифти.
(На відміну від цього, RDP з часом адаптувався і включає різні форми стиснення зображень, такі як JPEG і навіть H.264; ви часто можете помітити артефакти стиснення, коли завантажується повне зображення.)
На щастя, більшість наборів інструментів користувальницького інтерфейсу, таких як GTK, реалізують відстеження шкоди, тому повторно надсилаються лише оновлені регіони. Однак декілька програм (наприклад, декілька версій Firefox / Thunderbird) не підтримують це і вимагають повного повторного відображення всього вікна, навіть якщо воно дійсно не оновлено.
Це ще одна відмінність програм - добре сприятливі програми все ще досить зручні в мережі, але баггі можуть наситити 100 Мбіт / с, не роблячи абсолютно нічого корисного.