Почему RDP так быстро по сравнению с другим программным обеспечением для дистанционного управления?

Я использую утилиту Remote Client Desktop на основе RDP для подключения к моему рабочему столу с моего ноутбука. Это намного быстрее и выглядит лучше, чем приложения удаленного управления, такие как TeamViewer и т.д.

Из любопытства, почему RDP лучше?

Спасибо.

Ответ 1

RDP - это конкретный протокол, который позволяет передавать низкоуровневые операции рисования экрана. Он также знает об элементах pixmap на экране. Например, он понимает, когда рисуется значок и кэширует его (как правило, в сжатом сжатом формате) на стороне клиента.

Другое программное обеспечение не имеет этого низкоуровневого доступа: он ждет, пока экран изменится, а затем повторно передайте захват экрана или измененных областей. Всякий раз, когда экран изменяется, необходимо передать представление pixmap. Поскольку это сжатие с потерями в целом, оно также выглядит хуже.

Ответ 2

Существуют два основных фактора, влияющих на работу продукта дистанционного управления:

Как он обнаруживает, когда на экране происходят изменения?

Некоторые продукты RC делят экран на плитки и периодически проверяют буфер кадра экрана, чтобы определить, произошли ли какие-либо изменения.

Другие подключаются непосредственно к ОС. Раньше это делалось путем перехвата видеодрайвера. Теперь вы можете создать зеркальный драйвер, в котором ОС "зеркалирует" все операции рисования. Это, очевидно, намного быстрее.

Как отправить эти изменения по проводке?

Некоторые продукты (например, VNC) всегда будут отправлять растровые изображения любой измененной области.

Другие отправят фактическую операцию, вызвавшую изменение. например визуализировать текстовую строку s с помощью шрифта f в координатах (x, y) или рисовать безьевую кривую с использованием заданного набора параметров и, конечно же, рендеринг растрового изображения. Это опять же намного быстрее.

В обоих случаях RDP использует более быструю (и более сложную в реализации) технику. Я считаю, что фактический протокол, который он использует, - T.128.

Растровые изображения обычно сжимаются. Некоторые продукты (например, Carbon Copy) также поддерживают синхронизированные растровые кэши с обеих сторон соединения, чтобы выжать еще большую производительность.