Very quick notes:
- in Kirta we paint with "dabs"
- all the painted dabs overlap with more than 80-90% of their area. Therefore, if we stop iterating pixels in a per-dab basis, but start grouping the dabs in sets of, say, 10, and calculate pixels for the united area, then we can get the gain up to 10x times.
- the blending of the opacity channel should also be simplified. Basic composite "over" is really slow, so we should use some "simplified" approach. This might be one of the topics of the scientific research.
- the main question of the research: can we use dynamically changing opacity for the strokes?