All the calculations could be done before hand and stored and then the only thing left in the delayed draw is to set the buffer.
I haven’t looked at the code yet so not sure how much if any it will save though.
Could also group pixels that are far away from eachother into a single call, while a compromise i think it will maintain the effect.
I’ve used a pinephone pro with arch and postmarket.
It works, but you really have to love linux to use it as a daily driver.
My banking app (bunq) worked using way droid.