PANELS

CPU & Memory Panel

The CPU & Memory Panel displays the CPU, polyphony & memory usage for the project. See the CPU Panel videos here.

Controls

  • CPU Meter - When this meter nears 100%, FL Studio's audio output will glitch or crackle, this is known as an underrun. The meter shows the percentage of time required to fill each audio buffer, compared to the buffers length. For example, 20% means FL Studio required only 20% of the buffers total duration to fill it with audio. 90% means FL Studio required 90% of the buffers duration to fill it with audio. Close to running out of time. Once FL Studio needs the same, or more time than is available, there will be gaps in the audio (glitches, stuttering etc). For tips on reducing CPU usage see the Optimization section. Right-click - To increase the refresh rate. To learn why the FL Studio CPU meter is not the same as the Operating System CPU meter see the section below on Multi-core CPU Processing.
  • Memory Meter - The options for this meter depend on which version of FL Studio you are using. NOTE: See the section 'RAM vs Address Space' below, it's important stuff! Memory address space is not RAM.
  • CPU Graph - Shows the CPU usage as a running graph, so that you can track changes and observe spikes. Right-click to change the update speed. NOTE: See the section 'multi-core CPUs' below.
  • Polyphony - Shows number of voices (independent sounds) being mixed at the same time. The Miscellaneous Channel Settings have some per-channel controls to set maximum polyphony.

RAM vs Memory Address Space

The values shown in the CPU panel are not your RAM, they are memory address space. The amount of physical RAM your PC has does not restrict how much memory programs can use. Adding more RAM to your PC does not give FL Studio more memory to work with. Each program is allocated working memory address space by the operating system, where data can be stored. 32 Bit programs max out at 4 GB per program. 64 Bit programs can access up to 8 TB per program. If there are 4 programs running, there could be 32 TB of memory allocated between them. As noted, the amount of RAM your PC has nothing to do with this number. But there is a catch:

Why we need RAM - If there is not enough RAM to hold the data in working memory data, the Operating System shares the available RAM among the active programs and makes up for any shortfall by putting the remaining data in a file, on your operating system disk/SSD drive as an extension to RAM. The more physical RAM you have, the more likely it is FL Studio will always win the RAM allocation 'lottery' and have all working data stored in RAM. As physical RAM is much faster than the hard-drive, FL Studio will be less likely to experience buffer underruns as audio data is read (slowly) off the SSD/disk. See a video on this topic here.

Why show 'available' memory for FL Studio 32 Bit and not FL Studio 64 Bit - As 32 Bit programs have access to 4 GB of memory, it's quite possible you will exceed that amount. In this case, available memory would drop to 0. If this happens FL Studio will probably crash or start behaving unpredictably, so it matters. FL Studio 64 Bit has access to 8000 GB. You will never use that much memory. It's not useful to know that you have 7936 GB available. So we show how much memory is used, so you can compare that to how much RAM you have. For the reasons discussed above, it'd best to see a memory figure less than your total RAM.

Multi-core CPU Processing

