Hi there,
First of all, I am still learning… so patience is appreciated 
I have an issue where I’m working on a plugin that works great in Mac (M1), but in Windows, the more instances I open (VST3), the slower it makes the DAW until it just simply freezes 100% until I press stop.
There is a large area with a lot of paths being constantly repainted and re-coloured (24hz) and well, when a lot of instances of the VST are showing (3+) it just doesn’t work anymore.
To solve this, I wrote step() where I draw the image before painting it, so that I can simply paint the image in paint(), as below:
void visualizer_circle::step()
{
juce::Graphics g(ringImage);
....draw image....
}
and in paint()
g.drawImage(ringImage, juce::Rectangle<float>(0, 0, getWidth(), getHeight()));
so my question is:
How can I call step() in a parallel thread so that, if there was no time to draw the image, it skips the frame?
Calling it in timerCallback() doesn’t really solve it, and neither in paint()
Or - is there a way to smoothly have Windows draw these paths so that they don’t lag as bad (not using OpenGL)?
Also, I tried the ‘release’ version as I’ve read the ‘debug’ version can be laggy - but same results.
