Performance issues with Core Graphics

Hi Joscha,
please move your Meter View into a CLayeredViewContainer and see if it fixes the issue.

Cheers,
Arne

Hey Reimund,

Yes, 100 % it is.

It is 64 bits in Cubase 9.5 VST2. Switching to VST3 does not resolve the issue. VST3 is also affected.

Regards,

Joscha

Thanks for the info, Joscha!

Hi Arne,

Thanks for the hint. But we also encounter CPU spikes when adjusting a knob in case of explicitly using CALayers. So, not only our meters are affected. But with meters, it is constantly bad. So, basically every kind of animation is a potential problem. But we will try wrapping control bundles into Layered View Containers.

Thanks again to Arne and Ray for the input. We will investigate soon and consider your suggestions.


Regards,

Joscha

Hi Arne and all others,

I have good news. We have managed to fix the sluggishness in our UI implementation. Now, we can revert the setWantsLayer patch. So, we do not comment it out anymore. We can see that the performance is inherently optimized when using the setWantsLayer in the NSViewFrame constructor.


Thanks for all the help,

Joscha

Hi Joscha,
that’s nice to hear. So what was the reason ?

Cheers,
Arne

The sluggishness was caused by an obsolete setDirty() for a UI control that was continuously called and caused redundant redrawing. In a former version of VSTGUI without the setWantsLayer patch, we did not notice, but with setWantsLayer the effect was very dramatic.

Regards,

Joscha