Helpful ReplyHow did Fabfilter make the EQ more efficient?

Author
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
2014/09/06 19:56:34 (permalink)

How did Fabfilter make the EQ more efficient?

How did Fabfilter make the EQ more efficient?:
 
"Highly improved CPU optimization: Pro-Q 2 uses less memory and is more than twice as efficient as its predecessor!"
 
Was it the EQ math? The eye candy graphical animation? Something else?
 
It seems to me that it would be hard to make a dsp EQ twice as inefficient as some other EQ, as long as you are comparing like to like conditions such as "natural phase" or "linear phase" mathematics.
 
This leaves me wondering; what was going on with the previous version of FF EQ that was not mentioned in the numerous reviews I have read? It leaves me wondering how/where/why Fab Filter was able to find so much opportunity for improvement while adding all sorts of features like extra poles (a.k.a. the new slope choices) and even slicker graphic features.
 
Anyone?
 
 
 


#1
drewfx1
Max Output Level: -9.5 dBFS
  • Total Posts : 6585
  • Joined: 2008/08/04 16:19:11
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/06 21:51:29 (permalink)
"CPU optimization" can mean the architecture/implementation, not the math/algorithm. 
 
See: http://en.wikipedia.org/wiki/SSSE3

 In order, then, to discover the limit of deepest tones, it is necessary not only to produce very violent agitations in the air but to give these the form of simple pendular vibrations. - Hermann von Helmholtz, predicting the role of the electric bassist in 1877.
#2
bitflipper
01100010 01101001 01110100 01100110 01101100 01101
  • Total Posts : 26036
  • Joined: 2006/09/17 11:23:23
  • Location: Everett, WA USA
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/06 22:27:04 (permalink) ☄ Helpfulby Mitch_I 2014/09/08 21:20:46
Optimization usually comes after the initial release and after thorough debugging and the trial by fire that is thousands of users banging away at it in unexpected ways. You don't typically optimize the first version heavily, as working right is more important than working efficiently, and optimizations are notorious for destabilizing code.
 
You really can't start optimizing until your algorithms are in place and rock solid. It's mostly a time-consuming job consisting of a great many tiny improvements, each of which might shave off only a couple microseconds or a few clock cycles, but in aggregate can accumulate into milliseconds. Once in awhile you find a way to make some routine way, way faster just by re-thinking its logic. If it's a low-level function that gets called often, the improvement can be dramatic.
 
Optimization usually doesn't involve changing algorithms, but rather making existing algorithms more efficient. Little things like using a rotate-right instruction instead of dividing by two, replacing functions with inline macros, using integer math where appropriate, or not checking a variable for validity in a loop once you're sure it'll always be valid. You can only do these things after you've achieved a high degree of confidence in the algorithms and have a good test suite to verify that the optimized version produces exactly the same results as before.
 
Some optimizations are as easy as updating your compiler. Compilers keep getting smarter about optimizing on the fly. So at least some of the speed-up could just come down to using a new compiler. 
 


All else is in doubt, so this is the truth I cling to. 

My Stuff
#3
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 08:23:28 (permalink)
Well then, I'm all for this CPU optimization stuff. ;-)
 
I imagine I'll be installing the latest FF Pro-Q 2 any day now. :-)
 
Thanks for the thought provoking answers.
 
 
 
 
post edited by mike_mccue - 2014/09/07 15:02:29


#4
Ruben
Max Output Level: -81 dBFS
  • Total Posts : 472
  • Joined: 2003/11/06 08:12:42
  • Location: Where they play the West Coast sound
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 13:16:26 (permalink)
Nice explanation, Bit.  

  
#5
bapu
Max Output Level: 0 dBFS
  • Total Posts : 86000
  • Joined: 2006/11/25 21:23:28
  • Location: Thousand Oaks, CA
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 13:21:05 (permalink)
smaller lines.
 
simples.
#6
Eddie TX
Max Output Level: -68 dBFS
  • Total Posts : 1104
  • Joined: 2012/08/15 11:47:42
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 18:32:53 (permalink)
Bit has given a good summary of what optimization entails.  It's a very complex field ... many books and advanced university courses are devoted to the subject, but it's not something that very many programmers are good at.  There's not a lot of software that ever gets optimized to a great degree, and there's no end point where you say it's done -- there's always some little-known trick that shaves another microsecond or two off an operation.  Thus, optimization efforts are never finished, only abandoned. 
 
