[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Re: [Panel-devel] svg rendering
From:       Sean Harmer <sh () theharmers ! co ! uk>
Date:       2007-10-28 18:55:54
Message-ID: 200710281855.55177.sh () theharmers ! co ! uk
[Download RAW message or body]

Hi Aaron,

On Sunday 28 October 2007 17:17:55 Aaron J. Seigo wrote:
> On Sunday 28 October 2007, Sean Harmer wrote:
> > Just for info, I'm trying a little experiment to try and make Plasma::Svg
> > use a multithreaded rendering backend. No idea if it will work yet or
> > not.
>
> brilliant; another place of threading performance improvement possibility
> will be to put all the dataengines in their own thread ... most of the
> interaction with engines happens via signal/slot and is assumed to be async
> so it should be fairly easy ..
Have I just been volunteered for something? :-D 

I'm not used to seeing the words "threading" and "easy" in the same paragraph, 
unless there's an "isn't" in there too ;-)

> connectSource() will need some work, but it shouldn't be too difficult.
>
> the query() method is one of the very few that might cause problems and
> require some re-jigging as it's a direct, assumed-to-be-synchronous call.
>
> we may be able to either get rid of query() all together or just make it
> signal-driven as well.
No promises but if my woefully single-threaded brain can take it, I'll have a 
look at the data engine threading possibilities after I tidy up the 
background rendering and give it a few more features.

I'm getting there with the SVG threading. Extra threads are launched and seem 
to be rendering OK. I think I've just eliminated a race condition where 
multiple threads were trying to use the same renderer simultaneously => 
crash.

This has highlighted that I need to be a bit smarter when I start a render job 
off as there is no point in having several threads if they are all contending 
for the same renderer (which is locked by a mutex). Should be easy to work 
around.

Back to debugging...

Sean



_______________________________________________
Panel-devel mailing list
Panel-devel@kde.org
https://mail.kde.org/mailman/listinfo/panel-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic