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.