Multi-threaded canvas drawing

We have quite a few canvas elements that need to be redrawn every frame (a HUD basically) - it takes mos of the rendering time.

Also we have a spare CPU core.

So I’m thinking, what if we run 2 LVGL applications and one of them will simply draw canvas into memory mapped cbuffer and the other one will read and draw it on the display.

Would it work? Or maybe there is a better way like isolating canvas cbuffer drawing routine withing running LVGL. Thanks!