October 2024: Fractal Audio's VP4 Virtual Pedalboard added to the wiki.

CPU usage

From Fractal Audio Wiki
Jump to navigation Jump to search

About CPU usage

A preset takes up CPU cycles (CPU is used here as a synonym to DSP). The amount depends on the number of blocks, effect settings, controllers, overhead and more. You can check the current CPU usage percentage on the hardware and in the software editor.

Due to the power of the different processors in the hardware, the Axe-Fx II has more CPU available in presets than the AX8 and FX8, while the Axe-Fx III has much more CPU available than the Axe-Fx II, FM9 and FM3.

Important: bypassing a block on the grid does NOT lower CPU usage. Switching a block between X/Y or changing channels may affect CPU usage, depending on the parameter values. Removing a block will decrease CPU usage.

There's a reason for the CPU ceiling and the way it works. Explanation

Even an empty preset uses CPU, depending on things such as the input noise gate settings and overhead.

“CPU usage number represents the amount of CPU dedicated to audio processing in real-time. We chose to display the actual limitation, rather than scale the number.” [1]

CPU usage is also covered in the Owners Manuals.

"Also on II the CPU usage increases when you play whereas on the III it more or less stays constant." [2]

What happens when the CPU limit is approached

When you approach the CPU limit of your processor, you’ll notice the GUI becoming very slow, while audio is still okay. That's because the audio signal gets the highest priority, above the GUI refresh rate.

When a preset requires too much CPU, audio starts to crackle and a warning message may appear. The GUI may prevent you from adding blocks at this point.

(Axe-Fx Standard/Ultra) “The audio processing is the highest priority thread. When there is time left the GUI thread is run. If CPU usage is high there simply isn't enough time to run the GUI at the normal refresh rate so the thread reduces the refresh rate.” [3]

(Axe-Fx II) “The CPU simply monitors the time between frame interrupts and if it predicts it doesn't have enough cycles left to process the next effect in the grid it aborts and flashes a warning." [4]

(Axe-Fx II) "Audio processing is the highest priority. Once you exceed 90% that remaining CPU is divided up between the display, expression pedals, MIDI, etc., etc. Something has to give." [5]

(Axe-Fx II) "The audio will always switch quickly. The display may take a while to switch since the audio processing takes priority. If CPU usage is high the display will take a little while to update." [6]

(Axe-Fx II) "The LCD is low priority. If CPU usage is high then the screen refresh rate drops because priority is given to the audio threads." [7]

"If your CPU usage is high the display may not update as rapidly due to thread starvation. This is especially true right after bootup due to background tasks running." [8]

High CPU usage doesn't the damage anything.

"The DSP won't get damaged if it overheats, it will just stop working. I've yet to see a unit overheat. Our products are overdesigned." [9]

CPU management

Axe-Fx III

CPU usage up to 80% is safe. Beyond that, the CPU meter on the hardware and in the editor will turn red as a warning.

FM9

CPU usage up to 80% is safe. Beyond that, the CPU meter on the hardware and in the editor will turn red as a warning and audio will be muted.

The Delay resp. the Reverb blocks on the FM9 run in dedicated DSP cores. When viewing a Delay or Reverb effect editing GUI screen on the FM9 hardware, a CPU meter will appear on the display if the cpu usage moves past 75%. As with the primary effects core, the recommended maximum cpu use value is 80% to ensure best performance.

Impulse responses (Cab block) are processed in an accelerator, apart from the Sharc+ cores.

FM3

CPU usage up to 80% is safe. If CPU usage gets too high, the audio will be muted and a warning appears.

The Delay blocks on the FM3 share a core DSP with amp modeling.

Impulse responses (Cab block) are processed in an accelerator, apart from the Sharc+ cores.

When importing presets created on the Axe-Fx III or FM9, Reverb is automatically set to Economic Quality, and IRs are set to Standard resolution.

FX8 and AX8

AX8.jpg FX8-mk2-top.jpg

The AX8 and FX8 allow you to put blocks into the grid that will push utilization above 88% (when not playing). When taking overhead into account, the real CPU ceiling is 90% (sustained).

When CPU usage gets above 90%, the FX8 and AX8 will automatically disable blocks. The firmware will look for effects which are the biggest offenders, starting with the last edited one. If disabling the last edited one does not reduce the load enough, big offenders are next. Usually the Reverb block (especially when set to High Quality) is the first to go. Switching Reverb to Normal Quality may help to regain CPU power.

When an effect is automatically disabled, audio passes through as if it were a shunt. If it’s a block that is placed in a parallel row, this can cause a signal level issue.

Note about the Pitch block: the Pitch block in the AX8 and FX8 is very sensitive to CPU load, far before the CPU limit is reached. So try to keep CPU usage low (below 60 - 70%) when using pitch effects.

