Many thanks for letting me know, I appreciate you trying out the changes. I have some time this week to profile and optimize things further. Don’t have a good Linux setup for testing yet, but it’s probably something silly I overlooked.
Edit: I’ve already found a few optimizations to make. One would be to not draw the surface when it’s not visible. Oops!