Hmm, that reminds me of another process most of us are familiar with ... 
 
Anyway, the fact that Pro-Q's efficiency has been improved this much is a testament to the FF guys' programming skills.  They know what they're doing, for sure. 
 
Cheers,
Eddie
 

Sonar X3 Producer / Win 10 
The future exists in all directions.
#7
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 19:09:06 (permalink)
It seems like "optimization" should be a selling point, perhaps to justify a premium price, and not-yet-optimized might be considered not quite as good.
 
It would be nice to have a way to learn what is and isn't.
 
I have all the FF stuff. I think of it as ok, and I'll be buying the Pro-Q2 *just because*.
 
I hope they do some work on the sound and the curves of their Pro-C next. If they optimize it too then I'm gonna be giddy.
 


#8
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 19:09:06 (permalink)
dual mono post ^
 


#9
The Band19
Max Output Level: -47.5 dBFS
  • Total Posts : 2795
  • Joined: 2012/05/29 19:21:32
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 19:23:12 (permalink)
Focusing only on the parts that need fixing, and by keeping the weak out of tweaking. Now if they could only take the work out of twerking... You guys should really look in to Twin2 by FF (a sound design/synth tool) It's pretty cool too.
 
https://www.youtube.com/watch?v=Ir2mZnC51nw
 
post edited by The Band19 - 2014/09/07 19:30:11

Sittin downtown in a railway station one toke over the line.
#10
Eddie TX
Max Output Level: -68 dBFS
  • Total Posts : 1104
  • Joined: 2012/08/15 11:47:42
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 19:30:47 (permalink)
mike_mccue
It seems like "optimization" should be a selling point, perhaps to justify a premium price, and not-yet-optimized might be considered not quite as good.
 
It would be nice to have a way to learn what is and isn't.
 
I have all the FF stuff. I think of it as ok, and I'll be buying the Pro-Q2 *just because*.
 
I hope they do some work on the sound and the curves of their Pro-C next. If they optimize it too then I'm gonna be giddy.

 
The level of optimization can be inferred by seeing how much CPU is used by the plugin.  The fact that Pro-Q 2 uses very little CPU compared to similar products is certainly a selling point, at least for me.  There are many plugins that I'd use more often if only they were more efficient. 
 
I think it's a safe bet that Pro-C 2 will also get the full FF optimization treatment.  They've probably learned a lot from their efforts on Pro-Q.
 
Cheers,
Eddie
 
 
 
 

Sonar X3 Producer / Win 10 
The future exists in all directions.
#11
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 19:40:25 (permalink)
Infer is probably a good choice of words. It doesn't seem to me as if CPU meters actually imply anything so we are pretty much left to infer.
 
:-)
 
 


#12
The Band19
Max Output Level: -47.5 dBFS
  • Total Posts : 2795
  • Joined: 2012/05/29 19:21:32
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 19:41:12 (permalink)
As the teraflops increase, this becomes less of an issue. Moore's Law is on display in our techno oriented hobby/occupation on a yearly basis. And as such, "optimization" becomes less and less of an issue. If your CPU goes from 1% to 2%, did a tree really fall in the forest? I don't think it did. Look back a few years at having to type in "win" at the C: prompt? It's just getting faster and faster. And therefore, IMO, "optimization" is a footnote. It's like driving down the autobahn in the right lane with your blinker stuck on? People are going to come flying past you in the left lane @ 200+ mph...
 
Teraflops baby? Imagine your DAW only 100, or 1000 times faster? And with corresponding increases in memory and disk capacity and access speeds? Everything solid state, no moving parts? Everything in a RAID5 array, or whatever is next. Everything in the cloud, including VSTs, and your project "drive?" and your library "drive?" And your C: "drive?" Will optimization matter then? When you have a 10gigabit link to your home? I don't think it will.
post edited by The Band19 - 2014/09/07 19:45:54

Sittin downtown in a railway station one toke over the line.
#13
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 19:49:57 (permalink)
I wish Moore's law applied to sample buffer sizing on audio streaming drivers.


