Currently (master at 764e8eca6b9d10c1b3e6a2e9ae3dce014035401f) MyPaint uses 64×64 pixel tiles to store layer images in RAM. We would probably be able to speed things up nicely if we switched to 128×128 or 256×256 pixel tiles. Existing CPU-based parallelization for tile ops like compositing or stroke painting would have more to chew on.
There a bunch of scripts in tests/ that can be used to check whether or not this is a good idea.
One major thing we need to look at for this: the strokemap format will have to change. Its shapes/1-bit masks are stored kinda weirdly in a way that makes assumptions about tile sizes.
Currently (master at 764e8eca6b9d10c1b3e6a2e9ae3dce014035401f) MyPaint uses 64×64 pixel tiles to store layer images in RAM. We would probably be able to speed things up nicely if we switched to 128×128 or 256×256 pixel tiles. Existing CPU-based parallelization for tile ops like compositing or stroke painting would have more to chew on.
There a bunch of scripts in
tests/
that can be used to check whether or not this is a good idea.One major thing we need to look at for this: the strokemap format will have to change. Its shapes/1-bit masks are stored kinda weirdly in a way that makes assumptions about tile sizes.