I have made a goniometer component for a plugin I am developing, and was curious to see if I could replicate the glow effect seen in the latest version of Flux Stereo Tool plugin. They seem to achieve the glow by blurring the graph image before drawing a new buffer on it, which causes previous buffers to become blurrier over successive repaints.
I implemented a similar blurring in Juce using:
ImageConvolutionKernel imageKernel(3); imageKernel.createGaussianBlur(8.f); imageKernel.applyToImage(myImg, myImg, myImg.getBounds());
My plugin is repainting at 25fps and with the gaussian blur enabled the frame rate drops noticeably and CPU usage jumps (as measured in my DAW, Reaper). On the other hand Stereo Tool repaints at 30fps and stays perfectly smooth, and barely touches the CPU. My guess is that they are using hardware acceleration to render their goniometer?
The fancy blur isn’t necessary for my plugin, but I am curious how one would go about implementing that sort of animated eye candy in Juce without compromising performance?