MenTaLguY wrote:
On Mon, 09 Apr 2007 15:26:43 +0200, Jasper van de Gronde <th.v.d.gronde@...226...> wrote:
So the speedup will definitely be less than 2, the only question that remains is how much less. If it's 1.5, well, that may be worth it. If it's just 1.0001 or something like that (or even less than one) it would be dubious.
Threads for rendering are a non-starter right now, at minimum unless we can entirely remove the use of SPStyle from NRArenaItem -- the locking issues are just too complex otherwise, and it is likely that we'd simply end up having to serialize the rendering threads, leading to something like that 1.0001 scenario.
(we'd also need to be careful about using the garbage collector in conjunction with multiple threads, but that's not an insurmountable problem in itself)
Well, I was thinking about using threads at a slightly lower level, for example just for blurring. That way the code that is actually impacted by the use of threads is limited to a handful of functions that mostly just use arithmetic anyway (so no state). Most of the Inkscape code base essentially wouldn't even have to know about it. However, it would mean you're creating threads quite often (or having some kind of communication between threads to wake them), and I have no idea how expensive that would be.