I have a plugin with > 100 parameters and i’m using the new parameter system with the standard attachment classes.
I have a lot of sliders and removed shadows and gradients for the tests. There is nothing fancy on the UI. I can’t use setOpaque(true) on my sliders to avoid a whole UI repaint. I’m using the AU (AudioUnit) for the tests.
When i constantly move a slider with the mouse the CPU goes up 3%. That’s something i expect.
When i automate sliders i see that the main thread uses much more CPU. With 4 automated sliders it already uses 30% CPU when the UI is open (UI Thread). And it seems to be more when i automate more parameters with slider attachments.
My guess is that all the attachments get the same events like the host and this triggers a lot of repaints.
Audio data is much more granular than frames (44100 samples / s to 24 frames / s). I also do not need 24 frames for sliders animations. I’m not sure how the internals work. Some throttling mechanism would be great. I used to have a timer in the component class and a dirty flag to control the slider updates. I need some control over the updates to avoid this.
Any ideas are welcome.