IPlugEffect improperly works or doesn't work with some hosts

Audacity
IPlugEffect VST3 produces a cracking sound. Changing buffers doesn’t help. Other VST3 plug-ins work without problems.
Window resizing is not smooth - the window “jumps”. The knob movement is also not smooth, it jumps. Other VST3 plug-ins work with Audacity without problems, their knobs don’t jump.

FL Studio
IPlugEffect VST3 produces normal sound, the knob moves smoothly, but window resizing is not smooth.

Steinberg VST3PluginTestHost
Window resizing is not smooth, the knob movement is also not smooth.
The sound is affected by the ‘jumping’ movement of the knob (this effect is audible when I use the knob to change the frequency of a sine wave generator).

IPlugEffect.exe
Strangely the same problem: Window resizing is not smooth, the knob movement is also not smooth.
The sound is affected by the ‘jumping’ movement of the knob (this effect is audible when I use the knob to change the frequency of a sine wave generator).

Reaper
No problems at all.
Window resizing is smooth, knob movement is smooth, no sound artefacts even if I use the knob to change the frequency of a sine wave generator.

My own VST host
I tested IPlugEffect VST with my own VST host program. The same problem: Window resizing is not smooth, the knob movement is also not smooth.
The sound is affected by the ‘jumping’ movement of the knob (this effect is audible when I use the knob to change the frequency of a sine wave generator). Large buffers don’t help. No problems with other VST plug-ins.

I repeated these tests on two computers with Windows 10: a modern one and a 10-years old one. The results are the same.
I used Visual Studio 2022 and edited IplugEffect-win.props like follows:
<EXTRA_ALL_DEFS>IGRAPHICS_SKIA;IGRAPHICS_CPU;IGRAPHICS_NO_SKIA_SVG;IGRAPHICS_NO_SKIA_SKPARAGRAPH</EXTRA_ALL_DEFS>

In fact, IPlugEffect perfectly works with Reaper and have some problems with all other tested hosts.

Where to dig?

I have also had problems in Audacity that I posted here: https://iplug2.discourse.group/t/has-anyone-tried-their-plugins-on-audacity-3-6-i-seem-to-have-problem/927

Reaper is a great development host because it loads fast. But I have also found it extremely robust - it will load plugins that crash or fail in some way in other DAWs. So it is not a great test host, IME.

I have had AU plugins pass Logic’s AU validation but still fail or crash when loaded in a project.

What I have trouble understanding is if all of these plugin types (VST, VST3, AU, etc) are “standards” why does a plugin work in some DAWs but not others?

So my approach has been to try my plugins in as many DAWs as possible and get VERY comfortable with the debugger!

The incompatibility with Audacity is not a large problem (although the WDL-OL’s version of IPlugEffect perfectly works with Audacity). One DAW can be safely ignored.

My main problem lies in the lagging knob control. The WDL-OL’s knob works smoothly and allows me to implement a smooth frequency changer which doesn’t produce any audible artefacts. The IPlug2’s knob “jumps” and produces audible artefacts. I tried to replace it by the IPlug2’s fader but the problem persists: IPlug2’s fader also “jumps” (WDL-OL’s fader doesn’t “jump”).

This problem is not an external one: IPlugEffect.exe works without a DAW and its knob doesn’t work smoothly.

I mentioned the incompatibility with Audacity in my post because I think that the lagging GUI may somehow cause this incompatibility.

My current goal is to find the reason of the GUI controls lags in the EXE version of IPlugEffect. If anyone has any ideas, please share.

I think you showed that you are using CPU graphics? I had problems with that also but it was with older iPlug2 files. Make sure you have the latest version of iPlug2 and also try other GPU choices here:

https://github.com/iPlug2/iPlug2/wiki/03_Switching_graphics

Thank you very much for your advice. I just replaced IGRAPHICS_SKIA;IGRAPHICS_CPU; with IGRAPHICS_SKIA;IGRAPHICS_GL2; and IPlugEffect.exe started working smoothly, its knob doesn’t lag any more.

It is strange that IPlugEffect.exe doesn’t work properly (smoothly) with IGRAPHICS_CPU even on the latest computer with the latest version of IPlug2. The CPU rendering ensures compatibility with the maximum number of computers, so it could be the ideal solution for my plug-in which doesn’t contain any graphics with the exception of knobs and sliders.

IMO, it would be best to go with METAL graphics rather than GL2 at this point (on Macs). Apple has deprecated, but still supports, GL2 but I don’t know for how much longer. Conversely, GL2 still seems well supported on Windows computers, AFAIK.

HOWEVER, yes, CPU is the most compatible. There was a fix for the CPU issue that was brought up in this thread: https://iplug2.discourse.group/t/is-igraphics-cpu-the-most-compatible-graphics-option/719

I tried it and it worked for me.

BTW - I actually prefer the less recommended NANOVG over SKIA for bitmaps. It seems to render sharper images, especially when resized with the corner resizer function. It has a size limit on bitmaps but it’s usually plenty for plugins. Drawback is you can’t use NANO with “CPU” only SKIA. So you have to make some choices…

I am using the latest precompiled version of SKIA. I downloaded it from https://github.com/iPlug2/iPlug2/releases/download/v1.0.0-beta/IPLUG2_DEPS_WIN.zip Unfortunately its CPU rendering is too sluggish on all my Windows computers with standard Full HD monitors.

Thank you for recommending METAL. I will try it on Mac. I hope that using SKIA+GL2 on Windows and SKIA+METAL on macOS will solve the compatibility problem.

I am still using WDL-OL by Oli Larkin. This is a fantastic stuff! Its CPU rendering perfectly (smoothly) works on ‘all’ computers including the latest M2 ones. Its LICE graphics is powerful enough for audio plug-ins - taking into consideration that audio plug-ins are about audio effects, not visual ones. It even works with Audacity. The only reason I am trying IPlug2 is because it has two great new features: CLAP support and 4k monitor support.

I started out with that way back but it lacks things that most plugin users nowadays demand - like resizeable UI. And it was not ARM-compatible - so how are you running it on M2 - in Rosetta mode? Many users of your plugins want native ARM, at least they did with mine.

I think once you fully “get into” iPlug2 you won’t look back. I didn’t!