I wonder what is the refresh rate for this arrow in your firmware? If it's the same frame rate like in the original (afair 3fps), it's just not worth to spend resources at, and it's better to throw these CPU cycles for something more useful
I've got a Victor multimeter, it has a graph that refreshes MUCH faster than the numbers, and it may be useful sometimes to catch fast changes, but when the refresh rate of the graph is the same as the refresh rate of the numbers, what can it be used for?
It does not matter how often You get new data from the DMM chip, when there is only a single frame buffer.
Step 1: the data arrives, it is prepared for rendering, here you have almost 1/3 of a second. Life is good, code readability is number 1 priority

Step 2: preparations are finished, now we have to wait for the screen banking period (interrupt driven)
Step 3: the interrupt fires, render quickly everything into the framebuffer, before the screen starts displaying the first line. Now this is the tight spot (the screen is refreshed with about 30Hz and the blanking is only a small part). You have to put everything into the framebuffer before the visible stuff gets sent to the display. Everything You see on the screen has to be there in this blanking period. The "needle" or the graph plot is drawn by the CPU only, no DMA help there. (DMA could be used, but that eats more RAM. RAM is reserved for scope stuff at the moment)
All of the above does not matter, because it works and to be honest, I also like it

It can also be switched off, so everyone can customize the screen to his liking.
I don't really know at this point in time, how much RAM I will need for the features, that I want to implement. This is the reason, why I am so strict about MCU resources.
Now back to the scope stuff