Я хотел бы подчеркнуть тот факт, что VNC - просто ужасная точка сравнения.
Между системами Linux правильно сконфигурированная xpra обеспечивает гораздо более высокую производительность - в основном благодаря поддержке сжатия с потерями на основе H.264.
Кажется, что единственное сжатие с потерями, поддерживаемое TeamViewer, - это уменьшение глубины цвета и некоторые чересстрочные обновления, которые мало помогают с анимированным контентом, как вы заметили. Хорошая система могла бы плавно жертвовать качеством, чтобы поддерживать разумную частоту обновлений. Упомянутый xpra немного похож на него, но, честно говоря, он все еще делает дерьмовую работу.
Другой проблемой является TCP против UDP на основе. Протоколы на основе TCP довольно уязвимы, например, к большой потере пакетов и тому факту, что после отправки некоторых данных их необходимо передавать - таким образом, одно большое обновление означает, что ваш экран будет зависать до тех пор, пока он не появится. Особенно при медленных соединениях, что делает VNC непригодным для использования, поскольку любые большие изменения на экране означают, что вы не увидите никаких изменений только через несколько минут. Сравните также ssh и mosh для чистого текста.
Кажется, еще никому не удалось изобрести действительно хороший протокол, который сочетает в себе высокие коэффициенты сжатия передовых видеокодеков, использование UDP с хорошим способом борьбы с потерянными пакетами, проницательное кодирование, которое обнаруживает и поддерживает читабельность текста над "бесполезным". "детализация, хорошая автоматическая балансировка скоростей обновления / передачи с качеством и скоростью кодирования, постепенное и плавное уточнение качества с течением времени для необновленных областей, кэширование и различие на стороне клиента (хотя кодирование видео может ссылаться на прошлые кадры, они на самом деле не очень хорошие соответствует обычному содержимому рабочего стола, а также тому факту, что вы можете легко хранить 100 МБ эталонных данных на стороне клиента).
Другими словами: все, что, по-видимому, делает TeamViewer, - это не совершать совершенно глупых поступков (хотя VNC оправдывается в основном показом своего возраста), я не знаю ни одного решения, которое бы реализовывало бы хотя бы небольшую часть хитрых трюков, возможных даже сегодня, не говоря уже о все те, которые можно себе представить.