When I was playing an animation, using the double buffering (see the answer below from Paul Banach) did help. But once in a while it did lag on the animation part. What did help on my project was, because I use FreeRTOS, to give the embedded wizard task a higher priority while playing the animation.
My MCU is the STM32F746.
Maybe this helps