TROUBLESHOOTING
Buffer underruns & maximizing FL Studio performance
If your CPU or disk usage climbs too high you are likely to experience audio 'buffer underruns' as clicks or pops in the live sound from FL Studio. The good news is
that CPU and disk usage can be lowered considerably if you take the time to make some adjustments to the FL Studio Audio settings. The Audio Buffer is a
temporary store of audio waiting to be sent to the soundcard, allowing FL Studio to even out momentary spikes in CPU load. If the Audio Buffer runs dry, because your CPU or hard-drive can't keep up with the
'real-time' audio stream, then your Soundcard will make rude pop, click or stutter noises. It is worth noting that underruns can ONLY occur in real-time playback, they will not happen while exporting
to wave or mp3 file. If you do hear that sort of thing in an exported audio file, then it is likely a plugin behaving badly, check the plugin settings in that case.
Underrun Optimization
Underrun minimization may require some trial-and-error and should be conducted with a project 'typical' of your style playing. Your task is
to get the Buffer length as close as possible to 10 ms, with few or no new underruns added to the count. Note that you will almost always see some underruns (1-5 is typical), these mostly happen at startup. Similarly, the occasional underrun during a project is not
really a problem, but may indicate you are close to the minimum buffer size your PC can sustain with the current settings. Remember, underruns are only a problem if you notice them and they have
become distracting.
|
ASIO Soundcard Drivers (ASIO will appear in the name)
Open the Audio settings panel. Try the following steps, after each change, if the underrun count stops increasing, try to reduce the Buffer length
setting further. Your goal is to get the Buffer length as close to 10 ms (441 samples) as you can, with no, or few new underruns.
- Is it an underrun? If you hear pops or crackling sounds and your underrun count isn't increasing it may be a plugin behaving badly.
- One of the most important settings is to select an ASIO soundcard driver from the Input / output menu. Look first for an ASIO driver that installed with
your soundcard OR if one is not available use the generic ASIO4ALL driver. Whichever driver you use, download the latest from your soundcard
manufacturer or from www.asio4all.com
. NOTE: There is a
troubleshooting section for ASIO4ALL if you can't hear any sound using it.
- Click the Show ASIO panel button and adjust the Buffer length. Remember that as the Buffer length is increased, underruns decrease, but the delay between playing a MIDI keyboard, tweaking a knob
and the response of FL Studio also increases. The aim is to minimize the buffer size without causing buffer underruns. For ASIO drivers, settings of 1-4 ms (44-176 samples) are 'impressive' but unnecessary,
5-10 ms (220-440 samples) are 'excellent' and 11-20 ms (485-882 samples) are 'very good'. We recommend a 10 ms minimum setting.
- CPU options - Make sure the CPU options, Multithreaded generator processing, Multithreaded mixer processing and Smart disable are on. Be aware, that
some plugins (3rd party of course) don't like multi-core CPUs so these options can cause issues. Try all combinations of the switches if you have plugin trouble.
- Increase the audio thread 'Priority' setting to 'Highest'.
- Turn the 'Safe overloads' switch off. Safe overloads leaves some CPU over for the graphical display, we will sacrifice display smoothness for audio smoothness.
- Disable inactive plugins - Make sure the Audio Settings global option 'Smart disable' is on and also run the Tools > Macros > Switch smart disable for all plugins.
'Smart disable' turns off effects & instruments when they are not in use and so can decrease CPU usage significantly.
- Make sure the Mixer Interpolation is set to Linear and the sample rate is 48,000 Hz or less. Certainly don't exceed '6-point hermite'.
- Decrease polyphony of the instrument channels.
- Turn off 'Keep on disk' for Sampler and Audio Clip channels. This loads samples into memory which is faster.
- Record mixer channels to audio and disable the instruments feeding those mixer channels.
- Is your CPU running at full speed? Do you have some wimpy energy saving/CPU throttling
mode engaged. If you are serious about your music production then you will be prepared for, at least, some melting of the polar ice caps. See the Windows 'Start > Settings > Control panel > System &
maintenance*** > Power Options'. You want 'High Performance' mode. *** Whether or not this sub-menu shows depends on your windows settings.
- NOTE: If your Buffer length setting is greater than 50 ms and your CPU usage meter peaks over 80%, it's probably your computer is not fast enough to play the project.
Welcome to the never ending cycle of PC upgrades!
Standard Soundcard Drivers (if ASIO drivers don't work)
Open the Audio settings panel. Try the following steps, after each change, if the underrun count stops increasing, try to reduce the Buffer length
setting further. Your goal is to get the Buffer length as close to 10 ms (441 samples) as you can, with no, or few new underruns.
- Is it an underrun? If you hear pops or crackling sounds and your underrun count isn't increasing it may be a plugin behaving badly.
- You really did try to use an ASIO or ASIO4ALL soundcard driver didn't you? If not, work through the previous section. If you did and it failed, you really did work through the
ASIO4ALL troubleshooting section didn't you? If not try that first. If so please read on...
- Adjust the Buffer length setting. Remember that as the Buffer length is increased, underruns decrease, but the delay between playing a MIDI keyboard, tweaking a knob
and the response of FL Studio also increases. The aim is to minimize the buffer size without causing buffer underruns. For standard drivers, settings of 5-10 ms (220-441 samples) are 'cutting edge', 11-20 ms (485-882 samples)
are 'excellent' and 21-50 ms (926-2205 samples) are 'very good'.
- Make sure the CPU options, Multithreaded generator processing, Multithreaded mixer processing and Smart disable are on. Be aware, that
some plugins (3rd party of course) don't like multi-core CPUs so these options can cause issues. Try all combinations of the switches if you have plugin trouble.
- Increase the audio thread 'Priority' setting to 'Highest'.
- Turn the 'Safe overloads' switch off.
- Try each of the 4 possible combinations of the 'Use polling' and 'Use hardware buffer' switches. 4 combinations?
Two switches with two states (on/off) mean 4 possible combinations, try them all.
- Disable inactive plugins, turn on Tools > Macros > Switch smart disable for all plugins. This turns off effects & instruments when they are not in use and so decreases CPU
usage significantly.
- Make sure the Mixer Interpolation is set to Linear and the sample rate is 48,000 Hz or less. Certainly don't exceed '6-point hermite'.
- Decrease polyphony of the instrument channels.
- Turn off 'Keep on disk' for Sampler and Audio Clip channels. This loads samples into memory which is faster.
- Record mixer channels to audio and disable the instruments feeding those mixer channels.
- Is your CPU running at full speed? Do you have some wimpy energy saving/CPU throttling
mode engaged. If you are serious about your music production then you will be prepared for, at least, some melting of the polar ice caps. See the Windows 'Start > Settings > Control panel > System &
maintenance*** > Power Options'. You want 'High Performance' mode. *** Whether or not this sub-menu shows depends on your windows settings.
- NOTE: If your Buffer length setting is greater than 100 ms and your CPU usage meter peaks over 80%, it it's probably your computer is
not fast enough to play the project. Welcome to the never ending cycle of PC upgrades!
Reality Check
Obtaining the absolute lowest Buffer length settings is not a competition. If you are happy with 20 or 30 ms then that's great. Remember, the lower the buffer length setting, the higher the CPU load. We
recommend 10 ms (ASIO mode) as a good minimum setting, below this most people don't experience improved 'responsiveness' and the CPU load climbs rapidly. To put 10 ms in context, the delay between
pressing a key on a real piano and the hammer hitting the strings is in the order of 80 ms and the time taken for that sound to reach your ears is a further 3 ms, something to ponder.