If you open the Windows Task Manager or macOS Activity Monitor, and examine the number of cores used and their relative loading, you may wonder why you sometimes experience audio glitches and CPU is nowhere near 100% and some cores may not be in use at all. What controls core assignment? - The Operating System Scheduler is responsible for the core assignment, not FL Studio. To complicate matters, logic dictates that many tasks can't be processed in parallel and so you can run out of CPU while it is no-where near 100% usage. Let's look at the FL Studio CPU meter vs the Operating System CPU meter in some more detail by considering Metrics, time and logic:

  1. Different metrics - The FL Studio CPU meter measures how quickly each audio-buffer is filled (Time taken to fill the buffer / Buffer length). The Operating System CPU meter measures overall CPU and core 'utilization'. Utilization is the portion of processing-slots on the CPU in use (Processing-slots filled / Processing-slots available). As the CPU has a finite number of 'slots' where code/threads can be processed, utilization is more about how close to maximum capacity the CPU was, not how quickly it was processing a given task (such as the FL Studio audio mix). Important to remember, we refer to this idea below. The two measures are related, since a CPU that can process a lot of tasks at once is probably able to fill the audio-buffer more quickly than one that can't. However, there's a lot more to audio processing than just parallel processing capacity. The two measures are not the same, even if they are both reported in percent! FL Studio's CPU meter is how quickly the buffer was filled, the operating system CPU meter is how close to slot-capacity the CPU is. That leads us to consider the ideas of time and logic.
  2. Time-scales - The FL Studio CPU meter is relative to the audio buffer size ~ 10 ms. The operating system CPU utilization meter works on a 1000 ms interval. The difference in time-scales around 100x. While the operating system CPU meter may show 30% utilization, over the last 1000 ms, there may have been multiple occasions during that period where real-time audio processing experienced interruptions. Why? If real-time audio 'Mixer threads' (packages of work for the CPU), have to wait on other threads to finish, because they can't be multi-threaded (processed at the same time), FL Studio may experience audio underruns, or at least very high FL Studio CPU meter readings. At the same time, Operating System may report low overall and or individual CPU utilization. The CPU could have done a lot more work than it did, if it had something else to do at the same time. The reality for audio processing is the CPU must often wait for program and system related tasks to complete before it can continue, and so, may struggle to keep up with the very high demands of realtime audio output (generating ~ 44100 samples per second, on an ongoing basis, without an interruption of a single sample, 0.02 ms). Just why the CPU must 'wait' is all to do with logic:
  3. The logic of audio processing - There is a long list of tasks that must be processed in sequence, and this means logically can't be processed in parallel (multithreaded). For example: Plugins must wait for instructions from the Piano roll and Playlist before they make sound. Effects must wait for the audio from upstream instruments and FX before they can process it. Further, it's not possible to parallel-process (multithread) instruments and FX that are on the same Mixer channel (their audio is mixed together), or even in the same Mixer routing pipe-line (when one Mixer track is linked to another and another, even FX processing has an order from top to bottom in the FX stack). Then, the Master Mixer track must wait for every instrument > mixer track > effect to be processed before it can process the audio through the Master effects. So logically, there is a lot of waiting that is a natural and unavoidable fact of DAW music processing. Think of a production line. This means the CPU may not be particularly busy, using all its cores and processing slots, yet it runs out of time to fill that tiny 5 ms audio-buffer because there was a lot of waiting for things that needed to be processed in sequence. It should be clear that fast processing is very important and this is not the same thing as multi-core processing. The best CPU is one that has enough cores to spread the work around AND can do the most work on a single core during each buffer time-slice. Which leads to our TIP: When comparing CPUs, look for the fastest single-core performance scores in a package with at least 4 physical cores. Most CPU benchmarks list single core performance. For example, the CPU Benchmark website lists the single core scores.

So what can you do to minimize 'CPU waiting' and improve multi-core performance? - Make sure that your highest CPU using plugins are routed to independent Mixer Tracks without shared 'Send' Channels. Each Mixer Track represents an 'opportunity' to create these independent, parallel, processing paths. In summary, here is how multi-threading works:

  1. Generators will be processed in multiple threads (if 'Allow threaded processing' is activated and the plugins allow it).
  2. Any Mixer tracks that don't depend on one another for audio input, can be processed at the same time, i.e. in multiple threads (if 'Allow threaded processing' is activated).
  3. Mixer tracks that depend on the output of other mixer tracks will be processed after those other mixer tracks and probably on the same core.

Testing - If you are testing and comparing CPU loads it is the number of plugins and/or effects that can be processed without buffer underruns. Don't obsess about how cores are used, particularly at low CPU levels, since the Scheduler will try to reduce power consumption by parking (switching off) cores at low CPU load, then turn cores on and even out this distribution as CPU load approaches 100%. See some more information here.

See the tutorial video here.

FL Studio 64 Bit Memory Management

To use the 64 Bit version of FL Studio, run the ..\FL Studio\FL64.exe executable file. We recommend using the 64 Bit version of FL Studio if you have made the switch to a 64 Bit VST library and or you have projects using more than 4 GB.

  • Memory - You can use up to 512 GB depending on your version of 64 Bit Windows without any bridging or other work-arounds as used in the 32 Bit version of FL Studio (shown in the section above).
  • Audio file size - This release will not allow you to record or load a single audio file (nor will Edison) that exceeds 2 GB.
  • 32 Bit bridge - FL Studio 64 Bit will automatically 'bridge' 32 Bit plugins. Bridging loads the 32 Bit plugin in a special 'wrapper' that translates between the 32 Bit and 64 Bit memory standard of the plugin and host (FL Studio).

    NOTE: - Ideally you should restrict use of 32 Bit plugins to FL Studio 32 Bit and 64 Bit plugins to FL Studio 64 Bit. In practice we know this isn't always possible, but keep in mind that bridging adds a small CPU load and the bridge can be another point of failure where a plugin can crash. If you have trouble with a 32 Bit bridged plugin, please report it to Tech Support and try to use the 64 Bit version if one is available.

