I have a question. It’s a fairly detailed one.
I would like to better understand the performance differences between Fourier’s processing approach, VST3 processing on Windows PCs, and VST3 processing on macOS, as well as the implications of how much access the operating system provides for plugin processing. In particular, I’m interested in the challenges faced by VST3 plugin developers and host application developers when working on an OS like macOS, which is relatively closed, compared to systems that are more open at the OS level.
I have been using the Fourier system since the very early beta stage, having received the hardware before the official release, and I’ve continued using it since day one of launch. I find it to be an excellent system, and I am very satisfied with the continuous software updates. I also feel that I have a reasonable understanding of its unique plugin processing architecture.
Recently, I’ve been running Waves Performer on an M3 Ultra 32-core Mac Studio, combined with a DAD CORE 256, and I’m able to use a very large number of VST3 plugins with extremely low latency. I’m inserting up to 8 plugins per slot across 64 Performer slots, processing 96 MADI channels at 96 kHz with buffer sizes of 64 - 96 samples. Apart from occasional, unexplained momentary CPU spikes, the system runs without any real issues. Overall latency is consistently in the 1.32 –1.99 ms range.
Lately, I’ve been spending a lot of time studying defeedback plugins, which have become a hot topic. While I’m not a developer and therefore don’t know the exact nature of the computations these plugins require, the M3 Ultra system is currently handling more than 10 instances of plugins that are known to be very CPU intensive, and hundreds of plugins in total, all under 2 ms of latency. Plugin developers are also actively maintaining and updating their products.
However, at the same time, some developers state that they can no longer continue development due to macOS’s increasingly restrictive policies. From a user’s perspective, this naturally raises the question: are other developers somehow achieving what is supposedly “impossible”?
With Fourier as well, when appropriate plugins are chosen and used correctly, VST3 plugins can be run very comfortably and stably with no major issues. The relatively long I/O latency is really the only downside; aside from that, plugin compatibility testing and updates are extremely fast. This level of support is something that is hard to find in other systems.
That said, one common issue across both systems is the occurrence of unexplained CPU spikes. Given the large number of plugins involved and the extremely low latency processing requirements, this feels like a genuinely hard to trace problem.
Could you provide more detailed insight into the causes of these momentary CPU spikes, as well as the differences and challenges involved in developing VST3 hosts and managing plugin processing on Windows versus macOS? After more than a year of building and operating these systems, I’ve come to believe that users need to understand the overall architecture of VST3 systems. not just how to “run plugins” in order to achieve maximum stability.
I have a general understanding of this to some extent. On Windows-based systems, I know that VST3 host applications can directly control and assign specific CPU cores, preventing other cores, such as efficiency cores from interfering, and can be customized to use exactly the cores they want. This is why systems like NUC PCs, while not particularly high spec on paper, can still exist as highly purpose built and optimized solutions.
On macOS, however, due to Apple’s policies, this kind of direct control is largely not possible. As a result, processing has to be implemented through various workarounds. This can lead to situations where processing initially runs on performance cores and then, at some point, gets migrated to efficiency cores, causing issues such as unexpected performance drops or the inability to fully utilize the desired number of CPU cores.
That said, Waves Performer actually makes excellent use of 26 performance cores, so from that perspective it performs extremely well. Nevertheless, since I am not a developer, I have been trying for quite a long time to find a solution to the momentary CPU spike issue at times even leveraging AI tools in an effort to better understand and resolve the problem.