So why do you think there is huge performance boost when plugins are sandboxed and running in their own processes?
Re:Ableton Live 11
by spacechild1 on Monday November 16, 2020 @05:37AM
(#25110210)
PS: here's my own VST host with optional sandboxing and pipelining. Both features are orthogonal. https://github.com/Spacechild1/vstplugin
Supercollider (scsynth) and Pure Data - both I'm contributing to -, have single threaded DSP. Users told me that they can use many more VST plugins when they enable the pipelining option in my extension, which matches your experience.
Again, I can't look at the source code for jBridge. The only thing I know for sure is that sandboxing itself only causes performance loss.
Re:Ableton Live 11
by spacechild1 on Monday November 16, 2020 @05:22AM
(#25110127)
I tried to explain this in https://news.ycombinator.com/item?id=25068976. Read the linked paper if you want to learn more about multithreaded DSP.
To put it short: I think jBridge does “pipelining“ to avoid the context switch overhead. But pipelining can also be done without sandboxing, leading to even better performance. Without pipelining, sandboxing only gives you a performance loss. Sandboxing does not imply parallelism.
Even if that is the case, it doesn't change anything about the point I was trying to make... I acknowledge that jBridge gives you a performance boost, but you're wrongly attributing it to sandboxing. That's all I'm trying to say.