Rendert eine Menge wiederholt Bilder mehr oder weniger performant als die Verwendung von Bürsten in WPF?

StackOverflow https://stackoverflow.com/questions/2059262

Frage

Eine Anwendung ist unser Unternehmen mit Steigungen auf aktuell zeigt viele rechteckigen Formen arbeiten zu ziehen ‚Fliesen‘. Eine interne Diskussion dazu kam, dass eine Frage der Leistung gestellt. Diese Fliesen sind etwa 100 Pixel mal 200 Pixel, und sind entweder Gradienten schattierten rot, gelb oder grün. Zu jedem gegebenen Zeitpunkt könnte es zu 100 dieser Fliesen auf dem Bildschirm betragen. Wäre es performanter sein, dass wir ein Bild für jeden (rot, gelb, grün) zu erstellen und wiederholen, wenn nötig, oder wäre es besser, dass wir sie Standard WPF Bürsten Zeichnung fortfahren?

EDIT: Um zu klären, die Steigung Pinsel verwenden wir ein LinearGradientBrush.

War es hilfreich?

Lösung

Aus der Erfahrung, zeichnen sie Bürsten werden weit bessere Leistung. Der Aufwand für das Laden der Kachelbilder und wodurch sie groß ist im Vergleich zu gefüllten Rechtecken zu machen.

Andere Tipps

Der einzige Weg, um diese zu klären wäre es in beiden Richtungen, um zu versuchen und die Leistung jeden Ansatz zu messen.

Sie müssen Code Zeitschleife den Putzes addieren und das Ergebnis Log-Datei, dann zwingen, ein 1000 (oder sogar 100.000) redraws Lage sein, eine realistische Zahl zu erhalten.

Mein Bauchgefühl ist, dass die LinearGradientBrush schneller sein würde als ein Bild zu laden (auch von Ressourcen) - aber ich bin bereit, als falsch erwiesen

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