Das Scrollen des Browsers durch RDP ist ruckartig. Andere Anwendungen verhalten sich gut. Warum?

21497
Ha Ne

Ich habe Windows XP SP3 und Windows 7-Computer, die in meinem LAN als Server fungieren. (es ist nur 100mbit LAN, es gibt kein WAN).

Der Client ist Linux mit dem neuesten FreeRDP 1.x, das gerade kompiliert wurde.

Hier ist das Problem. Wenn Sie beispielsweise ein großes MS Office-Dokument (Excel oder Word) öffnen, können Sie normal scrollen und es funktioniert sehr reibungslos!

Aber in den Browsern ist es ein bisschen ruckartig. Ich meine damit, dass es kein Verbindungsproblem ist.

Warum passiert das? Übrigens habe ich versucht, eine einfache HTML-Datei mit viel Text zu erstellen, die immer noch ruckelt. Es geht also nicht um "schwere" HTML-Seiten mit Bildern.

Ich habe auch versucht, eine Auflösung von 800x600 ohne Hilfe zu verwenden. Mir fehlt etwas

Ich habe versucht, viele Einstellungen zu verwenden. Ich habe versucht, 16-Bit, 24-Bit zu verwenden, Themen zu aktivieren / deaktivieren usw.

Irgendeine Idee?

PS: Auf einem leistungsfähigen Rechner mit demselben Client (FreeRDP) funktioniert alles sehr reibungslos.

5
Sorry, da die Frage nicht genau ist. Ich glaube nur, dass mir etwas fehlt Ha Ne vor 12 Jahren 0
Macht es einen Unterschied, welchen Browser Sie verwenden? Ich frage mich, ob möglicherweise ein hardwarebeschleunigtes Rendering ein Problem darstellt. Der Hochstapler vor 12 Jahren 0
@OliverSalzburg Nein, ich habe alle Browser überprüft. Chrome, IE, Firefox - kein Unterschied. In Chrome, ähm, wahrscheinlich etwas schneller. Ha Ne vor 12 Jahren 0
Ich denke, das Problem besteht darin, die Schriftglättung zu aktivieren / deaktivieren. Das könnte helfen. Wie bei der Verwendung von xfreerdp mit der Markierung "-x 80" bakytn vor 12 Jahren 0
Erläutern Sie, welche "leistungsstarke Maschine" in "PS: Auf einer leistungsstarken Maschine mit demselben Client (FreeRDP) funktioniert alles sehr reibungslos." Wie unterscheidet sich die Maschine? Wenn auf dieser anderen Maschine kein Ruckeln auftritt, ist die Lösung vorhanden. LawrenceC vor 12 Jahren 1
@ultrasawblade ist nicht wirklich mächtig. Nur ein echter Computer mit Intel HD 3000-Video, Intel Core i7 und 8 Gb Ram. Aber meine problematische Maschine ist 500 Mhz mit 1 GB RAM und VIA Chrome 9 HC3 GPU Ha Ne vor 12 Jahren 0

4 Antworten auf die Frage

5
Gurken Papst

Your problem is likely caused by the use of hardware acceleration in modern browsers. While this is usually faster on local systems it can become really slow when used on remote sessions, as there are no high level drawing routines, that could be captured by the server component of the remote software. So the remote software must fall back to sending bitmaps instead of GDI drawing commands.

Disable hardware acceleration in your browsers and you should be fine.

  • In Firefox
    1. go to Options->Advanced->General
    2. untick Use hardware acceleration when available
  • In Internet Explorer
    1. go to Internet Options->Advanced
    2. tick Use software rendering instead of GPU rendering
4
Shiki

Was ich für meine Windows 7 Professional- und Ultimate-Hosts verwendet habe (ich habe Windows 7 als RDP-Client verwendet, aber es sollte funktionieren):

Ändern des Kompressionsalgorithmus

Geben Sie in der Suchleiste auf das Startmenü: gpedit.msc
Computer Configuration> Administrative Templates> Windows Components> Remote Desktop Services> Remote Desktop Session Host>Remote Session Environment

Quelle

Deaktivieren der automatischen TCP-Anpassung (für Windows Vista + Host)

  1. Öffne dich cmd.exeals Administrator.
  2. Eintippen: netsh interface tcp set global autotuning=disabled
  3. Um zu überprüfen, ob es funktioniert hat: netsh interface tcp show global

Um es wieder zu aktivieren: netsh interface tcp set global autotuning=normal

Quelle