#14
The Band19
Max Output Level: -47.5 dBFS
  • Total Posts : 2795
  • Joined: 2012/05/29 19:21:32
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 20:00:11 (permalink)
Well it comes my friend, and it comes quicker than you think. When I was a teenager, home PCs were in their infancy? I remember loading "wordstar" and "calcstar" on my mothers "5,000 dollar PC" on 5.25 floppy disks, with her dot matrix printer? And it's increasing exponentially. I work for a service provider, and we struggle to keep up with demand. It gets hotter and faster every year. Capacity grows, speed increases, or more accurately, "speeds increase" content grows. It is a good thing for what we do, because again as I said? "Teraflops..." In a few more years, we will laugh at the us of today, worrying about CPU cycles. You'll put on your virtual reality glasses and sit down at your DAW which will be on your phone? And you'll manipulate things by moving your hands and or your eyes. We are in the midst of a revolution... It will be like the lawnmower man. Be thankful that you are here and part of it, in 10 years, you won't recognize it... Band in a box? "Band on your phone..." And a song in a few minutes (original) with you singing it? Or someone on the other side of the world. It's all changing "right now" before our eyes. 
 
I believe you'll choose to use virtual instruments "virtually?" You will choose to use effects "virtually" as you need them? They will be licensed on a per-use-basis. Rather than owning the software? You will choose to use it, per project. Then you will distribute that project and people will pay a small fee to enjoy it (a one time fee) and it will all be encrypted in such a way that it discourages sharing as is done today.
 
The future is content? And what I am describing is not new, but it's my take on what is coming. From someone who does "what we do?" And is in the IT field. I may be wrong? But this is what I see based on where I've been, where I am, and where I see us going.  (there will still be pirates matie...)
 
Don't look at where we are? Look at where we're going to be. (I'll accept being the author of that quote...) copyright, trademark 9/7/2014
post edited by The Band19 - 2014/09/07 21:02:29

Sittin downtown in a railway station one toke over the line.
#15
The Band19
Max Output Level: -47.5 dBFS
  • Total Posts : 2795
  • Joined: 2012/05/29 19:21:32
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 20:35:39 (permalink)
Look at where we're going to be...

Sittin downtown in a railway station one toke over the line.
#16
The Band19
Max Output Level: -47.5 dBFS
  • Total Posts : 2795
  • Joined: 2012/05/29 19:21:32
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/07 21:12:53 (permalink)
<<edit>>
post edited by The Band19 - 2014/09/08 21:31:54

Sittin downtown in a railway station one toke over the line.
#17
DeeringAmps
Max Output Level: -49 dBFS
  • Total Posts : 2614
  • Joined: 2005/10/03 10:29:25
  • Location: Seattle area
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 08:31:33 (permalink)
"I work for a service provider, and we struggle to keep up with demand."
You said it, not me.
Therein lies the Achilles heel in what you predict.
Its all about infrastructure; and we don't have enough.
Are we living in a "techno bubble" that will soon burst, much like real estate bubble?
Just sayin'...
Tom

Tom Deering
Tascam FW-1884 User Resources Page
Firewire "Legacy" Tutorial, Service Manual, Schematic, and Service Bulletins

Win10x64
StudioCat Pro Studio Coffee Lake 8086k 32gb RAM

RME UFX (Audio)
Tascam FW-1884 (Control) in Win 10x64 Pro
#18
bitflipper
01100010 01101001 01110100 01100110 01101100 01101
  • Total Posts : 26036
  • Joined: 2006/09/17 11:23:23
  • Location: Everett, WA USA
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 10:21:00 (permalink)
mike_mccue
It seems like "optimization" should be a selling point, perhaps to justify a premium price...

That probably won't happen, because buyers choose products on gut-level criteria. A thousand optimizations won't ever be as effective as one Dan Worrall video.
 


All else is in doubt, so this is the truth I cling to. 

My Stuff
#19
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 12:48:23 (permalink)
Don't get me started. That v2 video seemed like a flashback to 3rd grade show-n-tell, but I think I get your point.


#20
Kroneborge
Max Output Level: -65 dBFS
  • Total Posts : 1300
  • Joined: 2011/01/18 22:14:58
  • Location: Lompoc CA (near Santa Barbara)
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 13:46:25 (permalink)
Actually there is a lot of concern right now that in the next couple years Moors law might break.  We are starting to reach the limits of what is possible with silicon chips, once they start to get to the physical limits of smaller and smaller chips.
 
They are thinking right around 7nm is the limit, and we could hit that by 2020.
http://www.eetimes.com/document.asp?doc_id=1319330
 
After that we would need to switch to a new technology, maybe quantum computers or something.


Mathew

Hip Hop
http://www.soundclick.com...ault.cfm?bandID=213418

BreakBeats
http://www.soundclick.com...ault.cfm?bandID=219099

i7 12 gb ram, Komplete 5, Izotope Ozone & Stutter, Symphonic Orchestra Plat.


#21
Soundblend
Max Output Level: -76 dBFS
  • Total Posts : 726
  • Joined: 2011/08/15 14:01:14
  • Location: Norway
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 18:19:48 (permalink)
Moors Law, ehh, woot about this ;-)
D-wave quantum 
post edited by Soundblend - 2014/09/08 18:53:56
#22
dmbaer
Max Output Level: -49.5 dBFS
  • Total Posts : 2585
  • Joined: 2008/08/04 20:10:22
  • Location: Concord CA
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 18:39:04 (permalink)
The Band19
As the teraflops increase, this becomes less of an issue.  ... And therefore, IMO, "optimization" is a footnote. It's like driving down the autobahn in the right lane with your blinker stuck on? People are going to come flying past you in the left lane @ 200+ mph...



