View Single Post
Old 08-31-2020, 05:34 PM   #5
Human being with feelings
Join Date: Apr 2018
Posts: 352

Originally Posted by Tale View Post
But doesn't that cause the GUI to be redrawn constantly (presumably at only 24 FPS, but still)?
I didn't see a performance hit in Pro Tools after making these changes so I didn't think to check. But now I have and, yes, "SetClean()" is getting called constantly. Maybe it has been doing this all along, IDK, I wasn't looking for it. I update my GUI on every block (meters, etc.) so maybe the performance hit is being masked by those updates. I temporarily disabled my GUI update code in the processing blocks but SetClean() is still being called from somewhere.

Ugh, OK, so there must be a "root cause" fix for the issue. It's strange - and perhaps a clue - that I'm only seeing this problem in Pro Tools and only on Mac. I've looked through iPlug's Mac and AAX -specific files but don't see a possible cause. Debugger struggles for some reason in Pro Tools so I'm having a tough time tracing the steps there - further complicated by the fact that it's an intermittent problem.

BTW - the iGraphics.cpp code looks a little funny to me too. It checks if(mStrict) and mStrict appears to always be true - which I believe means it constantly redraws. Is that why SetClean() keeps getting called? Also, the function itself seems to be recursive in that it calls pControl->Draw() from inside the Draw() function. Isn't this an endless loop? I don't understand what's going on here...

Last edited by Nonlinear; 08-31-2020 at 09:21 PM.
Nonlinear is offline   Reply With Quote