Tip: when building presets, always add the most CPU-hungry effects first.

(AX8) "If I am reading these posts correctly, it sounds as though folks seem to think that an effects CPU usage is a static thing. That is, if I use a compressor in my preset it uses X% of the CPU. This is not actually how it works. CPU usage fluctuates as you use the device. That is, depending on what an effect is doing, or how it is configured, the CPU usage will vary dynamically. The AX8 monitors and manages the CPU usage. This is done for two reasons: (1) If CPU load gets too high, then the audio is effected (2) If CPU load gets too high, the front panel (footswitches primarily) is adversely effected. The performance of preset, scenes, effect bypass, etc. starts to become effected. A lot of development time has been put into reducing these effects, but it is impossible to eliminate them entirely. Rather than just allow the AX8 to behave in an undesirable fashion, the unit manages the CPU load by disabling effects. The biggest offenders are disabled first in an effort to reduce the number of disabled effects. This typically means the REVERB block is the first effect disabled. The trick is to build your presets in a manner in which this does not happen when you are playing live. In other words, test your presets out and give yourself some head room for last minute changes whenever possible." [10]

(AX8) "Lots of different parameters, controllers, etc. can cause variation in your CPU utilization. Also, playing your guitar will bump your CPU as well. So, if you are looking at the utilization while your input is quiet, then you should plan on a 2% - 3% increase when you start playing. The cutoff for CPU is 90%. This cutoff prevents audio glitches, and provides enough CPU for low priority activities." [11]

USB and CPU usage

Usb.png

Connecting via USB will increase CPU utilization. This is by design. If a preset uses much CPU, you may run into CPU overload problems when connecting the hardware to a computer through USB. [12] [13]

This does not apply to the Axe-Fx III, FM9 and FM3, because USB traffic is handled by a dedicated USB processor.

“The Axe-Fx III USB audio does not add CPU usage. It's handled by a separate processor.” [14]

(FM9) "USB is handled by a separate microcontroller (the same micro that the Axe-Fx III uses)." [15]

CPU usage per block and effect type

CPU usage management

  • Effect blocks — the number of effect blocks in the preset has a great impact on CPU usage. Note that a bypassed block uses the same CPU capacity as when engaged.
  • Amp block
    • adding a second Amp block in an Axe-Fx preset increases CPU usage slightly (one DSP is dedicated to Amp blocks).
    • using a Modifier on Input Drive increases CPU usage, because it'll constantly recalculate the network.
    • using OUT COMP and/or SPEAKER COMP increases CPU usage.
  • Cab block
    • switching a Cab block to Mono and/or another resolution decreases CPU usage.
    • when using more than one external IR in a mono rig: mix them into a single IR to avoid having to use a stereo Cab or two mono Cabs.
    • use a Normal/Standard IR instead of Ultra-Res of FullRes.
    • shorten an IR with the IR LENGTH parameter to decrease CPU usage.
    • muting IRs decreases CPU usage.
    • disable Room Reverb decreases CPU usage.
    • Preamp simulation uses more CPU in High Quality mode than in Economy mode.
  • Chorus — use less voices to decrease CPU usage.
  • Compressor
    • Fast RMS detector type in the Studio Comp uses less CPU than the other types.
    • Pedal types use less CPU than others.
    • Auto Attack/Release uses more CPU.
  • Controllers — reduce the number of attached controllers to decrease CPU usage.
  • Delay block
    • Diffusion increases CPU usage.
    • Disabling the compander saves CPU.
  • Drive block — set Clip Type to Numb to save CPU usage.
  • Effect types — some effect types use more CPU than others. Example: Studio Compressor type versus Pedal, and Hall versus Spring Reverb.
  • Filter — use a lower Order and Q to decrease CPU usage.
  • Input — switching off the noise gate in Input to decrease CPU usage.
  • Looper — disable the global Looper in the FX8 to decrease CPU usage.
  • Phaser — use less stages to decrease CPU usage.
  • Pitch — the Pitch block in the FX8 and AX8 has an Economy mode that decreases CPU usage.
  • Plex Delay — use less delays to decrease CPU usage.
  • Reverb
    • Lower Quality to decrease CPU usage.
    • Decrease Echo Density to decrease CPU usage.
    • Switch to Spring Reverb.
  • Shunts — minimize shunt blocks to decrease CPU usage. If you use parallel paths, try to merge the paths instead of routing them all the way to the end separately.
  • Synth — turn off voices which you don't use to decrease CPU usage.
  • USB — connecting USB increases CPU usage (not on Axe-Fx III and FM3).
  • X/Y or channels — use these instead of two instances of an effect block to decrease CPU usage.
  • Global EQ — disable these to save some CPU.

More tips from forum members

Wicked Wiki article