Gibt es einen Leistungsvorteil beim expliziten Festlegen der OneWay-Bindung beim Einrichten von Bindungen in WPF?

8

Ein Projekt, an dem ich arbeite, leidet an einigen kleineren Leistungsproblemen. Unser Team führt viele kleine Verbesserungen durch, um größere Leistungssteigerungen zu erzielen. Es ist uns gelungen, die Anwendung durch offensichtliche Änderungen zu verbessern, und wir haben uns auf die Datenbindung konzentriert, um einige zusätzliche Verbesserungen bereitzustellen. Ich weiß, dass der Standard-Bindungsmodus TwoWay ist, aber die meisten unserer Bindungen erfordern keine TwoWay-Bindung. Wäre es unsere Zeit wert, durchzugehen und den Modus explizit als OneWay anzugeben, wo wir den Standard akzeptiert haben?

    
Kilhoffer 08.03.2010, 16:37
quelle

1 Antwort

4

Sorry, 1. Version ist 100% falsch (danke, @ Jeffora). Ich behalte es hier, sonst machen die Kommentare keinen Sinn.

Eine unidirektionale Bindung muss keine Verbindung mit der Quelle aufbauen, um auf Änderungsbenachrichtigungen zu warten, so dass weniger Speicher benötigt wird, aber was die Geschwindigkeit betrifft, kann ich mir nicht vorstellen, dass es einen Unterschied gibt.

2. Version: Sowohl OneWay- als auch TwoWay-Bindungen abonnieren die Quelle für Änderungen, um die Zieleigenschaft zu aktualisieren. Der Unterschied in der Leistung besteht also in der Aktualisierung der Quelleigenschaft, die Auswirkungen haben kann, je nachdem, was der Rest der Software bei der Aktualisierung tut.

Wenn die Leistung entscheidend ist und Ihr Szenario keine Zielupdates benötigt, kann die Verwendung der OneTime-Bindung eine Option sein.

Ich nutze diese Korrektur, um zu fragen, ob Sie Ihre App profiliert haben, um Hotspots zu finden. Die 80/20-Regel (oder das Ereignis 90/10) ist ziemlich häufig, d. H. Eine kleine Menge an Code ist für den Großteil der aufgewendeten Zeit verantwortlich. Ohne es zu wissen, könnten Optimierungsbemühungen Ihnen überhaupt keinen Gewinn bringen.

    
Timores 08.03.2010, 16:45
quelle

Tags und Links