|
CPU maxed out? Freezing? Sputtering? Read here!
|
View this Thread in Original format
| DigiNut |
Alright, let's have at it. This question gets asked almost every day but the discussion is too long-winded to answer in the FAQ - hence the reason for this thread.
I'll start with what I'm ostentatiously going to call DigiNut's First Law of Home Studio Production:
No matter how fast or expensive your computer is, you WILL, eventually, some day, exceed its processing capability while working on a track.
That's great, you say. I already knew that, butthead. What am I supposed to DO about it? Don't worry, I'm getting to that.
The very first thing you need to do is remind yourself that even if you use an "all-software studio", there is still one piece of hardware in it: your computer. And like any piece of hardware, it has hard limitations. Those limitations may not be as clear-cut as, say, the number of channels on your mixer, or the polyphony limit on a rack synth, but they still exist in the more general form of "the amount of stuff I can do at once".
With that in mind, understand that going out and buying the hottest new PowerMac on the market won't solve your problem. Sure, it may raise the aforementioned limit, but it won't eliminate it altogether. There are many more ways to deal with CPU limits than buying a new computer that are both far more effective and far less expensive, and without further ado, here they are!
In order of priority
1. Bounce instruments to audio!
People who use a lot of studio hardware are probably more familiar with this one because they are constantly having to deal with the limitations of that hardware. I've noticed that many people who produce only with software refuse to take this suggestion seriously, even though it is ten times faster and simpler when using software.
The most common excuses I hear for refusing to do this are:
- "But I might want to change something later!"
> Sure, you might. No one is telling you to delete the original MIDI sequence. Just render the output of your VST/AU/etc. to audio and turn off the instrument! When you need to add or change something later, just turn it back on and re-render the 10 seconds you added or changed, and splice it into the original rendered audio. Simple!
- "But it takes forever!
> Sure, it takes forever because you waited until you were already maxing out your CPU before you even thought about doing it. Rendering at "full load" takes more than 5 times as long as rendering with a light CPU load (trust me, I've tested this and I'm not exaggerating). If you bounce as you progress with the track and make it into a habit, you'll never have to sit around waiting for more than 10 or 20 seconds.
I don't care what your excuse is. This is by far the most effective solution to any CPU problems and most importantly it costs you nothing. What's more, if you have a bunch of effects on the instrument that are also sucking up CPU cycles, you can turn off all those effects after rendering as well. It's a win-win situation, so just do it!
2. Ditch the onboard audio
Many if not most new motherboards hype up their fancy-pants "integrated 6-channel audio", and every single one of them blows chunks. These "AC '97" chips and other onboard sound devices are beyond crap, and it's not just because of their inefficiency. Many of them also distort the audio signal hideously, to the point where your $800 studio monitors are completely useless because the sound that's getting fed into them is not even close to what it should be.
If you don't have a real sound card, get one right now. They're not expensive. M-Audio Audiophile, SB Audigy, SB X-Fi, E-mu 1616/1820, MOTU PCI-424, it really doesn't matter as long as it's got a low-latency ASIO driver, and almost every new sound card does. And don't you dare ask "which is the best sound card" - read the FAQ.
3. Use your sound card's ASIO driver!
This seems like common sense, but I've actually seen people who have spent $500 or more on the best sound cards/sound modules money can buy and have their sequencer set to use the DirectX driver, or some software-emulated ASIO driver (i.e. that one that ships with Cubase). If you're not actually using the vendor's ASIO driver (or a decent substitute like ASIO4all) then you've wasted your money!
And if you're not sure how to install the proper drivers or change the audio output settings in your sequencer, please, RTFM. Don't ask that question here.
4. Raise the ASIO latency
I know, we'd all like to have our latency set to 1 millisecond so we can record in real time with perfect accuracy. It's just not going to happen. When sound module manufacturers advertise that their product has "zero latency", that usually means under ideal conditions with say, 1 or 2 instrument playing. That figure is not practical - almost nobody gets away with < 10 ms latency, and most people (including myself) have to set it at 50 or above to get reasonably good performance. You can always temporarily lower the latency and turn off the other instruments in order to do realtime recording, but I find that 50 ms is adequate for that task anyway.
Zero latency means zero buffer, which means that you're going to hear skips and stutters with every single spike in CPU usage - raising the latency gives you some additional headroom.
5. Use Send (Auxilliary) effects and group channels
Don't put a separate reverb or delay line on every single track. It's completely unnecessary. Even EQ settings can be CPU-optimized with proper routing.
Virtually every sequencer offers *some* aux effect and grouping capability. If an effect is "wet only" (most often reverb or delay, but there are others) then you should be putting just ONE instance of said effect on an auxilliary channel, setting it to 100% wet, and routing a copy of each of your affected tracks to it using Sends. You can put reverb or other effects on an umlimited number of tracks this way without using any extra CPU. Even if you use different reverbs for different instruments, chances are you can lay everything out using two or three aux reverbs.
If you're using stereo expanders, filters, parametric EQ, etc., those can't be used with Send FX. However, if you're using the exact same EQ settings on two instruments, don't waste CPU cycles by putting a separate EQ on both of them; create a routing group for both of them and EQ the routing group!
6. Preview your track on low(er) quality
If you're using software, you should optimize your real-time record/play settings for performance, not quality. For example:
- Lower the polyphony on your instruments/effects. If you're only ever using 3-4 voices on an instrument, your polyphony (max. voices) doesn't need to be set to 24. This setting alone can eat up tons of precious CPU cycles, and many people don't even realize it exists. Pay attention to it!
- Lower the sampling rate in your sequencer. Don't lower it to 22 kHz, but 44 kHz is sufficient for the previewing stage. You can raise it up to 48 or 96 or 192 kHz when you're ready to perform the final mixdown/master. If you record or bounce individual audio tracks at 96 kHz, you can easily save a second copy of this audio at 44 kHz and replace it with the "high-quality" version later on.
- Lower the bit resolution of your sequencer and audio clips. Similar to the above, you don't need to use 24 or 32 bits right from the outset. Set your sequencer to play at 16 bits, and if you have clips recorded at those high resolutions, use 16-bit copies of them until you're finished with the sequencing and mixing. Also, if you're using any samplers or sample-based synths, set their bit rates to 16-bit as well!
- If your instrument/effect has a quality setting, set it as low as it can go. z3ta+, for example, which is one of the biggest CPU hogs, will allow you to set the rendering quality to "draft", which can drastically reduce the processing power it requires. Many other plugins will allow you to do this as well. You can raise the quality setting again for the final mixdown/master.
7. Keep your computer clean
If your computer is full of viruses, spyware, or other harmful or unnecessary programs, it's going to slow down. Again, common sense.
If your computer is completely cut off from any public network then you don't need to worry about this (just don't install any more programs than you really need). Otherwise, you should have some proper anti-virus software like Symantec Anti-Virus or Avast, and some decent spyware search/removal tools such as Ad-Aware from Lavasoft or Spybot Search & Destroy.
If you're running Windows, you should also turn off any unnecessary services. I can't tell you precisely what these are since it will depend on your individual configuration and what else you use the computer for, but what you can do is open up the service manager (go to Start->Run and type "services.msc"), look at which services say "Started", and type their names into google to see what they do and whether or not you can disable them. This is not a laborious process - usually the information you're looking for will be the first result that pops up. If a service isn't required, then stop it and set it to "Manual" or "Disabled" instead of "Automatic".
8. Network additional workstations
We're now moving out of the low-cost solutions and into the medium-cost. Rather than springing for a brand new computer, consider if you've got any OLD computers lying around, or enough spare parts that you can use to build one. Having two separate workstations is FAR more effective than a single dual-processor machine, and it is easier than you think to perform the load balancing. There are fairly low-cost and easy-to-use utilities like FX Teleport, or the VST System Link if you use Cubase. I know that there are equivalent products for Macs and for Logic Audio, Digital Performer, etc., although I don't remember their names offhand.
Even if you don't have an old PC sitting around, it's much more cost-effective to put $500-$1000 down on a new bare-bones entry-level PC than it is to blow $5000 on a brand-spanking-new production workstation.
9. Go hardware!
I personally have no hardware except for an Emu 1010 PCI card which is quasi-hardware. However, if you've already gone through all of the previous steps and they haven't helped you, then evidently you've exceeded the limits of a software studio.
Hardware synths obviously take up nearly zero CPU because the sequencer only needs to send them the MIDI data. There are also various reverb/delay modules, compressors and other mastering boxes that can easily perform the same tasks which eat up huge amounts of CPU when done in software. I'm not going to list them all here, I don't even know which ones are any good, but there are lots of useful links for that in the Master Tutorial List.
Hardware is expensive. But it's often still cheaper than a brand new workstation and there are many other advantages to owning it (resale value and boosted creativity/productivity come to mind).
10. Get another hobby
If you've tried all those things and are still having CPU problems, then I'm sorry to say that you're wasting your time with music production because you obviously have no clue what you're doing. I hear the local Wal-Mart is hiring part-time! ;) |
|
|
| armanivespucci |
Your wisdom strikes again.
Too bad people -still- don't read the stickies. |
|
|
| IDarkISwordI |
Hey. Another quality post. I'd say its all pretty accurate. One thing about FX units. Some of the most processor intensive FX are not the ones you think they should be. Reverb is of course going to hog a lot of processor but the parametric EQ requires tons and tons and tons of funtion calculations. The more points you have, the higher the number of calculations required to make the funtion displayed. My recomendation when youre EQing, turn off bands you arent using. If you only need a single boost or drop in a frequency range, set the resonance on it and turn off all the others. This will save you lots of processing power.
Cheers,
Zac |
|
|
| DigiNut |
Good advice Zac. FYI for everyone reading this, if you have your own tips feel free to add them; the original post should have all the basic information but it's of course not going to be all-encompassing. I just wanted to have *one* thread about CPU stuff that actually contains useful answers... in the vain hope that people won't start new threads about it. :)
If I see anything that I think I can fit into the first post, I'll edit it; if I don't include a particular tip, that doesn't mean I think it's wrong or useless, just that I'm not sure how or where to include it! |
|
|
| djbruuen |
i'm aware of most of the these tips...although great resource to hopefully eliminate the usual questions...heres a tip thats fairly cheap:
have a dedicated music harddrive! go to the local computer shop, buy a mobile rack for a second harddrive that installs into any front loading bay of your computer, secondly, buy an additional inner tray for the mobile rack. In the insert that comes with the mobile rack, use it as your every day computer harddrive...when you want to do music, disconnect the internet and pop in the dedicated music production harddrive...bamo, never worry about a virus! (just to be mr. obvious, only change hardrives where your computer is off! duh!!! :cool:
heres a question though! what is an efficient way to hook up two computers? |
|
|
| Dj Pyster |
Great topic, I love ur posts digi-nut, they get right to the point and they are very very informative.
when you say bounce instruments to audio, like in FLstudio for example, I open up a VST Instrument, then I create a melody, now when i bounce it to audio, does that mean render it to a .wav file and then use that file as a sample file? |
|
|
| IDarkISwordI |
| quote: | Originally posted by djbruuen
heres a question though! what is an efficient way to hook up two computers? |
Just two? If thats all, a crossover cable would be cheapest and most efficient. |
|
|
| djbruuen |
| ^ lol, how many computers do you use? if only i could afford more, but all my production money has gone to my monitors and soundcard...so it'll be awhile for bigger and better things. |
|
|
| IDarkISwordI |
| Lol, well you'd jsut have to see the 'computer graveyard' in the basement at my parents house :P. Before I moved out, there were 7 computers on the network. I did lots of stuff with 3D though and the more computers the better in that case :P. Course, counting all the computers in the graveyard, theres probably 30-40 computers down there. Working, just... decomissioned :P. |
|
|
| Thois |
| quote: | Originally posted by DigiNut
>Sure, you might. No one is telling you to delete the original MIDI sequence. Just render the output of your VST/AU/etc. to audio and turn off the instrument! When you need to add or change something later, just turn it back on and re-render the 10 seconds you added or changed, and splice it into the original rendered audio. Simple! |
Great tutorial, learned alot (especially about my ac97 sucking big time)
But the thing I quoted: You can't turn instruments of in FL Studio, when I click on the green little circle in front of an instrument it doesnt produce sound anymore, but it still keeps eating cpu...
Is it possible to really turn off instruments in other sequencers (CPU=0%)?
What about effects? Should you render the instrument with effects and turn them off later, or keep the fx on and render without fx?
Is it possible to turn of fx completely (cpu=0%) in fl? What about other sequencers?
Hmmmm sorry if i sound like a noob, lot of stupid questions i guess, but these are things í've asked myself lots of times in the past... |
|
|
| Storyteller |
yes it is possible in some, FL 4 compared with FL 5 has a huge difference already in cpu usage of plugs which are not begin used, I don't know what they've changed exactly, but working conditions are way better in fruity 5 for a friend of mine whom works on a lousy pc :).
Renoise is the only sequencer I know which actaully suspends VSTi's from using cpu when they don't generate a sound (which makes it super CPU efficient). I don't know if it also suspends effects though. It is able to bypass them (so they won't use CPU), but that has to be done manually. |
|
|
| Pillow One |
| quote: | Originally posted by Storyteller
yes it is possible in some, FL 4 compared with FL 5 has a huge difference already in cpu usage of plugs which are not begin used, I don't know what they've changed exactly, but working conditions are way better in fruity 5 for a friend of mine whom works on a lousy pc :).
Renoise is the only sequencer I know which actaully suspends VSTi's from using cpu when they don't generate a sound (which makes it super CPU efficient). I don't know if it also suspends effects though. It is able to bypass them (so they won't use CPU), but that has to be done manually. |
FLStudio has "Smart Disable" Option :) so every VST who dosent play or behing touched for few seconds freezes.. |
|
|
|
|