Logic gets Choppy when dragging Components

I responded to an older thread but figured starting a new thread may keep the discussion cleaner.

Anyways, whenever I drag a Component, animations from my host, Logic, become super choppy (their meters and EQ Analyzer for example). At first, I thought maybe my repainting was taking too long, but when I don’t even repaint, choppiness is still there. I tried this with custom Components, and also the Slider class. Choppy either way.



Hi Jay!

Unfortunately, I couldn’t recreate your bug in Logic (I have 10.2.4). Are you on the latest version of the develop branch?

When you say you “don’t even repaint” have you confirmed this? A good way to confirm this is to run quartz debug and see what is being repainted. Another thing to try is to enable the JUCE_ENABLE_REPAINT_DEBUGGING flag in the juce_gui_basics module. However in my opinion Quartz debug is a bit more reliable for seeing the true reality what gets repainted. I strongly suspect it will be a repainting issue, but essentially it’s something on the message thread, maybe in a Timer for example? It’s worth doing some profiling to identify what the most expensive calls are.

Are you definitely on the latest version of juce?

We recently added repaint throttling for precisely the purpose of keeping Logic happy. Search the codebase for “shouldThrottle” to see the workaround we added.

Thanks for the replies folks! (Using Logic 10.2.4)
4.2.3 right? Forgive my ineptitude…

I can’t find shouldThrottle in the codebase… or perhaps I’m not doing it right. The latest version of JUce is 4.2.3 correct? I downloaded it from the main site and also from github (the clone~download green button right <- not familiar with github).

I create my Audio Plugin off of the Projucer and I search the keyword in Xcode, but it doesn’t give me anything. I figure it should be located in juice_basics_gui.h ? Don’t see it.


Pull the latest develop branch from github.

All is well. Thank you.