GPU acceleration in Krita

Boudewijn Rempt boud at valdyas.org
Thu Apr 6 09:01:29 UTC 2017


On Thu, 6 Apr 2017, Andrew Savonichev wrote:

> Hello,
> 
> I'd like to know what is the status of GPU usage in Krita. I know
> Krita can use OpenGL
> for rendering, but I'm thinking about offloading image processing
> algorithms to GPU.
> 
> From my understanding, many algorithms in Krita are data parallel and
> operate on entire image, what
> makes them good candidates for offloading.
> 
> Is there any directions, discussions or maybe some existing work on
> enabling GPU acceleration?
> What do you think about adding this to Krita?

Right now, only the canvas uses the gpu. We have had two attempts to
use the GPU for implementing filters, once using opencl, once with
glsl. That code is so old and was so unripe, it's probably not even
useful to look at.

Apart from filters, recomputing the layer stack on the gpu could be
worth-while, and writing brush engines that run on the gpu could be
worth-while. In both cases, the problem is getting the pixel data to
the gpu and back in the main memory.

There are two possible approaches: store everything in main memory and
copy to the gpu memory when needed, and then when done, back, but that
is slow. The other approach would be to keep the entire layer stack in
gpu memory, but that would limit the size of images -- and people do
work on images that take gigabytes of memory.

But, I am _very_ eager to see progress in this area and would
love to work with you to see this happen.


-- 
Boudewijn Rempt | http://www.krita.org, http://www.valdyas.org


More information about the kimageshop mailing list