-
-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kontakt large instrument loading freeze #236
Comments
ok just loaded the libraries into Kontakt in a Bitwig demo, load time is 5s now??? how??? so then something between yabridge and reaper appears to be broken. had to compress it again, this time 19,3MiB |
I'm having the same issue with REAPER, I cannot open my projects since it takes forever to load |
Seems to be happening only with VST3 version of Kontakt |
Looks like a bug in Kontakt, nothing I can do about it sadly. Looking at the log from the OP the plugin tells REAPER 99(!!!) times that its parameter names have changed (the The only way to speed this up would be to fetch all parameter info at once instead of bridging the individual requests, but then you need to deal with cache invalidation and it goes against one of yabridge's main design goals. |
@dev-rfc mentioned in the Discord that changing a compatibility option in REAPER helped. Do you happen to remember which options you changed? Maybe there's an option that causes the reloading of parameter values to be deferred until it is actually needed. |
Hi, |
I already told you:
Read the last sentence one more time. The only way to work around this buggy Kontakt behavior would be to fetch all parameter information at once and then deal with cache invalidation. That is possible, but I'd rather not do that to work around a buggy plugin. |
Sorry didn't mean to offend you. But performance became quite bad, beginning to stutter with 2048 sample buffer size and only a few tracks. |
I chatted with an NI dev a couple days ago just to get an idea of if my hunch was right and it probably is. The NKS scripts included with instrument libraries are interpreted line by line, and if a script renames 100 parameters Kontakt isn't smart enough to wait a bit to batch those parameter changes. It will ask the host to do a full rescan of all of the plugin's parameter names 100 times. And NI probably won't consider fixing this a high priority because normally without bridging it only takes a couple seconds do those potential hundreds of rescans (though it's of course still a lot of unnecessary work regardless). |
Thank you for all your effort! |
Sorry for late reply, yeah I do remember what have improved in my case. I couldn't properly load a project I previously saved because I had like 12 Kontakt instances and it was taking too long to load (around 30 minutes). By running Then messing with some settings I changed the option "parameter automation notification" to "Ignore all notifications" and the problem is now gone. Still, I am unsure if that brings any side effects, but you can change this setting per plugin, so change it only for Kontakt if you need it. Still Kontakt is quite slow on Wine compared to Windows, but at least it's at the same speed comparing it inside FL Studio (Wine) without bridging, so it's not a Yabridge issue it seems, especially because it seems to be happening in this particular scenario of |
@recallmenot that's up to the DAW hosting the plugin to decides, and in that case, that option in REAPER does this trick. |
In the plugin search window, you can set these compatibility-options per plugin, but for me that specific option does nothing. But banishing Kontakt to a dedicated process seems to work, no idea why. |
I seem to be having a similar issue where loading a large instrument (a drum library in my case) loads fine after a minute or two. But, trying to reopen a session with this instrument loaded causes the session to take around 30 minutes to start. Ignoring notifications doesn't seem to change anything and running Kontakt as a separate process causes |
To hopefully work mitigate the Kontakt bug that causes the host to rescan thousands of parameters hundreds of times when using certain VST3 Kontakt patches in REAPER.
I implemented the parameter info batching for VST3 plugins in 8289d76. I'll do the same thing for CLAP soon. Can anyone who experienced this issue test if this makes a big enough difference? You can download a development build of yabridge here: https://github.com/robbert-vdh/yabridge#installing-a-development-build |
Hey @robbert-vdh, thanks for implementing the batching. I just ran through a couple of quick tests with a few projects and it appears to cut the load time down to around 10-15 seconds for smaller projects for me. I can do some additional testing later if need be. This appears to have resolved the issue though. Please let me know if there's anything else you'd like me to do. Again, greatly appreciate the work you've put into this. |
The potential performance overhead of this VST3 Kontakt bug should be reduced by a lot in yabridge 5.0.5. |
@robbert-vdh I had no idea you continued working on this, thank you!!!! |
Thanks for giving yabridge a shot!
Problem description
Kontakt opens normally.
When loading a big instrument (~1GB RAM or larger) in Kontakt, like audiobro LA scoring strings 3 or audio imperia chorus, after the small "loading" window disappears, Kontakt freezes for a good solid 3 minutes, freezing the DAW too.
What did you expect to happen?
On windows loading these instruments takes around 10 seconds.
What actually happened?
During the 2-3 minute freeze, the Kontakt yabridge process is pinned at 100% (indicating one core is active) but htop shows 4 cores active about 25% each.
The HDD that stores the library is barely active (HDD LED mostly off).
Then the DAW unfreezes, the instrument becomes fully usable and CPU usage goes down to usual levels.
Operating system
Manjaro latest
How did you install yabridge?
official repo
yabridge version
5.0.3
yabridgectl version
5.0.3
Wine version
both staging-tkg-8.1 and staging-8.1
Plugin
NI Kontakt
Plugin type
VST3
Plugin architecture
64-bit
Host
Reaper 6.69
Desktop environment or WM
Xfce
GPU model
12600k iGPU
GPU drivers and kernel
video-linux, Linux 6.1.11-1-MANJARO #1 SMP PREEMPT_DYNAMIC
Debug log
had to zip it (was 56.3MiB)
yabridge.log.zip
Anything else?
HDD that stores the libraries is:
NTFS as I use Kontakt on Windows too
mounted via fstab at boot
assigned the same drive-letter (winecfg) as in Windows so paths are identical
The libraries have been freshly batch-resaved in linux
The text was updated successfully, but these errors were encountered: