Everything in software is trade-offs. In order to have predictability, you need constraints: You have to have certainty that a certain set of instructions will execute in an exact, predictable, repeatable amount of time.
Especially for audio processing. Locking down those limits gives you a rock solid "worse-case" scenario that gives you your playing field: "Even if I have 4 compressor blocks running at their most taxing settings, I know I've got this much room to work with for everything else".
The flexible "use whatever you want, in whatever configuration you want until the CPU maxes out" approach is
orders of magnitude more complicated. You have to the design the software in such a way that all your bits and pieces are very abstract and "black box" so that they can be re-arranged and duplicated and created anywhere. Which means in some things you end up with "lowest common denominator".
There are several (
massive imo) downsides to this approach for hardware units like Fractal. The design means you can't take advantage of low-level hardware optimizations because you have to be defensive and assume that any number of processing blocks could be active at any time. For example, imagine you have a hardware processor on a chip that has a fixed I/O and memory capacity and can process all 4 reverbs in real-time, but
can't process 5 reverbs at once.
You can now either:
- introduce a layer between your blocks and that reverb processor that utilizes the capacity in such a way that 5+ blocks gets equal share of the reverb processing resources, introducing latency, vastly increasing software complexity, and possibly introducing artifacting if the software+hardware can't keep up with the processing demands, or
- limit the number of reverbs to 4, ensuring that those 4 reverbs get the absolute highest quality processing with the lowest latency, because you know the demands of those 4 blocks won't ever exceed the capacity of the hardware
This is just an example, but the point is that all software runs on hardware, which has limitations. Designing your software with those limitations in mind is the most predictable and efficient approach, and allows you to make guarantees.
The tradeoff is you lose flexibility. The benefits, though, are huge, and they stem from one primary characteristic:
reliability. Fractal units are predictable and have predictable performance. This decision on Fractal's part to limit what can be run feels arbitrarily restricting, but I guarantee you it's the core reason why so many top professionals have turned to Fractal for their live performance needs. Those constraints mean that:
- Fractal can guarantee the absolute highest quality, and
- Fractal hardware is predictable, and reliable.
Coming from 25+ years of professional software development experience, and 20 years of audio recording and live performance experience (for whatever either of those is worth), IMO this is 100% the correct decision on Fractal's part.
Another point to consider: Apple takes this exact approach with their products, for the most part. They control all the software, and all the hardware, and limit the hardware configurations so they can have predictable performance and consistent reliability and user experiences.
And they are the most valuable company in the world.