mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Do small vector optimization for all communication
I once read years ago somewhere on Stack Overflow that `std::vectors` with that are preinitialized to a default size would allocate the initial capacity on the stack. This of course doesn't make any sense (run time sized stack allocations can cause all kinds of issues), so we were still allocating with our default 64-byte sized buffers, but just not as often.
This commit is contained in:
@@ -40,6 +40,9 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
event and parameter change queues.
|
||||
- VST2 audio processing also received the same small vector optimization to get
|
||||
rid of any last potential allocations during audio processing.
|
||||
- The same small vector optimization has been applied across yabridge's entire
|
||||
communication architecture, meaning that most function calls should no longer
|
||||
produce any allocations for both VST2 and VST3 plugins.
|
||||
- Changed the way mutual recursion in VST3 plugins on the plugin side works to
|
||||
counter any potential GUI related timing issues with VST3 plugins when using
|
||||
multiple instances of a plugin.
|
||||
|
||||
Reference in New Issue
Block a user