Frage

Angenommen, ich war eine ziemlich grafisch intensive Anwendung Entwicklung (C ++ oder C #, Grafik-API unentschieden), für die die meisten der Verwendung von Remote-Benutzern über RDP (entweder Terminal-Server-Sitzungen oder Remotezugriff auf eine Single-User-Maschine) sein werden. Es ist offensichtlich, dass nicht wesentlich „Augenschmaus“ Effekte und Animationen sollen vermieden werden. Meine Fragen sind:

  • Was muss ich vorsichtig sein, zu tun / vermeiden möglichst effiziente Nutzung des RDP-Protokoll machen tun? (ZB ich habe eine Idee RDP können remote einige Grafikgrundelemente direkt an den Client Zeichnung ... aber ist das nur für GDI? Ist mit Double-Buffering Pause so Remoting- und eine Bitmap-Modus erzwingen? Ist die clientseitige Bitmap-Cache „nur Arbeit“oder nur, dass es bestimmte Dinge wie Schriftarten und Symbole cachen?)

  • Gibt es irgendeine Art von RDP-Protokoll-Analysator zur Verfügung, die einen Einblick in denen geben wird, was ein RDP-Strom tatsächlich transportiert wird (insbesondere Bitmaps vs Zeichnung Primitiven)? (Kann ich mir vorstellen, eine Instrumentierung zum Hinzufügen von rdesktop Quelle, dies zu tun, aber vielleicht etwas existiert bereits).

War es hilfreich?

Lösung

Nach meiner Erfahrung würde ich vorsichtig sein, wenn es um Animationen kommt -. Insbesondere / down-Kontrollen verblasst bis die ernsthaft Leistung über RDP töten

Double-Buffering könnte auch einige Probleme verursachen, aber ich persönlich habe nicht zu viel in der Art von Abhilfen für diese zu tun habe - die Artikel von Raymond Chen erklärt die möglichen Gefahren ganz gut.

Im Wesentlichen ist es eine gute Idee, in Code zu überprüfen, ob es in einer Remote-Sitzungen (RDP, Citrix usw.) ausgeführt wird. Schauen Sie sich auf:. GetSystemMetrics( SM_REMOTESESSION ) - Sie dann zur Laufzeit entscheiden können, ob bestimmte Funktionen aktivieren oder deaktivieren

Andere Tipps

Meine Idee ist, dass die Optimierungsarbeiten an RDP bereits 90% des Problems abdecken Sie beschreiben, so würde ich über die Optimierung für RDP keine Sorgen, du bist bereits die Eye-Candy Sachen entfernt, wissen Sie, dass die Anwendung wird über RDP verwendet werden, so dass ich nehme an, Sie werden Operationen vermeiden, die eine kontinuierliche Neufestlegung der Form beinhaltet, glaube ich, dass genug sein sould.

Unsere Anwendung wurde nie mit RDP im Auge hatten wir die gleichen Sorgen haben Sie, wenn ein Kunde uns gesagt, dass alle Client über RDP (Citrix, in diesem speziellen Fall) verwendet werden, von entfernten Standorten, sondern auch, wenn wir didn ‚t eine einzige Zeile Code ändern der Kunde nie mit slowlyness Problemen aufgrund von RDP genannt.

Denken Sie daran ... Vorzeitige Optimierung ist böse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top