AudioVisualiserComponent - issues, timer, artefacts etc

I have some problems with AudioVisualiserComponent.
At first, I have set some bounds for my wave form, and there is some issue. Wave form is scrolling from right to left. But there is always few pixels on the beginning of window (at left) drawing some part of path. Please find attached gif file. I found out it happens only for chosen AudioVisualiserComponent::setBufferSize(128) and AudioVisualiserComponent::setSamplesPerBlock(1024). For other settings there is no problem. But unfortunately 128/1024 works best for me.
I also suppose it could has something to do with path.preallocateSpace (4 * numLevels + 8);. But I tried to change those setting and nothing happens. Please, could abyone give some advice? If you are really careful observer you can also see that on the end of screen (at right) there is really small gap between wave form and red frame of my component. I am not sure if it’s relevant, but sometimes that gap is little bit bigger.


Other issue. The scrolling is not perfectly fluid (OK it’s fluid but looks little bit nasty/not proffesrional) although I set setRepaintRate(30);. Please notice my waveform will be background for other components (which is not shown on the attached gif). So maybe there should be some settings to optimize and synchronize repaint() calling. But not sure how to do that. Of course AudioVisualiserComponent I set setOpaque(true). But for other components which are on top of my waveform I can’t do that.
I’ve also read in some other topics that juce team are going to depreciate Timer class because it’s not safety and has bad performance (it’s not my opinion, I only read something like that). AudioVisualiserComponent uses timerCallback(), so maybe I should think to use something else?

For any help great thanks in advance.
Best Regards.

Of course when I said that scrolling is not totally fluid I didn’t mean what you see on gif. On gif it is just because gif parameters. In the real life (on plugin when use) it is much better, but still not perfect.