All Uhbiks are oversampled between 2x and 8x internally to achieve a certain level of quality. To make this usable in the realm of VST/AU their dsp parts as well as the upsampling/downsampling sections are coded with a method that entirely compiles to vectorized SSE on Intel, AltiVec on PowerPC (even though we don't support PPC anymore). As this requires assembly level development, and as assembly level is not available for RE development, we had to make the same code compile to standard serial instructions for RE.TheoM wrote:Is it that uhbik analog code is so high quality that other RE simply aren't as high quality? I for example never imagined a flanger using so much CPU (but uhbik f does sound ridiculously warm).
Now, in theory, a compiler can restructure this code easily and generate vectorized SSE optimized code. I doubt though that the compiler used by Propellerheads does this automatically, and so it would appear that the result will be up to 4 times slower.
As for mathematical functions… all common programming languages come with a set of mathematical functions such as sin(), cos(), exp(), log(). These are generally considered too slow for realtime processing. Hence we have written our own versions of those, which are approximations. They are good enough for tuning oscillators and stuff, and extremely fast. I presume that if the RE SDK 2.0 provides implementations of those that's certainly good for some developers, but it won't help in our case.
- Urs
