Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   CopyRect vs BitBlt (https://www.delphipraxis.net/96656-copyrect-vs-bitblt.html)

yogie 28. Jul 2007 16:36


CopyRect vs BitBlt
 
Hallo zusammen,

für eine farbliche 2D Visualisierung von Messdaten habe ich ein Programm auf der Basis von Graphic32 geschrieben. 8 Meßwerte werden als Farben kodiert als vertikale Laufstreifen dargestellt. Nachdem das Image gefüllt ist, verschiebe ich seinen Inhalt per CopyRect um eine Zeile nach oben und füge unten eine neue Zeile ein. Die Verschiebung wird von einem Timer ausgelöst.

Das TImage von Graphic32 ist, wie ich auch selber feststellen konnte, schon deutlich schneller als das normale TImage.

Hier nun meine Frage : Ist eine Verschiebung per BitBlt noch effektiver, bzw. wie ist die Effektivität von BitBlt vs. CopyRect einzuschätzen?

Gibt es grundsätzlich für das geschilderte Problem einen besseren Ansatz ?

Namenloser 28. Jul 2007 17:18

Re: CopyRect vs BitBlt
 
Hi,

prinzipiell ist BitBlt schneller, weil dort die Pixel 1:1 kopiert werden, während CopyRect intern StretchBlt benutzt. Bei StretchBlt werden die Pixel jedoch so gezerrt, dass sie exakt ins Zielrechteck passen. dadurch ist diese Funktion aber natürlich langsamer. Ansonsten bieten die Graphics32-Klassen die Methode "DrawTo" an, die mehrfach überladen ist und wahrscheinlich auch am schnellsten ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz