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 crackling sounds and your underrun count isn't increasing it may be a plugin behaving badly.
Choose an ASIO soundcard driver if possible from the Input / output menu. Start with any native ASIO drivers for your soundcard or use ASIO4ALL if they are not available.
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 'cutting edge' and 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.
Make sure the Mixer Interpolation is set to Linear and the sample rate is 48,000 Hz or less.
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.
Download the latest ASIO drivers from your soundcard manufacturer. We recommend sticking with the native ASIO drivers and only trying
alternatives if you experience problems with them.
In some cases the 3rd party www.asio4all.com drivers outperform native ASIO drivers and may resolve underrun issues.
NOTE: While ASIO4ALL works with most soundcards, it is a 'generic' ASIO driver, and so your experience may be different.
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'.
*** 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 may be simply be 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 crackling sounds and your underrun count isn't increasing it may be a plugin behaving badly.
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 Mixer Interpolation is set to Linear and the sample rate is 48000 Hz or less.
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.
Switch to ASIO mode (if supported by your soundcard). There is also 3rd party 'work-around' at a www.asio4all.com
that allows many non native ASIO soundcards to operate in ASIO mode. NOTE: While ASIO4ALL works with most soundcards, it is a 'generic' ASIO driver, and so your experience may be different.
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'.
*** 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 may be simply be 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.