M
Frolo schrieb:
Hey,
danke erstmal! Ich habe bisher diesen Code im WM_PAINT. Ich google mal die 3 Begriffe, die ihr genannt habt, bis dahin könnt ihr ja mal schaun, was man optimieren kann
Bin halt relativ neu auf dem Gebiet. Hatte vorher mein TCanvas und ne Form bei der ich DoubleBuffered auf true gesetzt hab
[code="cpp"]case WM_PAINT:
{
HBITMAP bmp;
bmp = CreateDIBSection(NULL, bmpInfo, DIB_RGB_COLORS, (void**) &rgbValues, NULL, 0);
...
Leider fehlen essentielle Teile um das ganze auszuprobieren ...
Wenn ich das richtig sehe wird CreateDIBSection() verwendet um Speicher für die Pixel zu besorgen.
Dafür müsste aber in bmpinfo die Groesse der Bitmap stehen.
- Woher kommen width und height ? Sind die konstant ?
->Im Programm werden die Begriffe vertauscht verwendet
- bmpInfo müsste dann damit initialisiert werden
- Wenn das (vermutlich) alles konstant ist, wieso wird dann bei jedem
Zeichnen immer wieder eine neue BitMap erzeugt und gelöscht ?
Das Erzeugen der Bitmap sowie das Berechnen der Grafik gehört definitiv nicht nach WM_PAINT.
Wenn sich weder Grösse noch Berechnung ändern könnte man das in InitInstance oder WM_CREATE
erledigen. Sollte sich die Grafik mit der Fenstergroesse aendern koennte man es mit der entsprechenden
Message neu machen.
Es wäre nett wenn Du die fehlenden Variablen sowie die Funktion mandelbrot() noch referenzieren koenntest.