This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Krita renderer

Tags: None
(comma "," separated)
whoami?
Registered Member
Posts
7
Karma
0

Krita renderer

Fri Aug 17, 2012 9:53 pm
Hi again!

I have some new questions:
1) Krita mostly using software rasterizer, right? I have seen a part of opengl code, but only 6 fragment shaders in "krita/data/shaders/".
2) Do you have plans to make more use of the modern GPU (such as opengl and opencl implementation)?

Thanks! :)
slangkamp
KDE Developer
Posts
607
Karma
4

Re: Krita renderer

Fri Aug 17, 2012 10:53 pm
1) All internal calculation are currently done on the CPU. OpenGL is used for the OpenGL canvas. The shader programs are used for the preview of the gradient tool when the OpenGL canvas is used.
2) There is currently some work underway on a OpenGL 2 ES canvas. I have also done some experiments to use OpenCL for brushes, but that still in very early stages.
whoami?
Registered Member
Posts
7
Karma
0

Re: Krita renderer

Sun Aug 19, 2012 7:32 pm
1) OpenGL using for display/preview results only? Am I correct, you just calculates on CPU and updates gl textures?
2) If I'm not mistaken, it is possible to transfer all the calculations to the GPU, right? OpenGL have 8, 16 and 32 bit float and integer formats and OpenCL can access to this textures. I have not programming OpenCL yet, only OpenGL, but I red CL specs a bit.
I think in the right way or is it too optimistic? :)
slangkamp
KDE Developer
Posts
607
Karma
4

Re: Krita renderer

Sun Aug 19, 2012 8:04 pm
1) Right
2) There are limitations. Lots of operations are not very complex, so the memory transfer overhead could be bigger than the advantages of the GPU. Beside that there are some things that are not suited for the GPU like generating random numbers.
whoami?
Registered Member
Posts
7
Karma
0

Re: Krita renderer

Sun Aug 19, 2012 8:35 pm
slangkamp wrote:Lots of operations are not very complex, so the memory transfer overhead could be bigger than the advantages of the GPU.

But what will be transferred if textures will be stored on GPU? OpenCL kernels? Somthing else? By the way, I think we have about 1-2 GB per second cpu->gpu transfer.

slangkamp wrote:Beside that there are some things that are not suited for the GPU like generating random numbers.

I saw random number generators for gpu on web. Btw, this stuff need more research.
slangkamp
KDE Developer
Posts
607
Karma
4

Re: Krita renderer

Sun Aug 19, 2012 10:07 pm
Random numbers are not that important just used in some cases.

OpenCL kernels are not a problem, I think. They are uploaded before doing an operation.
The Gimp developers have posted some results of their OpenCL code: http://meudepositodeideias.wordpress.co ... up-to-now/ It always depends on how much can be done one the GPU and when you need to send and received data from the GPU.


Bookmarks



Who is online

Registered users: abc72656, Bing [Bot], daret, Google [Bot], lockheed, Sogou [Bot], Yahoo [Bot]