[Gimp-developer] OpenCL and GIMP tile size



I'm not that used to the GIMP codebase, so I'm posting this here so
maybe you guys can give me a hand.

By far, the largest performance problem with OpenCL in GIMP right now
is that the processing graph is evaluated in regions that are the size
of a tile (i.e. 128x64), the problem is that you can imagine the
amount of overhead to setup OpenCL to work just on a 128x64 image each
time.

It's not necessary to change the tile size because OpenCL in GEGL
works in the linearized image anyway, so I just want to change the
processing region.

So, I've been trying to make the evaluation size independent from the
tile size, but I got stuck in the following problem: gegl_node_blit is
being called on per-tile basis inside
gimp_tile_handler_projection_validate.

I guess I could hack the function to make it process the whole dirty
region at the first time, but that's maybe not the better approach, as
we are going to do unnecessary work by processing tiles that are not
currently in the view.

So what do you think is the best way to do this?

Victor


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]