NOTE: You must be using Windows 64 Bit to run FL64.exe. The 64 Bit executable is installed to '..\Program Files (x86)\Image-Line\FL Studio\FL64.exe' rather than '..\Program Files\Image-Line\FL Studio\FL64.exe' as is usually the case for 64 Bit programs.

FL Studio 32 Bit Memory Management

If you are using the 32 Bit version of FL Studio, the options below will allow you to use more than 4 GB of memory, according to your Windows version:

1. Remove samples & instruments from FL Studios memory allocation

'Keep on disk' and 'Bridged mode' will significantly lower the memory required by FL Studio. Together they will allow you to run projects to the limits of your PC's capability and operating system (32 or 64 Bit).

  • Keep on disk - Open large Audio Clips and/or Sampler Channels and select 'Keep on disk' located on the 'SMP' tab. To automatically 'Keep on disk' select 'Auto keep long audio on disk' on the F10 General Options, save then re-load your project. NOTE: The sample data must be 16 or 32 Bit format for the 'Keep on disk' option to be available. When selected the maximum memory available to each Audio Clip / Sampler Channel will be 2 GB.
  • Bridged mode for VSTs - Open the Wrapper PROCESSING tab and select the 'Bridged' option. Bridging moves the plugin, along with its memory requirements, to a separate process from FL Studio. The maximum memory available to the plugin will be at least 2 GB for 32 Bit Windows and up to 8 TB depending on your version of 64 Bit Windows. This mode is most beneficial for samplers and/or ROMpler plugins that consume large amounts of memory loading their sample-banks.

    NOTE: Ideally you should restrict use of 32 Bit plugins to FL Studio 32 Bit and 64 Bit plugins to FL Studio 64 Bit. In practice we know this isn't always possible, but keep in mind that bridging adds a small CPU load and the bridge can be another point of failure where a plugin can crash. If you have trouble with a 64 Bit bridged plugin, please report it to Tech Support and use the 32 Bit version if one is available.

2. Increase FL Studios working memory allocation (a Windows setting)

Increasing FL Studio working memory allocation - There is an 'FL.exe' file in the FL Studio installation directory. Using this to start FL Studio after making the following changes to your Windows operating system will give FL Studio access to 3 GB or 4 GB (up from 2 GB) depending on your OS:

  • Windows 10, 8, 7 & Vista - 64 Bit: FL Studio will automatically have access to 4 GB of RAM when the '..\Program Files (x86)\Image-Line\FL Studio\FL.exe' is used to start FL Studio.
      • 1. Make a Windows Desktop shortcut to the extended memory FL Studio executable '..\Program Files (x86)\Image-Line\FL Studio\FL.exe' and use that to start FL Studio in future.
  • Windows 10, 8, 7 & Vista - 32 Bit - Use the 3 GB switch to access 3 GB of RAM.
    • Enable the 3 GB switch:
      • 1. From Windows Start browse to Programs > Accessories and Right-click the Command Prompt file. Click 'Run as Administrator'.
      • 2. In the Command prompt window, type bcdedit /set IncreaseUserVa 3072 and press enter on your keyboard. Allow the change to be made when security windows appear.
      • 3. Restart the computer.
      • 4. Make a Windows Desktop shortcut to the extended memory FL Studio executable '..\Program Files\Image-Line\FL Studio\FL.exe' and use that to start FL Studio in future.
    • Disable the 3 GB switch:
      • 1. From Windows Start browse to Programs > Accessories and Right-click the Command Prompt file. Click 'Run as Administrator'.
      • 2. In the Command prompt window, enter bcdedit /deletevalue IncreaseUserVa and press enter on your keyboard. Allow the change to be made when security windows appear.
      • 3. Restart the computer.
      • 4. Remember to use the original FL Studio executable '..\Program Files\Image-Line\FL Studio\FL.exe' in future.
  • Windows XP 32 Bit - Use the 3 GB switch in XP to access 3 GB of RAM.

NOTE: From FL Studio 11 onward the 'FL (extended memory).exe' has been renamed 'FL.exe' and is the default executable after installation.

3. Use the FL Studio 64 Bit version

Open the ..\FL Studio\FL64.exe executable file and load your project. The 64 Bit version of FL Studio has no memory limitations, apart from those that apply to 64 Bit Windows. 32 Bit plugins will be automatically bridged to 64 Bit, although we recommend using 64 Bit versions of plugins in the 64 Bit version of FL Studio, where possible. NOTE: If you are using Windows 32 Bit then FL Studio 64 Bit won't run on your computer.