Außerdem ... wenn Sie keinen Erfolg haben sollten: Vielleicht möchten Sie TeamViewer mit DirectIn testen (das finden Sie in den erweiterten Optionen des Servers) ODER UltraVNC mit seinem MirrorDriver. Beides funktioniert sehr gut. UltraVNC ist jedoch "freier". Aber ein bisschen umständlich, um es einzurichten. :) Shiki vor 12 Jahren 0
Danke, aber es hat nicht funktioniert. Ha Ne vor 12 Jahren 0
Dann bitte ich um Entschuldigung. :) Ich hoffe, du wirst es schaffen. Shiki vor 12 Jahren 0
3
harrymc

Als ersten Schritt sollten Sie die neuesten Treiber für die Netzwerkschnittstellenkarten vom Hersteller auf beiden Seiten der Verbindung herunterladen und installieren.

Ihr ist ein Linux-Client, und anscheinend gibt es Leistungsprobleme beim FreeRDP-Client. Sie können immer das alte und echte rdesktop ausprobieren, um zu sehen, ob es besser ist.

Ein Thread empfiehlt, stattdessen das Remmina-Projekt (das FreeRDP enthält) zu verwenden. Bitte lesen Sie den Thread für weitere Details.

Sie können auch zu einer der VNC-Varianten wechseln, dies kann jedoch eine Abstimmung erfordern. Siehe thread1 und thread2 für die Beratung über die Beschleunigung es auf.

TeamViewer ist eine weitere hervorragende Möglichkeit.

Bei einem Windows-Client schlägt der Artikel Top RDP Enhancement Tweak - MinSendInterval im Registrierungsschlüssel vor HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client, ein neues DWORD mit dem Namen Min Send IntervalLeerzeichen (mit Leerzeichen) zu erstellen und den Wert auf 10 festzulegen .

Mein Client ist FreeRDP. Glauben Sie, dass ich diese Einstellung irgendwie von der Serverseite verwenden könnte? Ha Ne vor 12 Jahren 0
@HaNe Ich glaube nicht, da der Client "entscheidet", wie oft er seine Mausereignisse sendet. Sie können also entweder den FreeRDP-Code hacken oder die Entwickler bitten, diese Option hinzuzufügen. bakytn vor 12 Jahren 0
Entschuldigung, meine Antwort war auf einen Windows-Client ausgerichtet. Ich habe jetzt mehr Informationen für Linux hinzugefügt. harrymc vor 12 Jahren 0
@HaNe: Danke für die Belohnung. Es würde anderen helfen, wenn Sie angeben, welche Lösung für Sie geeignet ist, und auch meine Antwort akzeptieren. harrymc vor 12 Jahren 0
2
Nye

Ich glaube, der Grund, warum Browser sich von MS Office oder Anwendungen unterscheiden, die native Widgets verwenden, liegt darin, dass das Toolkit Ereignisse auf höherer Ebene über RDP sendet. Wenn Sie beispielsweise einen Bildlauf durchführen, sendet das Toolkit ein Bildlaufereignis, das den Client dazu auffordert, ein Rechteck zu verschieben, und sendet nur den neuen Inhalt, über den der Client nicht verfügt.

Browser hingegen rendern sie in eine Bitmap, um die Ausgabe genau steuern zu können. Bei jeder Aktualisierung muss das gesamte Rechteck erneut gesendet werden. Es ist komprimiert, so dass Seiten, die kein Bild enthalten, zwar besser sind, aber dennoch weitaus weniger effizient sind.

Weitere Hinweise finden Sie in den Schriftarten: Wenn Sie Anti-Aliasing auf Ihrem Server aktiviert haben, in Ihren RDP-Clientoptionen jedoch deaktiviert sind, hat wahrscheinlich jede Anwendung, die noch Text mit Anti-Aliasing enthält, dieses Problem, da dies impliziert Es macht sein eigenes Rendering.

Ich habe nur eine Referenz für diesen WRT-Chrome: http://code.google.com/p/chromium/issues/detail?id=805#c1, aber ich glaube, dass dies für andere gilt. Vielleicht kann jemand anderes bestätigen / ablehnen?

(Opera scheint die Anti-Aliasing-Option des RDP-Clients zu würdigen und scheint bei meinem völlig unwissenschaftlichen Test in der Tat schneller zu sein als RDP), so dass es vielleicht kein eigenes Rendering für eine Backing-Bitmap ist. Andererseits ist es noch sehr viel langsamer als das Scrollen in Thunderbird, zum Beispiel bin ich mir da nicht sicher.)