2009-08-16 11 views
18

Ich benutze RDP-basierten Windows Remote Client Desktop-Dienstprogramm, um eine Verbindung zu meinem Desktop von meinem Laptop aus. Es ist viel schneller und sieht besser aus als Fernsteuerungsanwendungen wie TeamViewer usw.Warum ist RDP im Vergleich zu anderer Fernsteuerungssoftware so schnell?

Aus Neugier, warum ist RDP besser?

Vielen Dank.

+2

Ich möchte nur diesen ausgezeichneten MSDN-Artikel "Top 10 RDP-Protokoll Missverständnisse" über RDP ([Teil 1]) erwähnen (http://blogs.msdn.com/b/rds/archive/2009/03/03/top -10-rdp-Protokoll-Missverständnisse-Teil-1.aspx) & [Teil 2] (http://blogs.msdn.com/b/rds/archive/2009/03/12/top-10-rdp-protocol -misconceptions-part-2.aspx)), die einige Einblicke gibt – nixda

Antwort

13

RDP ist ein spezifisches Protokoll, das es ermöglicht, Zeichenoperationen auf niedriger Ebene zu übertragen. Es kennt auch Pixmap-Objekte auf dem Bildschirm. Zum Beispiel versteht es, wenn ein Symbol gezeichnet wird, und speichert es (typischerweise in einem verlustbehafteten komprimierten Format) auf der Client-Seite.

Andere Software verfügt nicht über diesen Low-Level-Zugriff: Sie wartet darauf, dass der Bildschirm geändert wird, und überträgt dann erneut eine Erfassung des Bildschirms oder der geänderten Bereiche. Wenn sich der Bildschirm ändert, muss eine Pixmap-Darstellung übertragen werden. Da dies im Allgemeinen verlustbehaftet ist, sieht es auch schlechter aus.

+3

Es ist auch erwähnenswert, dass die Low-Level-Bildschirm Zeichenoperationen sind viel kleiner in Bezug auf die Datengröße als die Bitmaps, die andere Formate übertragen. Weniger Datenübertragung über die Leitung bedeutet schnellere Fernsteuerung. – Bob

13

Es gibt zwei wichtige Faktoren bei der Arbeit, die die Leistung einer Fernbedienung Produkt bestimmen:

Wie erkennt es, wenn Änderungen auf dem Bildschirm auftreten?

Einige RC-Produkte teilen den Bildschirm in Kacheln und scannen den Bildschirmrahmenpuffer regelmäßig, um festzustellen, ob Änderungen aufgetreten sind.

Andere hängen direkt in das Betriebssystem. In der Vergangenheit wurde dies durch Abfangen des Videotreibers erreicht. Jetzt können Sie einen Spiegeltreiber erstellen, in den das Betriebssystem alle Zeichenoperationen "spiegelt". Dies ist natürlich viel schneller.

Wie sendet es diese Änderungen über die Leitung?

Einige Produkte (wie VNC) senden immer Bitmaps von jedem Bereich, der sich geändert hat.

Andere senden den tatsächlichen Vorgang, der die Änderung verursacht hat. z.B. Rendern Sie Textstring s mit der Schriftart f an Koordinaten (x, y) oder zeichnen Sie Bezierkurven unter Verwendung eines gegebenen Parametersatzes und natürlich Bitmap. Dies ist wiederum viel schneller.

RDP verwendet die schnellere (und schwieriger zu implementierende) Technik in beiden Fällen. Ich glaube, das eigentliche Protokoll ist T.128.

Bitmaps sind normalerweise komprimiert. Einige Produkte (z. B. Carbon Copy) verwalten auch synchronisierte Bitmap-Caches auf beiden Seiten der Verbindung, um noch mehr Leistung zu erzielen.

+0

Danke Jungs für die Erklärung. – Gulbahar

Verwandte Themen