i ment Modern oscillatorbaconpaul wrote: Fri Apr 30, 2021 11:24 amWhich oscillator? Modern is a lot more cpu intensive than classic, but classic is unchanged. Unison in sine is about 4x faster in most cases.accessdune3 wrote: Fri Apr 30, 2021 7:14 am anyways, very cool update! i like the oscillator updates, tho i noticed the CPU on unison is drasticly increased, just playing few chords with 3 osc x8 unison my cpu is strugling.
Vember Audio Surge is now open-source
-
- Banned
- 252 posts since 14 Oct, 2020
- KVRAF
- 24414 posts since 7 Jan, 2009 from Croatia
Yep that's as expected then.
-
- KVRian
- 1213 posts since 25 Dec, 2018
yeah i have a plan for modern but it requires AVX as opposed to SSE extensions (the algorithm requires double precision at one spot so we can't do SSE unison alas). I didn't build in AVX support yet since we think we would have to do CPU version switching then - while we can assume SSE2 (a 2005 era CPU) AVX is a bit harder. Still debating. Anyway so as a result modern is 3 or 4x more CPU intensive than classic, and is also about as fast as you can go without recoding for AVX
- KVRAF
- 24414 posts since 7 Jan, 2009 from Croatia
Yes, it's planned for next release (Surge XT, not 2.0).
-
- Banned
- 252 posts since 14 Oct, 2020
I see. In my opinion going AVX route wouldnt hurt too much users since most if not all CPUS that came out later then the late 2011 have AVX support. Im sure there will be one or two who will say that are using older then 10 year old machines, but i really doubt they are the majority.baconpaul wrote: Sun May 02, 2021 8:05 pm yeah i have a plan for modern but it requires AVX as opposed to SSE extensions (the algorithm requires double precision at one spot so we can't do SSE unison alas). I didn't build in AVX support yet since we think we would have to do CPU version switching then - while we can assume SSE2 (a 2005 era CPU) AVX is a bit harder. Still debating. Anyway so as a result modern is 3 or 4x more CPU intensive than classic, and is also about as fast as you can go without recoding for AVX
Advanced Vector Extensions (AVX, also known as Sandy Bridge New Extensions) are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008 and first supported by Intel with the Sandy Bridge[1] processor shipping in Q1 2011 and later on by AMD with the Bulldozer[2] processor shipping in Q3 2011. AVX provides new features, new instructions and a new coding scheme.
- KVRAF
- 24414 posts since 7 Jan, 2009 from Croatia
I have the same feeling about it. I think we should go with AVX in XT.
-
- KVRer
- 3 posts since 29 Nov, 2020
I don't understand, you say that you can't do unison on SSE (the algorithm requires double precision at one spot so we can't do SSE unison alas), but you haven't built in AVX support now, so what does Modern oscillator run on now? And when you make AVX support what will change? Will it be faster, or will the quality of the oscillator improve?
- KVRAF
- 24414 posts since 7 Jan, 2009 from Croatia
Modern oscillator doesn't use SSE at all because of that double-precision part. That's why it needs more CPU than Classic, which uses SSE.
If we go AVX, we can expect better CPU efficiency for Modern oscillator (4 unison voices would cost the same as one unison voices), the quality of oscillator wouldn't change sound-wise.
If we go AVX, we can expect better CPU efficiency for Modern oscillator (4 unison voices would cost the same as one unison voices), the quality of oscillator wouldn't change sound-wise.
Last edited by EvilDragon on Mon May 03, 2021 9:38 pm, edited 1 time in total.
-
- Banned
- 252 posts since 14 Oct, 2020
Why xt? What does it stand for? What's the ETA?
- KVRAF
- 24414 posts since 7 Jan, 2009 from Croatia
Because it's a platform change (going from VSTGUI to JUCE), so it gets a new plugin ID and a new name. Hopefully sometime this Fall.
-
- KVRist
- 87 posts since 24 Jan, 2015
Platform change? So it's no longer a VST plugin? Sorry... kinda confused. Pretend I'm blond XDEvilDragon wrote: Mon May 03, 2021 7:12 pm Because it's a platform change (going from VSTGUI to JUCE), so it gets a new plugin ID and a new name. Hopefully sometime this Fall.
- KVRAF
- 24414 posts since 7 Jan, 2009 from Croatia
Platform as in "whatever we use to make it". It's still VST/AU and all that of course.
-
- KVRian
- 1213 posts since 25 Dec, 2018
yes modern is very carefully tuned C++ code but it isn't vectorized across unison voices, so 4 way unison does almost 4x the calculation of 1x unison. In, say, the new sine oscillator this is not true. We use SSE everywhere so we can calculate unison in parallel. Similarly all the filters are parallel across voice (so 1-4 voices use basically the same amount of filter cpu; as do 5-8. etc...)EvilDragon wrote: Mon May 03, 2021 5:33 pm Modern oscillator doesn't use SSE at all because of that double-precision part. That's why it needs more CPU than Classic, which uses SSE.
If we go AVX, we can expect better CPU efficiency for Modern oscillator (8 unison voices would cost the same as one unison voices), the quality of oscillator wouldn't change sound-wise.
but it would be a bit of a rewrite - will debate.
The reason to be hesitant on AVX is most shops have a switch based on cpu but that means writing everything twice. still debating what to do in XT
-
- KVRist
- 87 posts since 24 Jan, 2015
Thanks! Good to know it's still VST/AU and not some other kind of pluginEvilDragon wrote: Mon May 03, 2021 7:41 pm Platform as in "whatever we use to make it". It's still VST/AU and all that of course.
