Hello:
I am a new developer. I have dowloaded Inkscape source, compiled it, and have browsed the code with Eclipse (my favorite IDE). My end goal is to collaborate to add open_cl to Inkscape to make it superfast !
For now, I would like some guidence about the code. Is there a code walk-through either presentation style on youtube or a guide (link) ?
Hi Jeremy,
We currently have a branch that is using Cairo as the renderer. Once a new stable release of Cairo comes out the plan is to merge it. From my understanding, the rendering side will be the place where OpenCL could best be utilized. The rest of Inkscape apparently is still not thread safe, so all of inkscape would be a ways off.
Even though he's subscribed to the list, I added Krzysztof to the discussion as he's most familiar with the rendering work (it was his) and can probably best advise you on getting started with that (he was looking into doing OpenCL work himself and hasn't had time to implement it).
Either way, thanks for expressing interest and we're looking forward to working with you. In case you don't know yet, the project policy is that once you've had two accepted patches, we will grant you commit access (just fyi). Please feel free to also drop by irc to see if there are any developers around who might have insights (JonCruz is a very good resource who is around the night time in the PST/PDT timezone almost nightly).
Cheers, Josh
On Thu, Jun 16, 2011 at 7:54 PM, Jeremy Villalobos < jeremyvillalobos@...400...> wrote:
Hello:
I am a new developer. I have dowloaded Inkscape source, compiled it, and have browsed the code with Eclipse (my favorite IDE). My end goal is to collaborate to add open_cl to Inkscape to make it superfast !
For now, I would like some guidence about the code. Is there a code walk-through either presentation style on youtube or a guide (link) ?
EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On Jun 16, 2011, at 7:54 PM, Jeremy Villalobos wrote:
Hello:
I am a new developer. I have dowloaded Inkscape source, compiled it, and have browsed the code with Eclipse (my favorite IDE). My end goal is to collaborate to add open_cl to Inkscape to make it superfast !
For now, I would like some guidence about the code. Is there a code walk-through either presentation style on youtube or a guide (link) ?
I've started working on some such info, but nothing is really together into a helpful state yet.
You might start looking at what happens when we go to wireframe mode and back. The wireframe had been switched to using Cairo, which eventually all of the drawing will be. Seeing the difference might give you a starting point.
I think checking out the Cairo branch might be more useful right now if there is a desire to start any work soon. The biggest issue currently is branch diversion, especially with a lot of the recent commits to trunk. If anyone wants to update the branch it's always appreciated.
Cheers, Josh On Jun 16, 2011 11:05 PM, "Jon Cruz" <jon@...18...> wrote:
On Jun 16, 2011, at 7:54 PM, Jeremy Villalobos wrote:
Hello:
I am a new developer. I have dowloaded Inkscape source, compiled it, and
have browsed the code with Eclipse (my favorite IDE). My end goal is to collaborate to add open_cl to Inkscape to make it superfast !
For now, I would like some guidence about the code. Is there a code
walk-through either presentation style on youtube or a guide (link) ?
I've started working on some such info, but nothing is really together
into a helpful state yet.
You might start looking at what happens when we go to wireframe mode and
back. The wireframe had been switched to using Cairo, which eventually all of the drawing will be. Seeing the difference might give you a starting point.
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On 17-06-11 04:54, Jeremy Villalobos wrote:
Hello:
I am a new developer. I have dowloaded Inkscape source, compiled it, and have browsed the code with Eclipse (my favorite IDE). My end goal is to collaborate to add open_cl to Inkscape to make it superfast !
For now, I would like some guidence about the code. Is there a code walk-through either presentation style on youtube or a guide (link) ?
I don't think there is, but if you're interested in using OpenCL to speed up Inkscape my guess would be that you'd apply it primarily to filters (and possibly some other rendering-related code). Luckily the filter code is relatively self-contained and not too hard to modify without needing to know every little detail of Inkscape's code base.
The main files to look at for filter code is src/display/nr-filter-*. Gaussian blur already uses OpenMP for multithreading (and might not be the easiest filter to start with), but I think none of the other filters use any parallelization so far and some of them could be relatively easy to convert. For example, you could start with something like feComponentTransfer or feBlend to "get the hang of it" (although I have my doubts about any tangible speedups in these cases) and then go on to some of the more involved stuff.
And as was mentioned before, the Cairo branch (lp:~inkscape.dev/inkscape/cairo-rendering) is probably the best place to do this kind of thing. It will be merged with trunk as soon as the last remaining blocker is fixed and someone (Krzysztof most likely) finds the time to merge it.
2011/6/17 Jasper van de Gronde <th.v.d.gronde@...528...>:
Gaussian blur already uses OpenMP for multithreading (and might not be the easiest filter to start with), but I think none of the other filters use any parallelization so far
All filters in the Cairo branch use OpenMP.
Regards, Krzysztof
participants (5)
-
Jasper van de Gronde
-
Jeremy Villalobos
-
Jon Cruz
-
Josh Andler
-
Krzysztof Kosiński