WPF-Zeichnungsleistung mit einer großen Anzahl von Geometrien

8

Ich habe Probleme mit der WPF-Zeichnungsleistung. Es gibt viele kleine EllipseGeometry-Objekte (z. B. 1024 Ellipsen), die zu drei separaten GeometryGroups mit unterschiedlichen Vordergrundpinseln hinzugefügt werden. Danach render ich alles auf einfache Bildkontrolle. Code:

%Vor%

Es funktioniert gut, aber dauert zu viel Zeit - & gt; 0,5 Sekunden auf Core 2 Quad, & gt; 2s auf Pentium 4. Ich brauche & lt; 0,1s überall. Alle Ellipsen, wie Sie sehen können, sind gleich. Hintergrund der Kontrolle, wo ist mein DisplayImage, ist fest (zum Beispiel schwarz), so dass wir diese Tatsache verwenden können. Ich habe versucht, 1024 Ellipse-Elemente anstelle von Bild mit EllipseGeometries zu verwenden, und es arbeitete viel schneller (~ 0.5s), aber nicht genug. Wie beschleunigt man es?

Grüße, Oleg Eremeev

P.S. Entschuldigung für mein Englisch.

    
Olegs Jeremejevs 06.03.2010, 18:08
quelle

2 Antworten

4

Ich habe meine alte Rendermethode verlassen, aber jedes Mal ein neues EllipseGeometry-Objekt zu erstellen, war eine schlechte Idee, also habe ich es auf diese Weise optimiert:

%Vor%

Für x = 128 und y = 8 funktioniert es sehr schnell, sogar auf Pentium III Systemen.

    
Olegs Jeremejevs 18.04.2010, 11:13
quelle
1

Auch wenn ich etwas spät dran bin: Dieser Beitrag von Charles Petzold hat sehr geholfen ein ähnliches Szenario.

    
Jens 02.06.2010 14:21
quelle

Tags und Links