Thank you! The transition effect was something that was only possible at such a low resolution. I'm really happy with how it turned out.
I copied the screen buffer from the GPU back to CPU memory. Then grouped pixels by color in the before and after image. Then made particles such that each before and each after pixel was represented by at least one particle. Finally slid the particles across the screen, smearing their color from source to destination.
So yeah, totally possible with 4000 pixels. Impossible with millions of pixels. Also helped by the fact that my color palette has 9 color groups, with 7 shades each. So I could group e.g. all the browns, and have the particles slide through the shades as they travel.