Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi BitBlt zu langsam bei threads? (https://www.delphipraxis.net/89689-bitblt-zu-langsam-bei-threads.html)

Shadow 4. Apr 2007 10:06


BitBlt zu langsam bei threads?
 
Hallo alle zusammen :)

Hab hier nen kleines Problem vielleicht kann mir ja jemand weiter helfen.

Folgede Situation:

ich möchte einen Grafen in eine Paintbox zeichen um das flackern trotz DoubleBufferd zu verhindern
erzeuge ich mir ein Tbitmap und führe darauf meine canvas Zeichenopertaionen aus.

Anschließend kopiere ich es mittels BitBlt.

z.B.:

BackpufferProz ist das Tbitmap
pbProz ist die Paintbox

Delphi-Quellcode:
 BitBlt (pbProz.Canvas.Handle,
         0,
         0,
         BackpufferProz.Width,
         BackpufferProz.Height,
         BackpufferProz.canvas.handle,
         0,
         0,
         SRCCOPY) ;

Diese Darstellung wird in einer idel prozedure des Haupthreads aktuallisiert (soll ja schnell gehen ;) ). Soweit so gut. Läuft auch alles prima, kein flackern und sehr schnell.

Jetzt zu meinem eigentlichen Probelem ... in der Anwendung laufen mehrere Threads die wichtige
Berechnungen durchführen. Nun konnte ich beobachten das anscheinend das BitBlt relativ langsam ist bzw
wenn es angestozen wird dieser Thread durch ein höher priorisierten Thread scheinbar nicht unterbrochen werden kann.
Und daher wichtige Berechnungen nur unzureichend stattfinden.

Kann es an dem BitBlt liegen ?

Wäre super wenn ihr mir da helfen könntet ..


Mit freundlichen Grüssen,
Andre

EWeiss 4. Apr 2007 11:14

Re: BitBlt zu langsam bei threads?
 
Wenn es dir zu langsam ist dann nimm doch die API GetDIBits256

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 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