Eine Anwendung, an der unser Unternehmen gerade arbeitet, zeigt viele Rechteckformen mit Farbverläufen zum Zeichnen von "Tiles" an. Es entstand eine interne Diskussion, die eine Frage der Leistung stellte. Diese Kacheln haben eine Größe von etwa 100 mal 200 Pixel und sind entweder rot, gelb oder grün schattiert. Zu jeder Zeit können bis zu 100 dieser Kacheln auf dem Bildschirm angezeigt werden. Wäre es für uns performanter, ein Bild für jedes Bild (rot, gelb, grün) zu erstellen und es bei Bedarf zu wiederholen, oder wäre es besser für uns, sie weiterhin mit WPF-Standardpinseln zu zeichnen?Rendern viele wiederholte Bilder mehr oder weniger performant als mit Pinsel in WPF?
BEARBEITEN: Um zu verdeutlichen, ist die Farbverlaufsbürste, die wir verwenden, ein LinearGradientBrush.
Mit welcher Leistungsmetrik sind Sie am meisten beschäftigt? Geschwindigkeit, Speichernutzung, CPU-Auslastung usw. –
Grafikleistung, CPU-Auslastung usw. Wenn ich durch eine Liste von Hunderten solcher Verlaufskacheln scrolle, merke ich Bildschirmflimmern und hohe CPU-Auslastung. Wir haben ein paar Dinge ausprobiert, um die Leistung zu verbessern, aber ohne Glück. Ich habe mich gefragt, ob die Verwendung von gerasterten Bildern stattdessen helfen würde. – Kilhoffer
Flimmern und hohe CPU-Auslastung für nur ein paar hundert dieser Kacheln? Welche Art von Objekten erstellst du für die Kacheln? Erstellen Sie vollwertige FrameworkElements oder UIElements oder arbeiten Sie mit der Visual-Klasse auf niedrigerer Ebene? – Charlie