SerenityOS / serenity

The Serenity Operating System 🐞
https://serenityos.org
BSD 2-Clause "Simplified" License
30.75k stars 3.18k forks source link

Refactor the PixelPaint filter pipeline for performance and modularity #14843

Open kleinesfilmroellchen opened 2 years ago

kleinesfilmroellchen commented 2 years ago

While working on #14840, I noticed several problems with the current PixelPaint filter pipeline:

This causes performance problems and necessitates unclean workarounds. I therefore suggest the following rearchitecting, which can for the most part happen in small modular steps:

CC @TobyAsE I want to hear what's your opinion on this.

TobyAsE commented 2 years ago

The filter architecture gave me a headache since I updated it for the Gallery. I love seeing the suggestions on this! I'm not too sure whether moving all the filters over to LibGfx is possible, let's see where this goes when we come to it.

Great having people care about PP :^)