Hallo zusammen,
ich kram diesen Thread aus dem Mai noch einmal hervor, da hier noch Fragen unbeantwortet sind, welche mich aber derzeit ebenfalls beschäftigen und dieser Thread über die Suche einem entgegenspringt
. Die Ursprüngliche Frage war ja:
GDI,
GDI+ oder Direct2D (per TDirect2DCanvas)?
Die Infos im Netz verwirren hauptsächlich, da jeder eine Meinung hat (schön), die aber meist das Gegenteil der anderen Meinung darstellt (das ist nicht so schön *g*).
Nun die Frage: Kann mir jemand eine Aussage geben, welche Zeichen-Methode die optimale Lösung ist, um bei Windows 7 mit Hardwarebeschleunigung eine Oberfläche zu zeichnen? Unter "Oberfläche" verstehe ich:
- PNG-Bilder einfügen (per Maus verschiebbar - ähnlich Windows-Desktop)
- Text zeichnen
- Linien zeichnen und diese möglichst schnell aktualisieren (für Statusanzeigen)
Ein Beispiel meiner aktuellen Implementierung mit
GDI (ohne Plus) findet man im Anhang. Es handelt sich um die grafische Darstellung meines Lichtprogramms. Alle Elemente werden live gezeichnet.
- GDI (ohne Plus) wird ja wohl bei Windows 7 nicht mehr per Hardware beschleunigt. Ich hab da aber auch unter XP aufgrund vieler PNG-Bilder meist nur mit 15 FPS gearbeitet, damit die CPU-Auslastung durch das Repainting nicht zu hoch wird (BitBlt).
- GDI+ soll ja unter Windows7 wieder Hardwarebeschleunigt sein. (SynGDIPlus-OpenSource Methode, um TCanvas mit GDI+ zu zeichnen - ist das sinnvoll und performant?)
- Mit TDirect2DCanvas hab ich noch keine Erfahrung.
Hier noch eine Quelle, wo auch (eher ergebnislos) zwischen Direct2DCanvas und
GDI+ diskutiert wurde:
Chris Bensen Blog: TDirect2DCanvas-Performance
Noch einmal: was wäre die optimale Zeichenmethode, um möglichst schnell mit oben angegebenen Voraussetzungen zu zeichnen?
vielen Dank,
Christian