Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - TBitmap PixelFormat pf24bit ScanLine Performance Problem!


mcknew - Mo 12.07.04 15:49
Titel: TBitmap PixelFormat pf24bit ScanLine Performance Problem!
Hi Leute,

folgendes Problem mit Graphics.TBitmap

die Ausfürung folgender Zuweisung aus Delphi benötigt ca. 40ms :
PixelFormat := pf24Bit; (TBitmap)
nachdem das App fertig kompiliert ist, und Delphi geschlossen ist,
dauert diese Zuweisung ca. 360ms, und nachfolgende ScanLine noch länger!

Komisch ist auch folgendes:
Delphi ist zu.
sollte ich irgendwas ins Clipboard kopieren (z.b. Screenshot) before o.g. Zuweisung in meine APP erfolgt, ist diese Funktion wieder 40ms schnell.
wenn ich aber voher Text ins Clipboard kopiere (z.b. Text im Notepad) ist diese Zuweisung wieder 360ms langsam!


Kennt jemand die Lösung?
_________________
mfg,
ALex


jaenicke - Mo 12.07.04 16:35

mcknew hat folgendes geschrieben:

Kennt jemand die Lösung?


Nee, auf Anhieb nicht, aber sieh doch mal in den Quelltext, vielleicht findest du ja da was. Dafür klickst du einfach auf TBitmap während du die Strg-Taste festhälst.
(Ich werd desgleichen tun, wenn ich mal Zeit hab...)


mcknew - Mo 12.07.04 17:13

leider kann ich in Delphi nicht debuggen,
da in der Entw.Umbegung ist alles ok.
(muss mit messages arbeiten)


jaenicke - Mo 12.07.04 17:18

Wer sagt was von debuggen?

Ich meinte nicht während das Programm läuft klicken, sondern wenn nicht, um nur in den Quelltext reinzuschauen...


Muetze1 - Di 13.07.04 19:24

Moin!

Und ansonsten ist 32 Bit ist eh besser bei Scanline, da dann jeder Pixel mit seinen Farbwerten an einer durch 4 teilbaren Adresse liegt und nicht immer wechselnd ungerade/gerade wie bei 24 Bit. Ansonsten gibt es bei TBitmap und dem PixelFormat sowie Grössenänderungen Probleme bzw. Einschränkungen. Mehr dazu auf der efg's Computer Lab. Dort gibt es einen grossen Artikel darüber.

MfG
Muetze1