Great point.  Today's machines are fast beyond anything we could have imagined back in the 90s when PCs were just coming to become commonplace.  So a lot of software runs acceptably fast without a lot of effort spent on optimization.
 
Also, there's another factor.  Any piece of software, with rare exceptions, is going to spend an inordinate amount of time in a small percentage of the code.  5% of the code accounting for 80% or more of the cycles consumed is far from uncommon.  So optimization requires that the code base settle down before it's even worth optimizing in many cases.  In the case of FF, version one of Pro Q worked just fine speed-wise.  Given that much of the code was solid when they enhanced it to version two, they had something that was not a moving target, code that they code reliably analyze to see where the bulk of the  cycles were being consumed.
#23
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 19:09:42 (permalink)
I've got an instance of FF EQ in every track on my project. It'd be cool to find out if it's the graphics or the audio processing that is running twice as slow. A lot of times I forget to turn the animation graphics on, but when I do remember I like to use the Pre and Post combination because it's the fun one.
 
I wonder; if you leave the graphics on but close the VST window what happens to the graphics processing?


#24
bapu
Max Output Level: 0 dBFS
  • Total Posts : 86000
  • Joined: 2006/11/25 21:23:28
  • Location: Thousand Oaks, CA
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 20:43:03 (permalink)
mike_mccue
I have all the FF stuff. I think of it as ok, and I'll be buying the Pro-Q2 *just because*.

 
Uh oh, cclarry's goan be all over you like white on rice for THAT decision.
#25
bapu
Max Output Level: 0 dBFS
  • Total Posts : 86000
  • Joined: 2006/11/25 21:23:28
  • Location: Thousand Oaks, CA
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 20:44:42 (permalink)
mike_mccue
I wish Moore's law applied to sample buffer sizing on audio streaming drivers.


Dinty Moore's law is more stew.
#26
The Maillard Reaction
Max Output Level: 0 dBFS
  • Total Posts : 31918
  • Joined: 2004/07/09 20:02:20
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/08 20:53:24 (permalink)
Value packs, pop top lids, and a gift card for Costco in every garage.


#27
The Band19
Max Output Level: -47.5 dBFS
  • Total Posts : 2795
  • Joined: 2012/05/29 19:21:32
  • Status: offline
Re: How did Fabfilter make the EQ more efficient? 2014/09/09 19:06:30 (permalink)
I just loaded it up and it's pretty cool. It has some pretty powerful features, I look forward to learning how to use the analyzer and side-chain features better. Hats off to the boys at Fab. The frequency grab feature is pretty cool. I wish my ears and eyes were trained enough to take full advantage of such a powerful tool. I think one of the best ways to do this is to load up a copy of something you like and A/B them, stare and compare. Listen and look at the left channel, listen and look at the right, and the center. Both in stereo and M/S. It's pretty fascinating what you can hear, see and learn from pro mixes. 

Sittin downtown in a railway station one toke over the line.
#28
Jump to:
© 2024 APG vNext Commercial Version 5.1