2009-02-17 8 views
6

Ich bin relativ neu in der WPF-Welt und eine Sache, die ich sofort bemerkt habe, ist wie verzögert der Fensterinhalt gezeichnet wird, wenn Sie die Größe eines Fensters ändern. Wenn Sie zum Beispiel Bildlaufleisten an den Fensterrändern haben, werden diese Bildlaufleisten beim Verkleinern teilweise ausgeblendet und haben beim Vergrößern Platz zwischen ihnen und dem Fensterrand.Wie kann ich die Größe von WPF-Fenstern weniger "laggy" ändern?

Das passiert sogar mit einem leeren WPF-Projekt, das in Visual Studio erstellt wird. Was noch schlimmer ist, ist, dass es auch mit dem Hintergrund passiert und man sieht, dass Dinge hinter dem Fenster (andere Fenster, Desktop-Hintergründe usw.) durchsickern, wenn man vergrößert.

Zuerst dachte ich, dass es eine hässliche Einschränkung von WPF ist, wenn man sieht, dass native oder WinForms-Anwendungen gut skalieren (wenn sie richtig geschrieben sind). Aber wenn ich Expression Blend betrachte, bleibt der Fensterhintergrund undurchsichtig (obwohl der Fensterinhalt immer noch zurückliegt). Was können sie tun, um das beschriebene Problem zu vermeiden, und gibt es Möglichkeiten, die Größenanpassung auf native/WinForm-GUIs zu verbessern?

Antwort

1

Laufen Sie Vista ohne SP1? Von dem, was ich gelesen habe, war dies ein gemeinsames Problem, das behoben wurde ..

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/3960d6a6-e873-455c-9ddc-1e2dd32e090b/

+0

Yep ist, das tue ich. Und wie gesagt, Expression Blend scheint dieses Problem nicht zu haben. Haben Sie weitere Hinweise auf dieses "gemeinsame Problem", von dem Sie gesprochen haben? – gix

+0

Sorry verwirrt - ich hatte gelesen, dass dies zwischen Vista und Vista SP1 behoben wurde. – markt

+0

Wie wäre es mit .Net 3.5 SP1? Es gab viel oder Arbeit mit WPF Leistung in 3.5 Sp1 getan. – Russ

0

ich dieses Verhalten nicht zu sehen, selbst sollte. Ich entwickle auf Vista x64 SP1 und/oder einen virtuellen PC mit xp x32 sp3. WPF verwendet DirectX, könnte es Ihre Grafikkarte/Maschine sein? Versuchen Sie, Ihre App auf einem Diff-Computer auszuführen und zu sehen, ob Sie die gleichen Ergebnisse haben.

+0

Ich benutze Vista64 SP1 selbst, Aero aktiviert. Mit vista-basic theme (aero disabled) scheint ich es nicht zu verstehen (oder es ist kaum bemerkbar). In Server 2008 R2 in VBox und in Server 2008 auf meinem Laptop sowohl mit dem Grundthema sehe ich es überhaupt nicht. Vielleicht, weil meine Maschine viel schneller ist als diese. – gix

0

Ich habe das gleiche Problem mit der Schnittstelle beim Verändern der Größe. Ich vermute, dass der Grund für die Verzögerung darin besteht, die zugrundeliegenden Bildpuffer in direktem X zu verändern, was niemals besonders schnell ist. Ich bin mir nicht sicher, was Sie dagegen tun können.

0

Ich habe auch nach Informationen zu diesem Thema gesucht. Ich dachte nur, es wäre ein Windows-Feature, das ein unerschrockener Microsoft-Programmierer für cool halten würde. Ich hatte gehofft, dass ich es abschalten könnte, so dass Fenstergrößen tatsächlich meiner Maus folgen würden, anstatt zu verzögern und dann zu überschwingen. Gr.