WPF 2D-Leistung

26/02/2008 - 10:52 von Jürgen Schildmann | Report spam
Hallo,

Nun habe ich noch ne Frage:
Warum ist die 2D-Grafikleistung in WPF so schlecht?
Ich möchte Spektren darstellen; dazu ist es notwendig ein
Koordinatenkreuz zu zeichnen und ungefàhr pro Spektrum 1400 Linien.
Es kann sein, dass man mehrere Spektren übereinander lagern muss.
Da können schon mal 5000-10000 Linien zusammen kommen.
Wenn ich das in WPF mache, brauche ich zwischen 2 und 5 Sekunden (je
nach Technik).
Ich habe das mit Line-Shapes und auch mit Hilfe einer StreamGeometry
versucht.
Mit einer "StreamGeometry" gings schonmal schneller, aber immer noch
àtzend langsam.

Wenn ich das ganze unter DirectX mache schaffe ich so 30000 Linien in
20 ms.

Ist das ein Handycap von WPF?

Gruß,
Jürgen
 

Lesen sie die antworten

#1 Thomas Scheidegger
26/02/2008 - 11:56 | Warnen spam
Hallo Jürgen

Warum ist die 2D-Grafikleistung in WPF so schlecht?
pro Spektrum 1400 Linien.
Da können schon mal 5000-10000 Linien zusammen kommen.




XP oder Vista? aktuelle Grafikkarte + Treiber?
Zeitmessung bei erstmaliger Darstellung, oder folgenden (Refreshs)?
Freezable-Objects angewendet?

Links zum Thema, etwa:
<URL:http://msdn2.microsoft.com/en-us/library/aa970683(VS.85).aspx>
<URL:http://msdn2.microsoft.com/en-us/library/ms742196(VS.85).aspx>
<URL:http://blogs.msdn.com/kiranku/attac...7.ashx>
<URL:http://blogs.msdn.com/wpfsdk/archiv...e.aspx>


evtl. (gesamt-App) auch Performance Profiler
<URL:http://msdn2.microsoft.com/en-us/li...7.aspx>


DirectX mache schaffe ich so 30000 Linien in 20 ms.



sind unter DirectX die Linien auf fixe 1-Pixel (Position+Breite) bezogen?

Das WPF Rendering ist default viel 'abstrakter'
(viele Einflüsse von zahlreichen Einstellungen),
da müsste man 'vergleichbares' nehmen,
ich wüsste hier aber gerade keine Details...




Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen