a quick followup to myself...
I couldn't resist and spent some time on the threaded pixel-processor
code . The first part of the TODO I posted yesterday is done, the code
has been ported to gthread. This makes the thread functionality
available on all platforms supported by gthread-2.0.
I have also cleaned up the code further while porting it to gthread.
It seems to be working rather well now, but I haven't done any
benchmarking so far. There's now a #define to control the ratio
between created threads and tiles that are to be processed. This
parameter definitely needs tuning.
Also tried to port the code to GThreadPool but it turned out to be not
as trivial as I expected. The current code blocks until all threads
are returned and it is not trivial to implement this behaviour with
GThreadPool. So this part, the more interesting part of the TODO, is
I don't want to put more time into this, but I think it would
definitely make sense to introduce a thread pool to cut down the
number of thread creations. Any volunteers?
Gimp-developer mailing list