![]() |
GDI/GDI+ - Frage an die Gauge Gurus
Hallo zusammen,
Hans Hartmann hat letztens innem anderen Forum gemeint, GDI+ sei etliche Mal schneller als GDI...?! Also, ich habe mal exakt das gleiche Instrument mit GDI getestet, dann umgeschrieben (den ganzen Vektor-Berechnungs-Kram logischerweise gelassen) für GDI+, und es war ein ganzes Stück *lahmer* als die GDI-Version (sah aber höllisch gut aus). Kann mal jemand bestätigen, ob GDI+ jetzt hardwarebeschleunigt ist oder nicht, und vielleicht mache ich ja irgendwas falsch, wüsste aber nicht, wo. Wo sind denn mögliche Fehlerquellen, dass GDI+ bei mir so viel langsamer läuft, egal ob mit oder ohne AA? Vielen Dank im Voraus, Etienne |
re
Hallo,
dass GDI+ wesentlich schneller ist, kann ich nicht beweisen. Etwas schneller sollten die Routinen aber sein. GDI+ offeriert allerdings die Möglichkeit, Anti-Aliasing einzusetzen und noch ein paar andere Effekte/ Funktionen, auch wie Farbverläufe. Zu deinem Problem: Vielleicht initialisierst du GDI+ zu oft? Verwendest du bestimmte Zusatzfunktionen? |
Re: re
Zitat:
Zu häufige Initialisation: Kann gut sein. Nicht GDI+ an sich, aber Pens/Brushes, d. h. bei jedem Refresh werden die Pens/Brushes neu initialisiert (Pen pen (Color... width etc)). Das Problem ist, das Teil braucht Brightness Control, und das ist der einzige Weg, den ich gefunden habe, dies zu realisieren. D. h., wenn beispielsweise die Variable brightness von 0 bis 1 ginge, und diese Variable über Clickspots geändert werden kann, habe ich die Color-Werte bei Pen pen (Color blabla) auf so etwas wie 255*brt gesetzt. Daher die Neuinitialisierung. Leider kenne ich zur Zeit keine bessere/schnellere Möglichkeit, die Farbe der Pens zu ändern, wenn sie schon deklariert wurden... :rolleyes: Danke trotzdem, Etienne Edit: Achso, zu den 'Zusatzfunktionen', falls Du eben AA und/oder Farbverläufe meinst, ja, benutze ich. Aber auch ohne AA war die GDI+-Version langsamer. |
ähm GDI general device index (oder so) von C++ WIN32 API Programmierung? Da gibt es ne neue Version?
Johannes |
ähm ja. Heißt übrigens Graphics Device Interface. Und GDI+ ist bei WinXP und WinServer 2003 standardmäßig dabei, wenn ich mich nicht irre...
|
Mhmmm... Also jezt habe ich wiederum innem anneren Forum rausgefunden, dass es anscheinend mehrere Versionen von GDI+ gibt, wobei 1.0 offenbar von Natur aus nicht hardwarebeschleunigt ist. Ich gehe mal davon aus (ich hoffe), dass irgendwelche Nachfolger hardwarebeschleunigt sind. Ansonsten verstehe ich wirklich nicht, wie Hans Hartmann oder auch andere ihre GDI+ Gauges so schnell hinbekommen... (?) :rolleyes: Denn in Version 1.0, von der ich jetzt halt ausgehe, dass ich sie habe, kenne ich keine Möglichkeit, irgendwie Hardwarebeschleunigung zu aktivieren. Kann jemand helfen, oder weiß jemand, wo man eine neuere Version bekommen kann?
|
kurze zwischenfrage:
wo krieg ich GDI+ her? Ich hab WinXP und MSVC++...sind die benötigten Datein schon dabei oder muss man sich ein SDK runterladen??? Und gibt es irgendwo Tutorials über die Anwedung? Danke schon mal! Gruß Bastian |
re
am Besten wäre es, das aktuelle SDK bei msdn herunterzuladen.
|
Danke
Johannes |
Ja, das Platform SDK (http://www.microsoft.com/msdownload/...sdk/sdkupdate/).
Ich weiß nur leider immer noch nicht wirklich weiter. :( |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 06:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag