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 audio. The good news is that CPU and disk usage can usually be lowered considerably if you take the time to make some adjustments to the FL Studio Audio settings. Why does this happen? The Audio Buffer is a temporary store of audio waiting to be sent to the soundcard, this allows programs like 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.

Further information is available in the FL Studio Optimization YouTube playlist.

Underrun Optimization

Underrun minimization may require some trial-and-error and should be conducted with the typical sort of project you produce. Your goal is to get the Buffer length to around 10 ms (441 samples), with few or no new underruns added to the count. Failing that, up to 20 ms (882 samples) is a reasonable setting for most people. Note that you will almost always see some underruns (up to 20 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. We don't recommend setting the buffer lower than 10 ms (441 samples), CPU load increases sharply with very low buffer settings.

  1. 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. NOTE: In some cases underruns are not counted, particularly if you are using the Mix in buffer switch.
  2. 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.

  3. 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 (441 samples) minimum setting.
  4. 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.
  5. Increase the audio thread 'Priority' setting to 'Highest'.
  6. Disable 'Reset plugins on transport' this can cause significant glitching on start/stop events.
  7. Turn the 'Safe overloads' switch off. Safe overloads leaves some CPU over for the graphical display, we will sacrifice display smoothness for audio smoothness.
  8. Make sure you are not bridging plugins - Are you using FL Studio 64 Bit? Did you update all your plugins to 64 Bit? If not, it's likely 32 Bit plugins are being bridged to 64 Bit mode, this uses more CPU than 32 Bit plugin on FL Studio 32 Bit or 64 Bit plugins on FL Studio 64 Bit. It's about 2% extra per plugin, so a couple won't matter but 10+ definitely will. So, make sure to install 64 Bit versions of ALL plugins you are using and try again OR keep using FL Studio 32 Bit for older projects. For more details see FL Studio 32 vs 64 Bit FAQ
  9. 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.
  10. 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.
  11. Try Mix in buffer switch - The option allows some soundcards to reach lower latencies however it can make underruns more audible and bypasses the underrun counter.
  12. Try Triple buffer - This can be particularly effective when pushing the CPU towards 100%. It does however effectively double the set latency.
  13. 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' if your CPU is struggling with a project.
  14. PPQ setting - The PPQ setting sets the time resolution for the current project. Settings above 192 PPQ can have a significant impact on CPU load. Set to 96 PPQ unless you need the extra resolution.
  15. Decrease polyphony of the instrument channels.

  16. Turn OFF 'Keep on disk' for any Sampler and Audio Clip channels. This ensures samples are pre-loaded into memory avoiding underruns caused by hard-disk overloads.

  17. Record mixer channels to audio and disable the instruments feeding those mixer channels.

NOTE: If your Buffer length setting is greater than 50 ms (2250 samples) 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. We don't recommend setting the buffer lower than 10 ms (441 samples), CPU load increases sharply with very low buffer settings.

  1. 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.
  2. 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...
  3. 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-40 ms (926-1764 samples) are 'very good'.
  4. 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.
  5. Follow all steps (under the ASIO section) above for which there are options available under the Standard Soundcard Driver...

NOTE: If your Buffer length setting is greater than 100 ms (4410 samples) 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.