I am not sure I understand. I can use the full graphic stack via the usual Compose library, in retainer or immediate mode, including custom shaders if I want so that the animation doesn't use CPU cycles (and avoids system calls while doing so).
Aren't you loading profile images as textures in the graphics pipeline? It would be crazy to send the pixels of each profile every time the screen needs to change. That alone is already a small "retainer mode".
I agree that CPUs suck for rendering. That's why the retainer mode moves everything to the GPU itself. Frankly, to me the CPU shouldn't even touch the UI. The app just sends a graph of 3D objects and the GPU sorts out what has changed and renders it with the appropriate view boundaries.
Regardless, If you go for more complex 3D renderings, you will need a retainer mode at some point. There is no way to redraw a full 3D scene fast enough.