GDI Fragen

17/01/2008 - 16:39 von Thomas Thiele | Report spam
Hallo,

ich habe mal ein paar Fragen, wie man esgünstig programmiert:

1. Zeichnen von komplexeren Graphiken bei WM_PAINT

Grundsàtzlich kann ich beim Malen entweder mit moveTo/LineTo/Rectangle
etc.pp. malen.
Selbstverstàndlich mit verschiedenen Brushes und Pens die immer
ausgewàhlt werden.
Oder ich könnte ein kleineres Bitmap mit BitBlt an die Stelle
kopieren.
Was ist performanter/günstiger?

2. Bruhes, Pens global speichern?

Ist es günstig die Bruhes, Pens nur einmal anzulegen und bei jedem
Durchlauf von Paint
nur zu benutzen oder jedesmal mit CreatePen und CreateSolidBrush neu
anzulegen?

Gruß Thomas
 

Lesen sie die antworten

#1 Markus Schaaf
17/01/2008 - 17:38 | Warnen spam
Thomas Thiele schrieb:

ich habe mal ein paar Fragen, wie man esgünstig programmiert:

1. Zeichnen von komplexeren Graphiken bei WM_PAINT

Grundsàtzlich kann ich beim Malen entweder mit moveTo/LineTo/Rectangle
etc.pp. malen.
Selbstverstàndlich mit verschiedenen Brushes und Pens die immer
ausgewàhlt werden.
Oder ich könnte ein kleineres Bitmap mit BitBlt an die Stelle
kopieren.
Was ist performanter/günstiger?



Kommt darauf an. Bitmaps kosten Speicher und lassen sich
bescheiden skalieren. Wenn Du die "vielen" Funktionsaufrufe ins
GDI sparen möchtest, kann Du auch ein Meta-File benutzen.

2. Bruhes, Pens global speichern?

Ist es günstig die Bruhes, Pens nur einmal anzulegen und bei jedem
Durchlauf von Paint
nur zu benutzen oder jedesmal mit CreatePen und CreateSolidBrush neu
anzulegen?



Besser jedesmal anlegen. Das ist eine sehr billige Operation und
GDI-Handles sind eher knapp.

Ähnliche fragen