Article

From:
To:
Jens Gruschel
Subject:
Re: How threadsafe is TBitmap
Newsgroup:
embarcadero.public.delphi.graphics

Re: How threadsafe is TBitmap

Jens Gruschel wrote:

Thank you Jens for input.
> > Really, I'd like to see an official POV.
> 
> Officially you have to lock bitmaps, but not if the main thread is
> blocked :-)

....

> So you can: start a number of treads processing the pixel data (avoid
> using other methods or properties of TBitmap) if you make sure the
> main thread is blocked (use WaitForMultipleObjects with the handles
> of all threads or some events used by your threads signaling they
> have finished their work).

Very special case. Freezing GUI is not acceptable.

---
OK, consider scenario: - main thread works as usual (GUI, reactions on Sinchronize where some drawing can occur); - thread acquires images frame by frame; - another threads process frames, export pictures into bitmaps with preset size using Scanline, and display them via Sinchronize.
So Canvas methods or resizing are not used in threads.
I would like to know for sure: do I have to do Canvas.Lock or such the lock is unnecessary? -- Alex
FYI: Phrase searches are enclosed in either single or double quotes
 
 
Originally created by
Tamarack Associates
Fri, 15 Nov 2024 16:44:26 UTC
Copyright © 2009-2024
HREF Tools Corp.